Utenti, gruppi e autorizzazioni a livello di Network File System (NFS) - Amazon Elastic File System

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utenti, gruppi e autorizzazioni a livello di Network File System (NFS)

Alla creazione di un file system, per impostazione predefinita, solo l'utente root (UID 0) dispone delle autorizzazioni di lettura, scrittura ed esecuzione. Affinché gli altri utenti possano modificare il file system, l'utente root deve esplicitamente concedere loro l'accesso. È possibile utilizzare i punti di accesso per automatizzare la creazione di directory da cui un utente non root può scrivere. Per ulteriori informazioni, consulta Utilizzo dei punti di accesso.

Agli oggetti del file system EFS è associata una modalità in stile UNIX. Questo valore di modalità definisce le autorizzazioni per l'esecuzione di azioni su quell'oggetto. Gli utenti che hanno familiarità con i sistemi tipo UNIX possono comprendere facilmente come Amazon EFS si comporta rispetto a queste autorizzazioni.

Inoltre, sui sistemi in stile Unix, utenti e i gruppi sono mappati a identificatori numerici, che sono impiegati da Amazon EFS per rappresentare la proprietà dei file. Per Amazon EFS, gli oggetti del file system (ovvero file, directory e così via) sono di proprietà di un singolo proprietario e di un singolo gruppo. Amazon EFS utilizza il codice numerico mappato IDs per verificare le autorizzazioni quando un utente tenta di accedere a un oggetto del file system.

Nota

Il protocollo NFS supporta un massimo di 16 gruppi IDs (GIDs) per utente e gli eventuali gruppi aggiuntivi GIDs vengono troncati dalle richieste dei client NFS. Per ulteriori informazioni, consulta Accesso negato ai file consentiti sul file system NFS.

Di seguito sono disponibili esempi di autorizzazioni e una discussione sulle considerazioni sulle autorizzazioni NFS per Amazon EFS.

Esempi di casi d'uso e autorizzazioni del file system EFS

Dopo aver creato un file system EFS e aver montato le destinazioni per il file system nel tuo VPC, puoi montare il file system remoto localmente sulla tua istanza Amazon EC2. Il comando mount può montare qualsiasi cartella presente nel file system. Tuttavia, quando si crea il file system, è disponibile solo una cartella principale all'indirizzo /. L'utente root e il gruppo root sono proprietari della directory montata.

Il seguente comando mount monta la cartella principale di un file system Amazon EFS, identificato dal nome DNS del file system, sulla directory locale /efs-mount-point.

sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point

Le autorizzazioni iniziali attribuiscono:

  • autorizzazioni di read-write-execute per il proprietario root

  • autorizzazioni di read-execute per il gruppo root

  • autorizzazioni di read-execute per gli altri utenti

Solo l'utente root può modificare questa directory. L'utente root può anche concedere le autorizzazioni di scrittura su questa directory ad altri utenti, ad esempio:

  • Creare sottocartelle con possibilità di scrittura per gli utenti. Per step-by-step istruzioni, consulta. Tutorial: creazione di sottodirectory scrivibili per utente

  • Consenti agli utenti di scrivere nella directory principale del file system EFS. Un utente con privilegi di root può concedere ad altri utenti l'accesso al file system.

    • Per modificare la proprietà del file system EFS in un utente e un gruppo non root, utilizzare quanto segue:

      $ sudo chown user:group /EFSroot
    • Per modificare le autorizzazioni del file system per renderlo un po' più permissivo, utilizzare il seguente comando:

      $ sudo chmod 777 /EFSroot

      Questo comando concede read-write-execute i privilegi a tutti gli utenti su tutte le istanze EC2 su cui è montato il file system.

Autorizzazioni ID utente e di gruppo per file e directory all'interno di un file system

I file e le directory in un file system EFS supportano autorizzazioni di lettura, scrittura ed esecuzione standard in stile UNIX basate sull'ID utente e sul gruppo. IDs Quando un client NFS monta un file system EFS senza utilizzare un punto di accesso, l'ID utente e l'ID gruppo forniti dal client sono attendibili. È possibile utilizzare i punti di accesso EFS per sovrascrivere l'ID utente e il gruppo IDs utilizzati dal client NFS. Quando gli utenti tentano di accedere a file e directory, Amazon EFS controlla l'utente IDs e il gruppo IDs per verificare che ogni utente disponga dell'autorizzazione ad accedere agli oggetti. Amazon EFS li utilizza anche IDs per indicare il proprietario e il proprietario del gruppo per i nuovi file e directory creati dall'utente. Amazon EFS non esamina i nomi dell'utente o del gruppo, utilizza esclusivamente gli identificatori numerici.

Nota

Quando crei un utente su un'istanza EC2, puoi assegnare all'utente qualunque ID utente (user ID, UID) e ID gruppo (group ID, GID) numerico. Gli utenti numerici IDs sono impostati nel /etc/passwd file sui sistemi Linux. Il gruppo numerico IDs si trova nel /etc/group file. Questi file definiscono il mapping tra nomi e ID. Al di fuori dell'istanza EC2, Amazon EFS non esegue alcuna autenticazione di queste istanze IDs, incluso l'ID root 0.

Se un utente accede a un file system EFS da due diverse istanze EC2, a seconda che l'UID dell'utente sia lo stesso o diverso in quelle istanze, si riscontra un comportamento diverso, come segue:

  • Se gli ID utente sono gli stessi su entrambe le istanze EC2, Amazon EFS li considera come indicativi dello stesso utente, indipendentemente dall'istanza EC2 utilizzata. L'esperienza utente relativamente all'accesso al file system è lo stesso da entrambe le istanze EC2.

  • Se gli ID utente non sono gli stessi su entrambe le istanze EC2, Amazon EFS considera gli utenti come diversi. L'esperienza utente non è la stessa quando si accede al file system EFS da due diverse istanze EC2.

  • Se due utenti diversi su diverse istanze EC2 condividono un ID, Amazon EFS li considera come se fossero lo stesso utente.

Una gestione coerente delle mappature di ID degli utenti sulle diverse istanze EC2 dovrebbe essere presa in seria considerazione. Gli utenti possono controllare il loro ID numerico utilizzando il comando id.

$ id uid=502(joe) gid=502(joe) groups=502(joe)

Disattivare l'ID Mapper

Le utilità NFS del sistema operativo includono un demone chiamato ID Mapper che gestisce la mappatura tra i nomi utente e. IDs Su Amazon Linux, il daemon viene chiamato rpc.idmapd e su Ubuntu viene chiamato idmapd. Tale daemon traduce gli ID di utenti e gruppi in nomi e viceversa. Tuttavia, Amazon EFS opera solo con gli ID numerici. È consigliabile disattivare il processo sulle istanze EC2. Su Amazon Linux, di solito l'ID mapper è disabilitato; se lo è, non va abilitato. Per disattivare l'ID mapper, utilizzare i comandi riportati di seguito.

$ service rpcidmapd status $ sudo service rpcidmapd stop

No Root Squashing

Per impostazione predefinita, il root squashing è disabilitato sui file system EFS. Amazon EFS si comporta come un server NFS Linux con no_root_squash. Se un ID utente o di gruppo è 0, Amazon EFS considera tale utente come root e ignora le verifiche delle autorizzazioni (consentendo l'accesso e la modifica a tutti gli oggetti del file system). Il root squashing può essere abilitato su una connessione client quando la politica delle identità o delle risorse AWS Identity and Access Management (AWS IAM) non consente l'accesso all'azione. ClientRootAccess Quando il root squashing è abilitato, l'utente root viene trasformato in un utente con autorizzazioni limitate sul server NFS.

Per ulteriori informazioni, consulta Utilizzo di IAM per controllare l'accesso ai file system.

Abilita il root squashing utilizzando l'autorizzazione IAM per i client NFS

Puoi configurare Amazon EFS per impedire l'accesso root al tuo file system EFS per tutti i AWS principali ad eccezione di una singola workstation di gestione. A tale scopo è possibile configurare l'autorizzazione AWS Identity and Access Management (IAM) per i client NFS (Network File System).

A tale scopo è necessario configurare due policy di autorizzazione IAM, come riportato di seguito:

  • Creare una policy del file system EFS che consente esplicitamente l'accesso in lettura e scrittura al file system e rifiuta implicitamente l'accesso root.

  • Assegna un'identità IAM alla workstation di gestione Amazon EC2 che richiede l'accesso root al file system utilizzando un profilo di istanza EC2. Per ulteriori informazioni sui profili delle istanze di Amazon EC2, consulta Use instance profiles nella AWS Identity and Access Management User Guide.

  • Assegna la policy AmazonElasticFileSystemClientFullAccess AWS gestita al ruolo IAM della workstation di gestione. Per ulteriori informazioni sulle politiche AWS gestite per Amazon EFS, consultaGestione delle identità e degli accessi per Amazon EFS.

Per abilitare il root squashing root l'autorizzazione IAM per i client NFS, utilizzare le procedure seguenti.

Disattivazione dell'accesso root al file system
  1. Apri la console Amazon Elastic File System all'indirizzo https://console.aws.amazon.com/efs/.

  2. Seleziona File system.

  3. Scegli il file system su cui vuoi abilitare il root squashing.

  4. Nella pagina dei dettagli del file system, scegli Policy del file system, quindi scegli Modifica. Viene visualizzata la pagina Policy del file system.

  5. Scegli Impedisci l'accesso root per impostazione predefinita* in Opzioni di policy. L'oggetto JSON della policy viene visualizzato nell'editor delle policy.

  6. Scegliere Salva per salvare la policy del file system.

I client non anonimi possono ottenere l'accesso root al file system tramite una policy basata su identità. Quando si collega la policy gestita AmazonElasticFileSystemClientFullAccess al ruolo della workstation, concede l'accesso root alla workstation in base alla relativa policy di identità.

Per abilitare l'accesso root dalla workstation di gestione
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Creare un ruolo per Amazon EC2 chiamato EFS-client-root-access. IAM crea un profilo dell'istanza con lo stesso nome del ruolo EC2 creato.

  3. Assegna la policy AWS gestita AmazonElasticFileSystemClientFullAccess al ruolo EC2 che hai creato. Il contenuto di questa policy è mostrato di seguito.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientWrite", "elasticfilesystem:DescribeMountTargets" ], "Resource": "*" } ] }
  4. Collegare il profilo di istanza all'istanza EC2 che si sta utilizzando come workstation di gestione, come descritto di seguito. Per ulteriori informazioni, consultare la sezione relativa al collegamento di un ruolo IAM a un'istanza nella Guida per l'utente di Amazon EC2 per le istanze Linux.

    1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

    2. Nel riquadro di navigazione, scegliere Instances (Istanze).

    3. Seleziona l'istanza. In Actions (Operazioni), scegliere Instance Settings (Impostazioni istanza), e quindi scegliere Attach/Replace IAM role (Collega/Sostituisci ruolo IAM).

    4. Scegliere il ruolo IAM creato nella prima fase, EFS-client-root-access, e scegliere Apply (Applica).

  5. Installare l'helper di montaggio di EFS sulla workstation di gestione. Per ulteriori informazioni sull'EFS mount helper mount helper e sul amazon-efs-utils pacchetto, vedere. Installazione del client Amazon EFS

  6. Montare il file system EFS sulla workstation di gestione utilizzando il seguente comando con l'opzione di montaggio iam.

    $ sudo mount -t efs -o tls,iam file-system-id:/ efs-mount-point

    È possibile configurare l'istanza Amazon EC2 per montare automaticamente il file system con autorizzazione IAM. Per maggiori informazioni sul montaggio di un file system EFS con autorizzazione IAM, consulta Montaggio con autorizzazione IAM.

Caching delle autorizzazioni

Amazon EFS memorizza nella cache le autorizzazioni sui file per un piccolo intervallo di tempo. Di conseguenza, ci potrebbe essere una breve finestra temporale in cui un utente che aveva accesso a un oggetto del file system, ma il cui accesso è stato revocato di recente, può ancora accedere a quell'oggetto.

Modifica della proprietà degli oggetti del file system

Amazon EFS applica l'attributo POSIX chown_restricted. Questo significa solo l'utente root può modificare il proprietario di un oggetto del file system. Il root dell'utente proprietario può modificare il gruppo proprietario di un oggetto del file system. Tuttavia, a meno che l'utente non sia un utente root, il gruppo può essere modificato solo in un gruppo di cui sia membro l'utente proprietario.

Punti di accesso EFS

Un punto di accesso applica un utente del sistema operativo, gruppo e percorso del file system a qualsiasi richiesta di file system effettuata utilizzando il punto di accesso. L'utente e il gruppo per sistema operativo del punto di accesso sostituiscono le eventuali informazioni di identità fornite dal client NFS. Il percorso file system viene esposto al client come la directory radice del punto di accesso. Con questo approccio ogni applicazione utilizza sempre l'identità del sistema operativo corretta e la directory corretta durante l'accesso a set di dati basati su file condivisi. Le applicazioni che utilizzano il punto di accesso possono accedere ai dati solo nella propria directory e sotto a questa. Per ulteriori informazioni sui punti di accesso, consulta Utilizzo dei punti di accesso.