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à.
Utilizzo di directory logiche per semplificare le strutture di directory Transfer Family
Le directory logiche semplificano la struttura delle directory del server. AWS Transfer Family Con le directory logiche, puoi creare una struttura di directory virtuale con nomi intuitivi che gli utenti utilizzano quando si connettono al tuo bucket Amazon S3 o al file system Amazon EFS. Ciò impedisce agli utenti di visualizzare i percorsi delle directory, i nomi dei bucket e i nomi dei file system effettivi.
Nota
È necessario utilizzare i criteri di sessione in modo che gli utenti finali possano eseguire solo le operazioni che gli consentite di eseguire.
È necessario utilizzare le directory logiche per creare una directory virtuale intuitiva per gli utenti finali e astrarre i nomi dei bucket. Le mappature delle directory logiche consentono solo agli utenti di accedere ai percorsi logici e alle sottodirectory designati e vietano i percorsi relativi che attraversano le radici logiche.
Transfer Family convalida ogni percorso che potrebbe includere elementi relativi e blocca attivamente la risoluzione di questi percorsi prima di trasferirli ad Amazon S3; questo impedisce agli utenti di andare oltre le loro mappature logiche.
Anche se Transfer Family impedisce agli utenti finali di accedere a directory al di fuori della loro directory logica, ti consigliamo di utilizzare anche ruoli o policy di sessione unici per applicare il privilegio minimo a livello di storage.
Comprendere chroot e la struttura delle cartelle
Un'operazione chroot consente di impostare la directory principale di un utente in qualsiasi posizione nella gerarchia di archiviazione. Ciò limita gli utenti alla directory principale o principale configurata, impedendo l'accesso alle directory di livello superiore.
Prendi in considerazione un caso in cui un utente Amazon S3 è limitato a. amzn-s3-demo-bucket/home/${transfer:UserName}
Senza chroot, alcuni client potrebbero consentire agli utenti di passare a /amzn-s3-demo-bucket/home, richiedendo un logout e un login per tornare alla directory corretta. L'esecuzione di un'operazione chroot previene questo problema.
È possibile creare strutture di directory personalizzate su più bucket e prefissi. Ciò è utile se il flusso di lavoro richiede un layout di directory specifico che i prefissi dei bucket da soli non sono in grado di fornire. Puoi anche collegarti a più posizioni non contigue all'interno di Amazon S3, in modo simile alla creazione di un collegamento simbolico in un file system Linux in cui il percorso della directory fa riferimento a una posizione diversa nel file system.
Regole per l'utilizzo delle directory logiche
Questa sezione descrive alcune regole e altre considerazioni per l'utilizzo delle directory logiche.
Limiti di mappatura
-
È consentita una sola mappatura quando lo
Entry
è"/"
(non sono consentiti percorsi sovrapposti). -
Le directory logiche supportano mappature fino a 2,1 MB per utenti IDP e AD personalizzati e 2.000 voci per utenti gestiti dal servizio. È possibile calcolare la dimensione delle mappature come segue:
-
Scrivi una mappatura tipica nel formato
{"Entry":"/
, doveentry-path
","Target":"/target-path
"}
e doveentry-path
sono i valori effettivi che utilizzerai.target-path
-
Conta i caratteri in quella stringa, quindi aggiungine uno (1).
-
Moltiplica quel numero per il numero approssimativo di mappature che hai per il tuo server.
Se il numero stimato nel passaggio 3 è inferiore a 2,1 MB, le mappature rientrano nel limite accettabile.
-
Requisiti del percorso di destinazione
-
Usa la
${transfer:UserName}
variabile se il bucket o il percorso del file system sono stati parametrizzati in base al nome utente. -
Le destinazioni possono essere configurate in modo che puntino a diversi bucket o file system di Amazon S3, purché il ruolo IAM associato disponga delle autorizzazioni necessarie per accedere a tali posizioni di storage.
-
Tutti gli obiettivi devono iniziare con una barra in avanti (
/
) ma non possono terminare con una. Ad esempio,/amzn-s3-demo-bucket/images
è corretto, mentre nonamzn-s3-demo-bucket/images
lo/amzn-s3-demo-bucket/images/
è.
Considerazioni sullo storage
-
Amazon S3 è un archivio di oggetti in cui le cartelle esistono solo come concetto virtuale. Quando si utilizza lo storage Amazon S3, Transfer Family riporta i prefissi come directory nelle operazioni STAT, anche se non esiste un oggetto a zero byte con una barra finale. Un oggetto a zero byte appropriato con una barra finale viene inoltre riportato come directory nelle operazioni STAT. Questo comportamento è descritto in Organizzazione degli oggetti nella console Amazon S3 utilizzando le cartelle nella Guida per l'utente di Amazon Simple Storage Service.
-
Per le applicazioni che devono distinguere tra file e cartelle, usa Amazon Elastic File System (Amazon EFS) come opzione di storage Transfer Family.
-
Se stai specificando i valori della directory logica per il tuo utente, il parametro che usi dipende dal tipo di utente:
-
Per gli utenti gestiti dal servizio, fornisci i valori della directory logica in.
HomeDirectoryMappings
-
Per gli utenti di provider di identità personalizzati, fornisci i valori della directory logica in.
HomeDirectoryDetails
-
Valori delle directory utente
-
Il parametro per specificare i valori delle directory logiche dipende dal tipo di utente:
-
Per gli utenti gestiti dal servizio, fornisci i valori della directory logica in.
HomeDirectoryMappings
-
Per gli utenti di provider di identità personalizzati, fornisci i valori della directory logica in.
HomeDirectoryDetails
-
-
Quando si utilizza LOGICAL HomeDirectoryType, è possibile specificare un HomeDirectory valore per gli utenti di Service Managed, l'accesso ad Active Directory e le implementazioni di Custom Identity Provider, laddove HomeDirectoryDetails forniti nella risposta. Se non specificato, il HomeDirectory valore predefinito è.
/
Per informazioni dettagliate su come implementare le directory logiche, vedere. Implementazione di directory logiche
Configurazione di directory logiche per Amazon EFS
Se il tuo server Transfer Family utilizza Amazon EFS, la home directory dell'utente deve essere creata con accesso in lettura e scrittura prima che l'utente possa lavorare nella sua home directory logica. L'utente non può creare questa directory da solo, poiché non avrebbe le autorizzazioni per la mkdir
sua home directory logica.
Se la directory home dell'utente non esiste e l'utente esegue un ls
comando, il sistema risponde come segue:
sftp> ls remote readdir ("/"): No such file or directory
Un utente con accesso amministrativo alla directory principale deve creare la home directory logica dell'utente.
AWS Lambda Risposta personalizzata
Puoi utilizzare le directory logiche con una funzione Lambda che si connette al tuo provider di identità personalizzato. A tale scopo, nella funzione Lambda, si specificano i Target
valori HomeDirectoryType
as LOGICAL
e add Entry
and per il HomeDirectoryDetails
parametro. Per esempio:
HomeDirectoryType: "LOGICAL" HomeDirectoryDetails: "[{\"Entry\": \"/\", \"Target\": \"/amzn-s3-demo-bucket/theRealFolder"}]"
Il codice seguente è un esempio di risposta riuscita da una chiamata di autenticazione Lambda personalizzata.
aws transfer test-identity-provider \ --server-id s-1234567890abcdef0 \ --user-name myuser { "Url": "https://a1b2c3d4e5.execute-api.us-east-2.amazonaws.com/prod/servers/s-1234567890abcdef0/users/myuser/config", "Message": "", "Response": "{\"Role\": \"arn:aws:iam::123456789012:role/bob-usa-role\", \"HomeDirectoryType\": \"LOGICAL\", \"HomeDirectoryDetails\": \"[{\\\"Entry\\\":\\\"/myhome\\\",\\\"Target\\\":\\\"/amzn-s3-demo-bucket/theRealFolder\\\"}]\", \"PublicKeys\": \"[ssh-rsa myrsapubkey]\"}", "StatusCode": 200 }
Nota
La "Url":
riga viene restituita solo se si utilizza un metodo API Gateway come provider di identità personalizzato.