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 policy, sostituisci il testo segnaposto in corsivo nella policy 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, consultare Identificatori univoci. Il valore di specified-name è il parametro RoleSessionName passato alla richiesta AssumeRoleWithWebIdentity quando l'utente federato assume il ruolo.

Puoi visualizzare l'ID ruolo usando il comando AWS CLI aws iam get-role --role-name specified-name. Ad esempio, supponiamo di specificare il nome descrittivo John e che la CLI restituisca l'ID ruolo AROAXXT2NJT7D3SIQN7Z6. 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}/*" ] } ] }