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, consultez Actions.
Rubriques
Exemple - Opérations sur les objets
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": "*"
Exemple - Opérations sur les compartiments
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 la 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, consultez Stratégie pour l'accès à la console dans l'article de blog Writing IAM Policies: How to Grant Access to an S3 Bucket
Exemple - Opérations sur les sous-ressources de compartiments
La stratégie d'utilisateur suivante octroie l'autorisation s3:GetBucketAcl
sur le compartiment
à l'utilisateur Dave.DOC-EXAMPLE-BUCKET1
{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/Dave" }, "Action": [ "s3:GetBucketAcl" ], "Resource": [ "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 de votre stockage) 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. Pour éviter ces failles d'autorisation, vous pouvez écrire une politique d'accès plus stricte en ajoutant un refus explicite.
La politique de compartiment précédente accorde le compartiment s3:GetBucketAcl
autorisation
à l'utilisateur Dave. Dans cet exemple, vous refusez explicitement que l'utilisateur Dave SUPPRIME les autorisations d'objet. Le refus explicite a toujours priorité sur n'importe quelle autre autorisation accordée. Vous trouverez, ci-après, l'exemple révisé de politique d'accès avec un refus explicite ajouté.DOC-EXAMPLE-BUCKET1
{ "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:::", "arn:aws:s3:::
DOC-EXAMPLE-BUCKET1
" ] }, { "Sid": "statement2", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::
DOC-EXAMPLE-BUCKET1
/*123456789012
:user/Dave" }, "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:PutLifecycleConfiguration" ], "Resource": [ "arn:aws:s3:::", "arn:aws:s3:::
DOC-EXAMPLE-BUCKET1
" ] } ] }
DOC-EXAMPLE-BUCKET1
/*
Exemple – Opérations sur les comptes
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":[ "*" ] } ] }