View a markdown version of this page

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 des compartiments à usage général Amazon S3. Vous pouvez baliser des compartiments S3 lorsque vous les créez ou gérer des balises sur des 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 est gratuite 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 balises avec des compartiments

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. Attribute-based contrôle d'accès (ABAC)  : augmentez 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, consultez. Activation de l'ABAC dans des compartiments à usage général Pour les ressources Amazon S3 telles que les points d'accès et les compartiments de répertoires, 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.

ABAC pour godets à usage général 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 les politiques de votre AWS organisation, IAM et S3 bucket. Pour les entreprises, ABAC dans 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 bucket. 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 qu'ABAC est 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 pour le point d'accès et pour le compartiment. Le s3:BucketTag/tag-key référencera uniquement les étiquettes du compartiment pour lequel il est autorisé.

Note

Lorsque vous créez des compartiments avec des balises, notez que les conditions basées sur des balises pour accéder à votre compartiment à 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 compartiment. Pour en savoir plus, veuillez consulter la section Activation de l'ABAC dans des compartiments à usage général.

Exemples de politiques ABAC pour les compartiments

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 étiquettent le compartiment avec la clé project et la valeur du tag Trinity dans la demande de création de compartiment. Ils peuvent également ajouter ou modifier des balises dans des compartiments S3 existants tant que la TagResource demande inclut la paire clé-valeur de 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 de bucket pour restreindre les opérations

Dans cette politique de compartiment, les principaux IAM (utilisateurs et rôles) sont refusés s3:ListBucket et les s3:PutObject actions sur le compartiment sont interdites uniquement si la valeur de la project balise du compartiment correspond à la valeur de la project balise du principal. s3:GetObject

{ "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 touche de BucketTag condition s3 :

Dans cette politique IAM, l'instruction de condition autorise l'accès aux données du aws-s3-demo bucket uniquement si le bucket possède la clé Environment et la valeur Production de la 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), AWS des kits SDK ou à l'aide des API S3 : TagResource UntagResource, et. ListTagsForResource Pour en savoir plus, consultez :

Rubriques