Amazon S3 : autorise les utilisateurs fédérés à accéder à leur répertoire de base Amazon S3, par programmation et dans la console - AWS Identity and Access Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amazon S3 : autorise les utilisateurs fédérés à accéder à leur répertoire de base Amazon S3, par programmation et dans la console

Cet exemple montre comment créer une politique basée sur l'identité qui permet aux principaux fédérés d'accéder à leur propre objet de compartiment de répertoire personnel dans S3. Le répertoire de base est un bucket qui inclut un home dossier et des dossiers pour les principaux fédérés individuels. Cette politique définit des autorisations pour l'accès à la console et par programmation. Pour utiliser cette politique, remplacez celle de italicized placeholder text l'exemple de politique par vos propres informations. Ensuite, suivez les instructions fournies dans create a policy (créer une politique) ou edit a policy (modifier une politique).

La variable ${aws:userid} de cette politique se résout à role-id:specified-name. La role-id partie de l'ID principal fédéré est un identifiant unique attribué au rôle du principal fédéré lors de la création. Pour de plus amples informations, veuillez consulter Identifiants uniques. specified-nameIl s'agit du RoleSessionName paramètre transmis à la AssumeRoleWithWebIdentity demande lorsque le principal fédéré a assumé son rôle.

Vous pouvez afficher l'ID du rôle à l'aide de la AWS CLI commandeaws iam get-role --role-name specified-name. Par exemple, imaginons que vous spécifiez le nom convivial John et que l'CLI renvoie l'ID de rôle AROAXXT2NJT7D3SIQN7Z6. Dans ce cas, l'ID utilisateur du principal fédéré estAROAXXT2NJT7D3SIQN7Z6:John. Cette politique permet ensuite au principal fédéré John d'accéder au compartiment Amazon S3 avec un préfixeAROAXXT2NJT7D3SIQN7Z6:John.

JSON
{ "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}/*" ] } ] }