Amazon S3: consente agli utenti federati di accedere alla propria directory home S3, in modo programmatico e nella console - AWS Identity and Access Management

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à.

Amazon S3: consente agli utenti federati di accedere alla propria directory home S3, in modo programmatico e nella console

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti federati di accedere all'oggetto bucket nella loro directory home in S3. La directory iniziale è un bucket che include una cartella home e le cartelle per i singoli utenti federati. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci il italicized placeholder text nella politica di esempio con le tue informazioni. Quindi, segui le indicazioni fornite in Creazione di una policy o Modifica di una policy.

La variabile ${aws:userid} in questa policy restituisce role-id:specified-name. La parte role-id dell'ID utente federato è un identificatore univoco assegnato al ruolo dell'utente federato durante la creazione. Per ulteriori informazioni, consulta Identificatori univoci. specified-nameè il RoleSessionName parametro passato alla AssumeRoleWithWebIdentity richiesta quando l'utente federato ha assunto il proprio ruolo.

È possibile visualizzare l'ID del ruolo utilizzando il AWS CLI comandoaws iam get-role --role-name specified-name. Ad esempio, immaginate di specificare il nome descrittivo John e di CLI restituire l'ID del ruoloAROAXXT2NJT7D3SIQN7Z6. In questo caso, l'ID utente federato è AROAXXT2NJT7D3SIQN7Z6:John. Questa policy quindi consente all'utente federato John di accedere ai bucket Amazon S3 con il prefisso AROAXXT2NJT7D3SIQN7Z6:John.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ConsoleAccess", "Effect": "Allow", "Action": [ "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListAccessPoints", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringLike": { "s3:prefix": [ "", "home/", "home/${aws:userid}/*" ] } } }, { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}", "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}/*" ] } ] }