View a markdown version of this page

Utilisation de balises avec des compartiments de table S3 - 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 de table S3

Une AWS balise est une paire clé-valeur qui contient des métadonnées relatives aux ressources, en l'occurrence des compartiments de tables Amazon S3. Vous pouvez baliser des compartiments de tables S3 lorsque vous les créez ou gérer des balises sur des compartiments de tableaux 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 compartiments de tables 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 les compartiments de table

Utilisez des balises sur vos compartiments de table S3 pour :

Attribute-based contrôle d'accès (ABAC)  : augmentez les autorisations d'accès et accordez l'accès aux compartiments de tables S3 en fonction de leurs balises. Pour plus d’informations, consultez Utilisation de balises pour l’ABAC.

ABAC pour seaux de table S3

Les compartiments de tables 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 organisations Gestion des identités et des accès AWS (IAM) et les politiques relatives aux compartiments de tables S3. 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 de tables S3 en fonction des balises du compartiment de tables à l'aide de la clé de s3tables:TableBucketTag/tag-key condition ou des clés de condition AWS globales  : aws:ResourceTag/key-nameaws:RequestTag/key-name, ou. aws:TagKeys

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. Par exemple, vous pouvez exiger que l'accès à un compartiment de tables soit autorisé uniquement si le compartiment de tables possède la clé de balise Department avec la valeurMarketing.

Cette clé de condition s'applique à toutes les actions de compartiment de table effectuées à l'aide de la console Amazon S3, de l'interface de ligne de AWS commande (CLI), des API S3 ou des AWS kits SDK, à l'exception de la demande d'CreateBucketAPI.

Pour un exemple de politique, consultez 1.1 - politique de compartiment de tables pour restreindre les opérations sur les tables à l'intérieur du compartiment de tables à l'aide de balises.

Pour obtenir des exemples de politiques supplémentaires et plus d'informations, consultez la section Contrôle de l'accès aux AWS ressources dans le Guide de Gestion des identités et des accès AWS l'utilisateur.

Note

Pour les actions effectuées sur les tableaux, cette clé de condition agit sur les balises appliquées au tableau et non sur les balises appliquées au compartiment de tableaux contenant le tableau. Utilisez s3tables:TableBucketTag/tag-key plutôt le si vous souhaitez que vos politiques ABAC agissent sur les balises du compartiment de tableaux lorsque vous effectuez des actions de tableau.

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 si la demande de balisage d'un compartiment de tables inclut la clé de balise Department et si elle contient la valeurAccounting.

Cette clé de condition s'applique lorsque des clés de balise sont transmises dans une demande d'opération d'CreateTableBucketAPI TagResource ou lorsque vous balisez ou créez un compartiment de tables contenant des balises à l'aide de la console Amazon S3, de l'interface de ligne de AWS commande (CLI) ou des AWS kits de développement logiciel.

Pour un exemple de politique, consultez 1.2 - Politique IAM pour créer ou modifier des compartiments de tables avec des balises spécifiques.

Pour obtenir des exemples de politiques supplémentaires et plus d'informations, consultez la section Contrôle de l'accès lors AWS des demandes dans le Guide de Gestion des identités et des accès AWS l'utilisateur.

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 afin de définir les clés de balise dont l'accès est autorisé. Par exemple, pour autoriser le balisage pendant l'CreateTableBucketaction, vous devez créer une politique qui autorise à la fois les s3tables:CreateTableBucket actions s3tables:TagResource et. Vous pouvez ensuite utiliser la clé de aws:TagKeys condition pour faire en sorte que seules des balises spécifiques soient utilisées dans la CreateTableBucket demande.

Cette clé de condition s'applique lorsque des clés de balise sont transmises dans le cadre d'une TagResource opération d'CreateTableBucketAPI ou lors du balisage, du débalisage ou de la création d'un compartiment de tables contenant des balises à l'aide de la console Amazon S3, de l'interface de ligne de AWS commande (CLI) ou des kits de développement logiciel. UntagResource AWS

Pour un exemple de politique, consultez 1.3 - Politique IAM pour contrôler la modification des balises sur les ressources existantes en maintenant la gouvernance des balises.

Pour obtenir des exemples de politiques supplémentaires et plus d'informations, consultez la section Contrôle de l'accès en fonction des clés de tag dans le Guide de Gestion des identités et des accès AWS l'utilisateur.

Tableaux S3 : TableBucketTag/tag-key

Utilisez cette clé de condition pour accorder des autorisations à des données spécifiques dans des compartiments de tables à l'aide de balises. Cette clé de condition agit, en grande partie, sur les balises attribuées au compartiment de tables pour toutes les actions relatives aux tables S3. Même lorsque vous créez un tableau avec des balises, cette clé de condition agit sur les balises appliquées au compartiment de tables qui contient cette table. Les exceptions sont les suivantes :

  • Lorsque vous créez un compartiment de tables avec des balises, cette clé de condition agit sur les balises de la demande.

Pour un exemple de politique, consultez 1.4 - Utilisation de la clé de condition s3tables TableBucketTag.

Exemples de politiques ABAC pour les compartiments de tables

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

Note

Si vous utilisez Lake Formation pour gérer l'accès à vos tables Amazon S3 et que vous avez une politique basée sur les ressources IAM ou S3 Tables qui restreint les utilisateurs IAM et les rôles IAM en fonction des balises principales, vous devez associer les mêmes balises principales au rôle IAM que Lake Formation utilise pour accéder à vos données Amazon S3 (par exemple LakeFormationDataAccessRole) et accorder à ce rôle les autorisations nécessaires. Cela est nécessaire pour que votre politique de contrôle d'accès basée sur les balises fonctionne correctement avec votre intégration d'analyse S3 Tables.

1.1 - politique de compartiment de tables pour restreindre les opérations sur les tables à l'intérieur du compartiment de tables à l'aide de balises

Dans cette politique de compartiment de tables, les principaux IAM spécifiés (utilisateurs et rôles) peuvent effectuer l'GetTableaction sur n'importe quelle table du compartiment de tables uniquement si la valeur de la project balise de la table correspond à la valeur de la balise du project principal.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGetTable", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3tables:GetTable", "Resource": "arn:aws::s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
1.2 - Politique IAM pour créer ou modifier des compartiments de tables avec des balises spécifiques
Note

Si vous utilisez AWS Lake Formation pour gérer l'accès à vos tables Amazon S3 et que vous utilisez ABAC avec Amazon S3 Tables, assurez-vous de donner également au rôle IAM que Lake Formation assume l'accès requis. Pour plus d'informations sur la configuration du rôle IAM pour Lake Formation, consultez la section Conditions requises pour intégrer le catalogue de tables Amazon S3 au catalogue de données et à Lake Formation dans le guide du AWS Lake Formation développeur.

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateTableBucketWithTags", "Effect": "Allow", "Action": [ "s3tables:CreateTableBucket", "s3tables:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }
1.3 - Politique IAM pour contrôler la modification des balises sur les ressources existantes en maintenant la gouvernance des balises

Dans cette politique IAM, les responsables IAM (utilisateurs ou rôles) peuvent modifier les balises d'un compartiment de tables uniquement si la valeur de la balise du compartiment de tables correspond à la valeur de la project balise du principal. project 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 de tables. Cela permet de renforcer la gouvernance des balises, d'empêcher les modifications non autorisées des balises et de maintenir la cohérence du schéma de balisage dans tous vos compartiments de tables.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3tables:TagResource", "s3tables:UntagResource" ], "Resource": "arn:aws::s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }
1.4 - Utilisation de la clé de condition s3tables TableBucketTag

Dans cette politique IAM, l'instruction de condition autorise l'accès aux données du compartiment de tables uniquement si le compartiment de tables possède la clé de balise Environment et la valeur Production de balise. La clé s3tables:TableBucketTag/<tag-key> diffère de la clé de aws:ResourceTag/<tag-key> condition car, en plus de contrôler l'accès aux compartiments de tables en fonction de leurs balises, elle vous permet de contrôler l'accès aux tables en fonction des balises de leur compartiment de table parent.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificTables", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-table-bucket/*", "Condition": { "StringEquals": { "s3tables:TableBucketTag/Environment": "Production" } } } ] }

Gestion des balises pour les compartiments de table

Vous pouvez ajouter ou gérer des balises pour les compartiments de tables 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 plus d’informations, consultez les ressources suivantes :