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à.
Creazione di una politica di sessione per un bucket Amazon S3
Una policy di sessione è una politica AWS Identity and Access Management (IAM) che limita gli utenti a determinate porzioni di un bucket Amazon S3. valutando l'accesso in tempo reale.
Nota
Le policy di sessione vengono utilizzate solo con Amazon S3. Per AmazonEFS, usi le autorizzazioni relative ai POSIX file per limitare l'accesso.
Puoi utilizzare una policy di sessione quando devi concedere lo stesso accesso a un gruppo di utenti a una parte particolare del tuo bucket Amazon S3. Ad esempio, è possibile che un gruppo di utenti richieda l'accesso solo alla directory home
. Quel gruppo di utenti condivide lo stesso IAM ruolo.
Nota
La lunghezza massima di una policy di sessione è di 2048 caratteri. Per maggiori dettagli, consulta il parametro Policy request per l'CreateUser
azione nel APIriferimento.
Per creare una policy di sessione, utilizzate le seguenti variabili di policy nella vostra IAM policy:
-
${transfer:HomeBucket}
-
${transfer:HomeDirectory}
-
${transfer:HomeFolder}
-
${transfer:UserName}
Importante
Non è possibile utilizzare le variabili precedenti in Managed Policies. Né è possibile utilizzarle come variabili politiche in una definizione di IAM ruolo. Queste variabili vengono create in una IAM policy e le fornite direttamente durante la configurazione dell'utente. Inoltre, non è possibile utilizzare la ${aws:Username}
variabile in questa politica di sessione. Questa variabile si riferisce a un nome IAM utente e non al nome utente richiesto da AWS Transfer Family.
Il codice seguente mostra un esempio di policy di sessione.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
Nota
L'esempio di policy precedente presuppone che le directory home degli utenti siano impostate in modo da includere una barra finale, a indicare che si tratta di una directory. Se, al contrario, imposti quella di un utente HomeDirectory
senza la barra finale, dovresti includerla come parte della tua politica.
Nella policy di esempio precedente, prendete nota dell'uso dei parametri transfer:HomeFolder
transfer:HomeBucket
, e transfer:HomeDirectory
policy. Questi parametri sono impostati per HomeDirectory
i parametri configurati per l'utente, come descritto in HomeDirectoryandImplementazione del metodo API Gateway. Questi parametri hanno le seguenti definizioni:
Il
transfer:HomeBucket
parametro viene sostituito con il primo componente diHomeDirectory
.Il
transfer:HomeFolder
parametro viene sostituito con le parti rimanenti delHomeDirectory
parametro.Al
transfer:HomeDirectory
parametro è stata rimossa la barra principale (/
) in modo che possa essere utilizzata come parte di un Amazon Resource Name (ARN) di S3 in un'Resource
istruzione.
Nota
Se utilizzi directory logiche, ovvero quelle dell'utente, LOGICAL
questi parametri di homeDirectoryType
policy (HomeBucket
, HomeDirectory
e) non sono supportati. HomeFolder
Ad esempio, supponiamo che il HomeDirectory
parametro configurato per l'utente Transfer Family sia/home/bob/amazon/stuff/
.
transfer:HomeBucket
è impostato su/home
.transfer:HomeFolder
è impostato su/bob/amazon/stuff/
.transfer:HomeDirectory
diventahome/bob/amazon/stuff/
.
Il primo "Sid"
consente all'utente di elencare tutte le directory a partire da/home/bob/amazon/stuff/
.
Il secondo "Sid"
limita l'get
accesso dell'utente put
e quello dello stesso percorso,. /home/bob/amazon/stuff/
Con la politica precedente in vigore, quando un utente effettua il login, può accedere solo agli oggetti nella propria home directory. Al momento della connessione, AWS Transfer Family sostituisce queste variabili con i valori appropriati per l'utente. Questo rende più semplice applicare gli stessi documenti di policy a più utenti. Questo approccio riduce il sovraccarico di gestione dei IAM ruoli e delle policy per la gestione dell'accesso degli utenti al bucket Amazon S3.
Puoi anche utilizzare una policy di sessione per personalizzare l'accesso per ciascuno dei tuoi utenti in base ai tuoi requisiti aziendali. Per ulteriori informazioni, consulta Autorizzazioni per AssumeRole e AssumeRoleWithWebIdentity nella Guida per l'IAMutente. AssumeRoleWith SAML
Nota
AWS Transfer Family memorizza la policyJSON, anziché l'Amazon Resource Name (ARN) della policy. Quindi, quando modifichi la policy nella IAM console, devi tornare alla AWS Transfer Family console e aggiornare gli utenti con i contenuti più recenti della policy. È possibile aggiornare l'utente nella scheda Informazioni sulla politica nella sezione Configurazione utente.
Se si utilizza il AWS CLI, è possibile utilizzare il seguente comando per aggiornare la politica.
aws transfer update-user --server-id
server
--user-nameuser
--policy \ "$(aws iam get-policy-version --policy-arnpolicy
--version-idversion
--output json)"