Actions Amazon S3 - Amazon Simple Storage Service

Ce guide ne fait plus l'objet de mises à jour. Pour obtenir des informations et des instructions actuelles, reportez-vous au nouveau Guide de l'utilisateur Amazon S3.

Actions Amazon S3

Amazon S3 définit un ensemble d'autorisations que vous spécifiez dans une stratégie. Il s'agit de mots-clés, chacun d'entre eux mappé à une opération Amazon S3 spécifique. Pour de plus amples informations sur les opérations Amazon S3, veuillez consulter Actions dans la Référence d'API Amazon Simple Storage Service.

Pour savoir comment spécifier des autorisations dans une stratégie Amazon S3, veuillez consulter les exemples de stratégies suivants. Pour obtenir la liste des actions, des ressources et des clés de condition Amazon S3 à utiliser dans les stratégies, veuillez consulter Actions, ressources et clés de condition pour Amazon S3. Pour obtenir la liste complète des actions Amazon S3, veuillez consulter Actions.

L'exemple de stratégie de compartiment suivant octroie les autorisations s3:PutObject et s3:PutObjectAcl à un utilisateur (Dave). Si vous supprimez l'élément Principal, vous pouvez attacher la stratégie à un utilisateur. Ceci correspond à des opérations sur les objets. En conséquence, la partie relative-id de l'ARN Resource identifie des objets (awsexamplebucket1/*). Pour de plus amples informations, veuillez consulter Ressources Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Dave" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::awsexamplebucket1/*" } ] }

Autorisations pour toutes les actions Amazon S3

Vous pouvez utiliser un caractère générique pour octroyer une autorisation à toutes les actions Amazon S3.

"Action": "*"

L'exemple de stratégie d'utilisateur suivant octroie les autorisations s3:CreateBucket, s3:ListAllMyBuckets et s3:GetBucketLocation à un utilisateur. Pour toutes ces autorisations, définissez la partie relative-id de l’ARN Resource sur « * ». Pour toutes les autres actions de compartiment, vous devez spécifier un nom de compartiment. Pour de plus amples informations, veuillez consulter Ressources Amazon S3.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::*" ] } ] }

Stratégie pour l'accès à la console

Si un utilisateur souhaite utiliser AWS Management Console pour afficher les compartiments et le contenu de l'un de ces compartiments, il doit disposer des autorisations s3:ListAllMyBuckets et s3:GetBucketLocation. Pour obtenir un exemple, veuillez consulter Stratégie pour l'accès à la console dans l'article de blog Writing IAM Policies: How to Grant Access to an S3 Bucket.

La stratégie d'utilisateur suivante octroie l'autorisation s3:GetBucketAcl sur le compartiment DOC-EXAMPLE-BUCKET1 à l'utilisateur Dave.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": [ "s3:GetObjectVersion", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1", "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*" ] } ] }

Autorisations DELETE Object

Vous pouvez supprimer des objets soit en appelant explicitement l'API DELETE Object, soit en configurant son cycle de vie (veuillez consulter Gestion du cycle de vie des objets) afin qu'Amazon S3 puisse retirer les objets lorsqu'ils arrivent à la fin de leur cycle de vie. Pour bloquer explicitement des utilisateurs ou des comptes de supprimer des objets, vous devez explicitement leur refuser les autorisations s3:DeleteObject, s3:DeleteObjectVersion et s3:PutLifecycleConfiguration.

Refus explicite

Par défaut, les utilisateurs ne disposent d'aucune autorisation. Toutefois, lorsque vous créez des utilisateurs, ajoutez des utilisateurs à des groupes et leur accordez des autorisations, ils peuvent obtenir certaines autorisations que vous n'aviez pas l'intention d'accorder. C'est dans cette situation que vous pouvez utiliser le refus explicite, qui a priorité sur toutes les autres autorisations qu'un utilisateur peut avoir et qui refuse les autorisations d'utilisateur pour des actions spécifiques.

L'exemple de stratégie d'utilisateur suivant octroie les autorisations s3:GetAccountPublicAccessBlock à un utilisateur. Pour ces autorisations, définissez la valeur Resource sur "*". Pour de plus amples informations, veuillez consulter Ressources Amazon S3.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }