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à.
Configura lo storage da utilizzare con AWS Transfer Family
Questo argomento descrive le opzioni di archiviazione che è possibile utilizzare AWS Transfer Family. Puoi utilizzare Amazon S3 o Amazon EFS come storage per i server Transfer Family.
Configurazione di un bucket Amazon S3
AWS Transfer Family accede al tuo bucket Amazon S3 per soddisfare le richieste di trasferimento degli utenti, quindi devi fornire un bucket Amazon S3 come parte della configurazione del server abilitato al protocollo di trasferimento file. Puoi utilizzare un bucket esistente o crearne uno nuovo.
Nota
Non è necessario utilizzare un server e un bucket Amazon S3 che si trovano nella stessa AWS regione, ma consigliamo questa procedura come best practice.
Quando configuri i tuoi utenti, assegni a ciascuno di loro un ruolo IAM. Questo ruolo determina il livello di accesso che hanno al tuo bucket Amazon S3.
Per informazioni sulla creazione di un nuovo bucket, vedi Come si crea un bucket S3? nella Guida per l'utente di Amazon Simple Storage Service.
Nota
Puoi usare Amazon S3 Object Lock per impedire che gli oggetti vengano sovrascritti per un periodo di tempo fisso o indefinitamente. Funziona allo stesso modo con Transfer Family come con altri servizi. Se un oggetto esiste ed è protetto, non è consentito scriverlo o eliminarlo. Per ulteriori dettagli su Amazon S3 Object Lock, consulta Using Amazon S3 Object Lock nella Amazon Simple Storage Service User Guide.
Punti di accesso Amazon S3
AWS Transfer Family supporta Amazon S3 Access Points
Ad esempio, puoi utilizzare i punti di accesso per consentire a tre team diversi di accedere allo stesso set di dati condiviso, in cui un team può leggere i dati da S3, un secondo team può scrivere dati su S3 e il terzo team può leggere, scrivere ed eliminare dati da S3. Per implementare un controllo granulare degli accessi come indicato sopra, puoi creare un punto di accesso S3 che contenga una policy che fornisca un accesso asimmetrico a diversi team. Puoi utilizzare gli access point S3 con il tuo server Transfer Family per ottenere un controllo granulare degli accessi, senza creare una complessa policy sui bucket S3 che copra centinaia di casi d'uso. Per ulteriori informazioni su come utilizzare gli access point S3 con un server Transfer Family, consulta il post di blog Enhance data access control with AWS Transfer Family and Amazon
Nota
AWS Transfer Family attualmente non supporta punti di accesso multiregionali Amazon S3.
Comportamento di Amazon S3 HeadObject
Nota
Quando crei o aggiorni un server Transfer Family, puoi ottimizzare le prestazioni per le tue directory Amazon S3, eliminando le chiamate. HeadObject
In Amazon S3 bucket e oggetti sono le risorse primarie e gli oggetti sono archiviati nei bucket. Amazon S3 può simulare un file system gerarchico, ma a volte può comportarsi in modo diverso rispetto a un file system tipico. Ad esempio, le directory non sono un concetto di prima classe in Amazon S3, ma si basano invece su chiavi oggetto. AWS Transfer Family deduce il percorso di una directory dividendo la chiave di un oggetto con il carattere barra (/), trattando l'ultimo elemento come nome del file, quindi raggruppando i nomi di file che hanno lo stesso prefisso nello stesso percorso. Gli oggetti a byte zero vengono creati per rappresentare il percorso di una cartella quando crei una directory vuota utilizzando mkdir
o utilizzando la console Amazon S3. La chiave per questi oggetti termina con una barra finale. Questi oggetti a zero byte sono descritti in Organizing objects in the Amazon S3 console using folders nella Amazon S3 User Guide.
Quando esegui un ls
comando e alcuni risultati sono oggetti Amazon S3 a zero byte (questi oggetti hanno chiavi che terminano con il carattere barra), Transfer Family invia una HeadObject
richiesta per ciascuno di questi oggetti (consulta il riferimento all'API di Amazon HeadObjectSimple Storage Service per i dettagli). Ciò può causare i seguenti problemi quando si utilizza Amazon S3 come storage con Transfer Family.
Concedi la possibilità di scrivere ed elencare solo file
In alcuni casi, potresti voler offrire solo l'accesso in scrittura ai tuoi oggetti Amazon S3. Ad esempio, potresti voler fornire l'accesso per scrivere (o caricare) ed elencare oggetti in un bucket, ma non per leggere (scaricare) oggetti. Per eseguire mkdir
comandi utilizzando ls
i client di trasferimento file, devi disporre di Amazon S3 ListObjects
e PutObject
delle autorizzazioni. Tuttavia, quando Transfer Family deve effettuare una HeadObject
chiamata per scrivere o elencare file, la chiamata fallisce con un errore di Accesso negato, poiché questa chiamata richiede l'GetObject
autorizzazione.
Nota
Quando crei o aggiorni un server Transfer Family, puoi ottimizzare le prestazioni per le tue directory Amazon S3, eliminando le chiamate. HeadObject
In questo caso, puoi concedere l'accesso aggiungendo una condizione di policy AWS Identity and Access Management (IAM) che aggiunge l'GetObject
autorizzazione solo per gli oggetti che terminano con una barra (). /
Questa condizione impedisce GetObject
le chiamate ai file (in modo che non possano essere letti), ma consente all'utente di elencare e attraversare le cartelle. La seguente policy di esempio offre solo l'accesso in scrittura ed elenco ai bucket Amazon S3. Per utilizzare questa policy, sostituiscila
con il nome del tuo bucket.DOC-EXAMPLE-BUCKET
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListing", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "DenyIfNotFolder", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "NotResource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/" ] } ] }
Nota
Questa politica non consente agli utenti di aggiungere file. In altre parole, un utente a cui viene assegnata questa politica non può aprire file per aggiungervi contenuto o modificarli. Inoltre, se il tuo caso d'uso richiede una HeadObject
chiamata prima di caricare un file, questa politica non funzionerà per te.
Un gran numero di oggetti a zero byte che causano problemi di latenza
Se i bucket Amazon S3 contengono un gran numero di questi oggetti a zero byte, Transfer Family emette molte chiamate, il che può causare HeadObject
ritardi nell'elaborazione. La soluzione consigliata per questo problema è abilitare Optimized Directories per ridurre la latenza.
Si supponga, ad esempio, di accedere alla propria home directory e di disporre di 10.000 sottodirectory. In altre parole, il tuo bucket Amazon S3 ha 10.000 cartelle. In questo scenario, se si esegue il comando ls
(list), l'operazione list richiede dai sei agli otto minuti. Tuttavia, se si ottimizzano le directory, questa operazione richiede solo pochi secondi. È possibile impostare questa opzione nella schermata Configura dettagli aggiuntivi durante la procedura di creazione o aggiornamento del server. Queste procedure sono descritte in dettaglio nell'Configurazione di un endpoint server SFTP, FTPS o FTPargomento.
Nota
I client GUI possono emettere un ls
comando che sfugge al controllo dell'utente, quindi è importante abilitare questa impostazione, se possibile.
Se non riuscite o non riuscite a ottimizzare le vostre directory, una soluzione alternativa a questo problema consiste nell'eliminare tutti gli oggetti a zero byte. Tieni presente quanto segue:
-
Le cartelle vuote non esisteranno più. Le directory esistono solo perché i loro nomi sono nella chiave di un oggetto.
-
Non impedisce a qualcuno di chiamare
mkdir
e rompere nuovamente le cose. È possibile mitigare questo problema creando una politica che impedisca la creazione di directory. -
Alcuni scenari utilizzano questi oggetti da 0 byte. Ad esempio, hai una struttura come /inboxes/customer1000 e la directory della posta in arrivo viene pulita ogni giorno.
Infine, un'altra soluzione possibile è limitare il numero di oggetti visibili attraverso una condizione politica per ridurre il numero di chiamate. HeadObject
Affinché questa sia una soluzione praticabile, devi accettare il fatto che potresti essere in grado di visualizzare solo un insieme limitato di tutte le tue sottodirectory.
Configurazione di un file system Amazon EFS
AWS Transfer Family accede ad Amazon Elastic File System (Amazon EFS) per soddisfare le richieste di trasferimento degli utenti. Pertanto, è necessario fornire un file system Amazon EFS come parte della configurazione del server abilitato al protocollo di trasferimento file. Puoi utilizzare un file system esistente o crearne uno nuovo.
Tieni presente quanto segue:
-
Quando utilizzi un server Transfer Family e un file system Amazon EFS, il server e il file system devono trovarsi nello stesso sistema Regione AWS.
-
Non è necessario che il server e il file system appartengano allo stesso account. Se il server e il file system non si trovano nello stesso account, la politica del file system deve fornire un'autorizzazione esplicita al ruolo utente.
Per informazioni su come configurare più account, consulta Gestione degli AWS account nell'organizzazione nella Guida per l'AWS Organizations utente.
-
Quando configuri i tuoi utenti, assegni a ciascuno di loro un ruolo IAM. Questo ruolo determina il livello di accesso che hanno al tuo file system Amazon EFS.
-
Per dettagli sul montaggio di un file system Amazon EFS, consulta Mounting Amazon EFS file system.
Per ulteriori dettagli sulla collaborazione con AWS Transfer Family Amazon EFS, consulta Using AWS Transfer Family to access files in your Amazon EFS file system nella Amazon Elastic File System User Guide.
Proprietà dei file Amazon EFS
Amazon EFS utilizza il modello di autorizzazione dei file POSIX (Portable Operating System Interface) per rappresentare la proprietà dei file.
In POSIX, gli utenti del sistema sono classificati in tre classi di autorizzazione distinte: quando consenti a un utente di accedere ai file archiviati in un file system Amazon EFS utilizzando AWS Transfer Family, devi assegnargli un «profilo POSIX». Questo profilo viene utilizzato per determinare il loro accesso a file e directory nel file system Amazon EFS.
-
Utente (u): proprietario del file o della directory. Di solito, il creatore di un file o di una directory ne è anche il proprietario.
-
Gruppo (g): insieme di utenti che necessitano di un accesso identico ai file e alle directory che condividono.
-
Altri (o): tutti gli altri utenti che hanno accesso al sistema ad eccezione del proprietario e dei membri del gruppo. Questa classe di autorizzazione viene anche chiamata «Pubblica».
Nel modello di autorizzazione POSIX, ogni oggetto del file system (file, directory, link simbolici, named pipe e socket) è associato ai tre set di permessi precedentemente menzionati. Agli oggetti Amazon EFS è associata una modalità in stile UNIX. Questo valore di modalità definisce le autorizzazioni per l'esecuzione di azioni su quell'oggetto.
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 sono di proprietà di un singolo proprietario e di un singolo gruppo. Amazon EFS utilizza questi ID numerici per controllare le autorizzazioni quando un utente cerca di accedere a un oggetto del file system.
Configurazione degli utenti Amazon EFS per Transfer Family
Prima di configurare gli utenti Amazon EFS, puoi eseguire una delle seguenti operazioni:
-
Puoi creare utenti e configurare le loro cartelle home in Amazon EFS. Per informazioni dettagliate, vedi Configurazione degli utenti Transfer Family su Amazon EFS.
-
Se ti senti a tuo agio nell'aggiungere un utente root, puoi farloCrea un utente root Amazon EFS.
Nota
I server Transfer Family non supportano i punti di accesso Amazon EFS per impostare le autorizzazioni POSIX. I profili POSIX degli utenti di Transfer Family (descritti nella sezione precedente) offrono la possibilità di impostare i permessi POSIX. Queste autorizzazioni sono impostate a livello di utente, per un accesso granulare, in base a UID, GID e GID secondari.
Configurazione degli utenti Transfer Family su Amazon EFS
Transfer Family mappa gli utenti all'UID/GID e alle directory specificate. Se gli UID/GID/directory non esistono già in EFS, è necessario crearli prima di assegnarli in Transfer a un utente. I dettagli per la creazione di utenti Amazon EFS sono descritti in Lavorare con utenti, gruppi e autorizzazioni a livello di Network File System (NFS) nella Amazon Elastic File System User Guide.
Passaggi per configurare gli utenti Amazon EFS in Transfer Family
-
Mappa l'UID e il GID EFS per il tuo utente in Transfer Family utilizzando i
PosixProfile
campi. -
Se desideri che l'utente inizi in una cartella specifica al momento dell'accesso, puoi specificare la directory EFS sotto il
HomeDirectory
campo.
È possibile automatizzare il processo utilizzando una CloudWatch regola e una funzione Lambda. Per un esempio di funzione Lambda che interagisce con EFS, consulta Using Amazon EFS for AWS Lambda in your
Inoltre, puoi configurare le directory logiche per gli utenti di Transfer Family. Per i dettagli, consulta la Configurazione di directory logiche per Amazon EFS sezione dell'Utilizzo di directory logiche per semplificare le strutture di directory Transfer Familyargomento.
Crea un utente root Amazon EFS
Se la tua organizzazione ritiene opportuno abilitare l'accesso degli utenti root tramite SFTP/FTPS per la configurazione degli utenti, puoi creare un utente con UID e GID pari a 0 (utente root), quindi utilizzare quell'utente root per creare cartelle e assegnare i proprietari degli ID POSIX agli altri utenti. Il vantaggio di questa opzione è che non è necessario montare il file system Amazon EFS.
Esegui i passaggi descritti in eAggiungere utenti gestiti dal servizio Amazon EFS, sia per l'ID utente che per l'ID del gruppo, inserisci 0 (zero).
Suggerimento
Non lasciate che questo account superutente esista più a lungo del necessario. Oppure, se mantieni l'account utente root, assicurati di mantenerlo ben protetto.
Comandi Amazon EFS supportati
I seguenti comandi sono supportati per Amazon EFS for AWS Transfer Family.
-
cd
-
ls
/dir
-
pwd
-
put
-
get
-
rename
-
chown
: Solo i root (ovvero gli utenti con uid=0) possono modificare la proprietà e le autorizzazioni di file e directory. -
chmod
: Solo root può modificare la proprietà e le autorizzazioni di file e directory. -
chgrp
: Supportato sia per root che per il proprietario del file, che può solo modificare il gruppo di file in uno dei propri gruppi secondari. -
ln -s
/symlink
-
mkdir
-
rm
/delete
-
rmdir
-
chmtime