Utilisation de balises avec des compartiments S3 à usage général - 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.

Utilisation de balises avec des compartiments S3 à usage général

Une AWS balise est une paire clé-valeur qui contient des métadonnées relatives aux ressources, en l'occurrence les compartiments à usage général Amazon S3. Vous pouvez étiqueter les compartiments S3 lorsque vous les créez ou gérer les balises sur les compartiments existants. Pour plus d’informations sur les balises, consultez Balisage pour la répartition des coûts ou le contrôle d’accès par attributs (ABAC).

Note

L'utilisation de balises sur des buckets n'entraîne aucun frais supplémentaire au-delà des taux de requêtes standard de l'API S3. Pour plus d’informations, consultez Tarification Amazon S3.

Méthodes courantes d'utilisation des tags avec des seaux

Utilisez des balises sur vos compartiments S3 pour :

  1. Répartition des coûts : suivez vos coûts de stockage par balise de compartiment dans AWS Billing and Cost Management. Pour plus d’informations, consultez Utilisation de balises pour la répartition des coûts.

  2. Contrôle d'accès basé sur les attributs (ABAC) : adaptez les autorisations d'accès et accordez l'accès aux compartiments S3 en fonction de leurs balises. Pour plus d’informations, consultez Utilisation de balises pour l’ABAC.

    Note

    Pour les compartiments à usage général, ABAC n'est pas activé par défaut. Pour activer ABAC pour les buckets à usage général, voir. Activation de l'ABAC dans les compartiments à usage général Pour les ressources Amazon S3 telles que les points d'accès et les compartiments de répertoire, ABAC est activé par défaut. Vous pouvez utiliser les mêmes balises pour la répartition des coûts et le contrôle d’accès.

Godets à usage général ABAC pour S3

Les compartiments à usage général Amazon S3 prennent en charge le contrôle d'accès basé sur les attributs (ABAC) à l'aide de balises. Utilisez des clés de condition basées sur des balises dans vos AWS politiques d'organisation, d'IAM et de compartiment S3. Pour les entreprises, l'ABAC d'Amazon S3 prend en charge l'autorisation sur plusieurs AWS comptes.

Dans vos politiques IAM, vous pouvez contrôler l'accès aux compartiments S3 en fonction des balises du compartiment à l'aide des clés de condition globales suivantes :

  • aws:ResourceTag/key-name

    • Utilisez cette clé de condition pour comparer la paire clé-valeur de balise que vous spécifiez dans la politique avec la paire clé-valeur attachée à la ressource. S3 évalue cette clé de condition uniquement après avoir activé ABAC sur votre compartiment. Par exemple, vous pouvez exiger que l'accès à une ressource soit autorisé uniquement si la clé de balise Dept est attachée à la ressource avec la valeur Marketing. Pour plus d'informations, consultez la section Contrôle de l'accès aux AWS ressources.

  • aws:RequestTag/key-name

    • Utilisez cette clé de condition pour comparer la paire clé-valeur de balise transmise dans la demande avec la paire de balises que vous spécifiez dans la politique. Par exemple, vous pouvez vérifier que la demande comprend la clé de balise Dept et qu'elle a la valeur Accounting. Pour plus d'informations, consultez la section Contrôle de l'accès lors AWS des demandes. Vous pouvez utiliser cette clé de condition pour restreindre les paires clé-valeur de balise pouvant être transmises pendant les opérations d’API TagResource et CreateBucket.

  • aws:TagKeys

    • Utilisez cette clé de condition pour comparer les clés de balise d'une demande avec les clés que vous spécifiez dans la politique. Nous vous recommandons, lorsque vous utilisez des politiques pour contrôler l'accès à l'aide de balises, d'utiliser la clé de condition aws:TagKeys pour définir quelles clés de balises sont autorisées. Pour des exemples de stratégies et plus d’informations, consultez Contrôle de l’accès en fonction des clés de balise.

  • s3:BucketTag/tag-key

    • Utilisez cette clé de condition pour accorder des autorisations à des données spécifiques dans des compartiments à l'aide de balises. Cette clé de condition n'est applicable qu'une fois l'ABAC activé sur votre bucket. Lorsque vous accédez à un compartiment à l'aide d'un point d'accès, la clé de aws:ResourceTag/tag-key condition fait référence aux balises du compartiment à la fois lors de l'autorisation accordée au point d'accès et au compartiment. Le s3:BucketTag/tag-key référencera uniquement les balises du compartiment pour lequel il est autorisé.

Note

Lorsque vous créez des buckets avec des tags, notez que les conditions basées sur des balises pour accéder à votre bucket à l'aide des clés de BucketTag condition aws : ResourceTag et s3 : ne sont applicables qu'une fois que vous avez activé ABAC sur le bucket. Pour en savoir plus, veuillez consulter la section Activation de l'ABAC dans les compartiments à usage général.

Exemples de politiques ABAC pour les buckets

Consultez les exemples de politiques ABAC suivants pour les compartiments Amazon S3.

1.1 - Politique IAM permettant de créer ou de modifier des compartiments avec des balises spécifiques

Dans cette politique IAM, les utilisateurs ou les rôles dotés de cette politique ne peuvent créer des compartiments S3 que s'ils balisent le compartiment avec la clé de balise project et la valeur de balise Trinity dans la demande de création de compartiment. Ils peuvent également ajouter ou modifier des balises sur des compartiments S3 existants tant que la TagResource demande inclut la paire clé-valeur de la balise. project:Trinity Cette politique n’accorde aucune autorisation de lecture, d’écriture ou de suppression sur les compartiments ou leurs objets.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateBucketWithTags", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }

1.2 - Politique relative aux compartiments visant à restreindre les opérations

Dans cette politique de compartiment, les principaux IAM (utilisateurs et rôles) sont refusés s3:ListBuckets3:GetObject, et les s3:PutObject actions sur le compartiment ne sont autorisées que si la valeur de la project balise sur le compartiment correspond à la valeur de la project balise sur le principal.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyObjectOperations", "Effect": "Deny", "Principal": "*", "Action": ["s3:ListBucket", "s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:::aws-s3-demo/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }

1.3 - Politique IAM pour modifier les balises sur les ressources existantes

Dans cette politique IAM, les principaux IAM (utilisateurs ou rôles) peuvent modifier les balises d’un compartiment uniquement si la valeur de la balise project du compartiment correspond à la valeur de la balise project du principal. Seules les quatre balisesproject, environmentowner, et cost-center spécifiées dans les clés de aws:TagKeys condition sont autorisées pour ces compartiments. Cela permet de renforcer la gouvernance des balises, d’empêcher les modifications non autorisées des balises et de garantir la cohérence du schéma de balisage sur l’ensemble de vos compartiments.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3:TagResource", "s3:CreateBucket" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }

1.4 - Utilisation de la clé de BucketTag condition s3 :

Dans cette politique IAM, l'énoncé de condition autorise l'accès aux données du aws-s3-demo bucket uniquement si le bucket possède la clé de balise Environment et la valeur Production de balise.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessViaSpecificBucket", "Effect": "Allow", "Action": "*", "Resource": ["arn:aws:s3:::aws-s3-demo","arn:aws:s3:::aws-s3-demo/*"], "Condition": { "StringEquals": { "s3:BucketTag/Environment": "Production" } } } ] }

Gestion des balises des compartiments à usage général

Vous pouvez ajouter ou gérer des balises pour les compartiments S3 à l'aide de la console Amazon S3, de l'interface de ligne de AWS commande (CLI) ou du S3 APIs : TagResourceUntagResource, et ListTagsForResource. AWS SDKs Pour en savoir plus, consultez :

Rubriques