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 tables S3
Une AWS balise est une paire clé-valeur qui contient des métadonnées relatives aux ressources, en l'occurrence les tables Amazon S3. Vous pouvez étiqueter les tables S3 lorsque vous les créez ou gérer les balises sur les tables existantes. 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 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 dans les tableaux
Utilisez des balises sur vos tables S3 pour :
-
Répartition des coûts — Suivez les coûts de stockage par tableau AWS Billing and Cost Management. Pour plus d’informations, consultez Utilisation de balises pour la répartition des coûts.
-
Contrôle d'accès basé sur les attributs (ABAC) : échelonnez les autorisations d'accès et accordez l'accès aux tables S3 en fonction de leurs balises. Pour plus d’informations, consultez Utilisation de balises pour l’ABAC.
Note
Vous pouvez utiliser les mêmes balises pour la répartition des coûts et le contrôle d’accès.
ABAC pour tables S3
Les 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 AWS Identity and Access Management (IAM) et les politiques de table S3. Dans Amazon S3, ABAC prend en charge l'autorisation sur plusieurs AWS comptes.
Dans vos politiques IAM, vous pouvez contrôler l'accès aux tables S3 en fonction des balises de la table à 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, ouaws:TagKeys.
aws : ResourceTag /nom-clé
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 à une table soit autorisé uniquement si la table possède la clé de balise Department avec la valeurMarketing.
Cette clé de condition s'applique aux actions de table effectuées à l'aide de la console Amazon S3, de l'interface de ligne de AWS commande (CLI) APIs, de S3 ou du AWS SDKs,.
Pour un exemple de politique, consultez 1.1 - politique de table pour restreindre les opérations sur la table à l'aide de balises.
Pour d'autres exemples de politiques et plus d'informations, voir Contrôle de l'accès aux AWS ressources dans le Guide de AWS Identity and Access Management l'utilisateur.
Note
Pour les actions effectuées sur des tables, cette clé de condition agit sur les balises appliquées à la table et non sur les balises appliquées au compartiment de table contenant la table. Utilisez-le s3tables:TableBucketTag/tag-key plutôt si vous souhaitez que vos politiques ABAC agissent sur les balises du compartiment de table lorsque vous effectuez des actions de table.
aws : RequestTag /nom-clé
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'une table 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 TagResource ou d'CreateTableAPI, ou lorsque vous balisez ou créez une table avec des balises à l'aide de la console Amazon S3, de l'interface de ligne de AWS commande (CLI) ou du AWS SDKs.
Pour un exemple de politique, consultez 1.2 - Politique IAM pour créer ou modifier des tables avec des balises spécifiques.
Pour d'autres exemples de politiques et plus d'informations, consultez la section Contrôle de l'accès lors AWS des demandes dans le Guide de AWS Identity and Access Management l'utilisateur.
lois : 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'CreateTableaction, vous devez créer une politique qui autorise à la fois les s3tables:CreateTable 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 CreateTable demande.
Cette clé de condition s'applique lorsque des clés de balise sont transmises dans le cadre d'une TagResource opération d'CreateTableAPI ou lors du balisage, du débalisage ou de la création d'une table avec des balises à l'aide de l'interface de ligne de AWS commande (CLI) ou du. UntagResource AWS SDKs
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 du balisage.
Pour d'autres exemples de politiques et plus d'informations, consultez la section Contrôle de l'accès en fonction des clés de balise dans le Guide de AWS Identity and Access Management l'utilisateur.
s3tables : /tag-key TableBucketTag
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 principalement sur les balises attribuées au compartiment de tables pour toutes les actions des tables S3. Même lorsque vous créez une table avec des balises, cette clé de condition agit sur les balises appliquées au compartiment de table qui contient cette table. Les exceptions sont les suivantes :
Lorsque vous créez un bucket de table 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 tables
Consultez les exemples de politiques ABAC suivants pour les tables Amazon S3.
Note
Si 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 des balises fonctionne correctement avec votre intégration d'analyse S3 Tables.
1.1 - politique de table pour restreindre les opérations sur la table à l'aide de balises
Dans cette politique de table, les principaux IAM spécifiés (utilisateurs et rôles) peuvent effectuer l'GetTableaction uniquement si la valeur de la balise de la table correspond à la valeur de la project 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/my_example_tab;e", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
1.2 - Politique IAM pour créer ou modifier des tables avec des balises spécifiques
Dans cette stratégie IAM, les utilisateurs ou les rôles dotés de cette politique ne peuvent créer des tables S3 que s'ils balisent la table avec la clé de balise project et la valeur de balise Trinity dans la demande de création de table. Ils peuvent également ajouter ou modifier des balises sur des tables S3 existantes 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 tables ou leurs objets.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateTableWithTags", "Effect": "Allow", "Action": [ "s3tables:CreateTable", "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 du balisage
Dans cette politique IAM, les principaux IAM (utilisateurs ou rôles) peuvent modifier les balises d'une table uniquement si la valeur de la balise de la table 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 tables. 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 entre vos 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/my_example_table", "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 table uniquement si le compartiment de table possède la clé de balise Environment et la valeur Production de balise. Elle 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 table 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 tableaux
Vous pouvez ajouter ou gérer des balises pour les tables 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 :