Stratégies de balisage et de contrôle d'accès - Amazon Simple Storage Service

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.

Stratégies de balisage et de contrôle d'accès

Vous pouvez également utiliser des stratégies d'autorisations (stratégies de compartiment et stratégies utilisateur) pour gérer les autorisations associées au balisage des objets. Pour les actions des stratégies, consultez les rubriques suivantes :

Les balises d'objets permettent un contrôle d'accès précis pour la gestion des autorisations. Vous pouvez accorder des autorisations conditionnelles basées sur les balises d'objets. Amazon S3 prend en charge les clés de condition suivantes que vous pouvez utiliser pour accorder des autorisations conditionnelles basées sur les balises d'objets.

  • s3:ExistingObjectTag/<tag-key> – Utilisez cette clé de condition pour vérifier qu'une balise d'objet existante possède la clé de balise et la valeur spécifiques.

    Note

    Lors de l'octroi des autorisations pour les opérations PUT Object et DELETE Object, cette clé de condition n'est pas prise en charge. Autrement dit, vous ne pouvez pas créer une stratégie pour accorder ou refuser à un utilisateur les autorisations de supprimer ou de remplacer un objet en fonction de ses balises existantes.

  • s3:RequestObjectTagKeys – Utilisez cette clé de condition pour limiter les clés de balise que vous voulez autoriser sur les objets. Cela est utile lorsque vous ajoutez des balises à des objets à l'aide PutObjectTagging des PutObject requêtes d'objets and et POST.

  • s3:RequestObjectTag/<tag-key> – Utilisez cette clé de condition pour limiter les clés de balise et valeurs que vous voulez autoriser sur les objets. Cela est utile lorsque vous ajoutez des balises à des objets à l'aide PutObjectTagging des PutObject requêtes and et POST Bucket.

Pour obtenir la liste complète des clés de condition spécifiques au service Amazon S3, veuillez consulter Exemples de politiques relatives aux compartiments utilisant des clés de condition. Les stratégies d'autorisations suivantes illustrent la façon dont le balisage des objets permet une gestion précise des autorisations d'accès.

Exemple 1 : autoriser un utilisateur à lire uniquement les objets qui ont une valeur de clé et une étiquette spécifiques

La politique d'autorisations suivante limite un utilisateur à la seule lecture des objets qui comportent la clé et la valeur d'étiquette environment: production. Cette politique utilise la clé de condition s3:ExistingObjectTag pour spécifier la clé et la valeur d'étiquette.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/JohnDoe" ] }, "Effect": "Allow", "Action": ["s3:GetObject", "s3:GetObjectVersion"], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": {"s3:ExistingObjectTag/environment": "production"} } } ] }
Exemple 2 : restreindre les clés d'étiquette d'objet que les utilisateurs peuvent ajouter

La stratégie d'autorisations suivante accorde à un utilisateur les autorisations d'effectuer l'action s3:PutObjectTagging, ce qui lui permet d'ajouter des balises à un objet existant. La condition utilise la clé de condition s3:RequestObjectTagKeys pour spécifier les clés d'étiquette autorisées, telles que Owner ou CreationDate. Pour plus d'informations, consultez Création d'une condition avec plusieurs clés ou valeurs dans le Guide de l'utilisateur IAM.

Cette politique garantit que chaque clé d'étiquette spécifiée dans la demande est une clé d'étiquette autorisée. Le qualificateur ForAnyValue dans la condition garantit qu'au moins une des clés spécifiées doit être présente dans la demande.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:role/JohnDoe" ] }, "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": {"ForAnyValue:StringEquals": {"s3:RequestObjectTagKeys": [ "Owner", "CreationDate" ] } } } ] }
Exemple 3 : exiger une clé et une valeur d'étiquette spécifiques pour permettre aux utilisateurs d'ajouter des étiquettes d'objet

L'exemple de politique suivant accorde à un utilisateur l'autorisation d'exécuter l'action s3:PutObjectTagging, qui permet à un utilisateur d'ajouter des étiquettes à un objet existant. La condition exige que l'utilisateur inclue une clé d'étiquette spécifique (telle que Project) avec la valeur définie sur X.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:user/JohnDoe" ] }, "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": {"StringEquals": {"s3:RequestObjectTag/Project": "X" } } } ] }