Actions Amazon S3 - Amazon Simple Storage Service

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

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 plus d’informations sur les opérations Amazon S3, consultez Actions dans le Amazon Simple Storage Service API Reference.

Pour voir comment spécifier des autorisations dans un Amazon S3 stratégie, consultez 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, consultez Actions, ressources et clés de condition pour Amazon S3. Pour obtenir la liste complète des actions Amazon S3, consultez 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 plus d'informations, consultez Ressources de 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 plus d'informations, consultez Ressources de 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 la AWS Management Console pour afficher les compartiments et le contenu de l'un de ces compartiments, il doit disposer des autorisations s3:GetBucketLocation et s3:ListAllMyBuckets. Pour un exemple, voir Stratégie pour l’accès à la console dans le billet de blog Écriture des stratégies IAM : Comment accorder l’accès à un compartiment S3.

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 (consultez Gestion du cycle de vie des objets) afin que 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, vous définissez le champ Resource valeur à "*". Pour plus d’informations, consultez Ressources de Amazon S3.

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