Politiques basées sur les ressources pour S3 Tables - 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.

Politiques basées sur les ressources pour S3 Tables

S3 Tables fournit des politiques basées sur les ressources pour gérer l’accès aux tables et compartiments de tables : politiques de compartiments de tables et politiques de tables. Vous pouvez utiliser une politique de compartiment de tables pour accorder des autorisations d’accès à l’API au niveau du compartiment de tables, de l’espace de noms ou de la table. Les autorisations attachées au compartiment de tables peuvent s’appliquer à toutes les tables du compartiment ou à des tables spécifiques du compartiment, selon la définition de la politique. Vous pouvez utiliser une politique de tables pour accorder des autorisations au niveau de la table.

Lorsque le service S3 Tables reçoit une demande, il commence par vérifier que le demandeur possède les autorisations nécessaires. Il évalue toutes les stratégies d’accès pertinentes, les politiques utilisateur et les politiques basées sur les ressources pour décider d’autoriser ou non la demande (politique utilisateur IAM, politique de rôle IAM, politique de compartiment de tables et politique de tables). Par exemple, si une politique de compartiment de tables accorde à un utilisateur les autorisations d’effectuer toutes les actions sur les tables du compartiment (y compris DeleteTable), mais qu’une table individuelle possède une politique de tables qui refuse l’action DeleteTable pour tous les utilisateurs, l’utilisateur ne peut pas supprimer la table.

La rubrique suivante contient des exemples de politiques de tables et de compartiments de tables. Pour utiliser ces politiques, remplacez les user input placeholders par vos propres informations.

Note
  • Chaque politique qui accorde des autorisations pour modifier des tables doit inclure des autorisations pour GetTableMetadataLocation afin d’accéder au fichier racine de la table. Pour de plus amples informations, veuillez consulter GetTableMetadataLocation.

  • Chaque fois que vous effectuez une activité d’écriture ou de suppression sur votre table, incluez les autorisations UpdateTableMetadataLocation dans votre stratégie d’accès.

  • Nous recommandons d’utiliser une politique de compartiment de tables pour régir l’accès aux actions au niveau du compartiment et une politique de tables pour régir l’accès aux actions au niveau de la table. Dans les cas où vous souhaitez définir le même ensemble d’autorisations sur plusieurs tables, nous vous recommandons d’utiliser une politique de compartiment de tables.

Exemple 1 : politique de compartiment de tables autorisant l’accès à PutBucketMaintenanceConfiguration pour les compartiments d’un compte

L’exemple de politique de compartiment de tables suivant autorise le data steward IAM à supprimer les objets non référencés pour tous les compartiments d’un compte en autorisant l’accès à PutBucketMaintenanceConfiguration.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:role/datasteward" }, "Action": ["s3tables:PutTableBucketMaintenanceConfiguration"], "Resource":"arn:aws:s3tables:region:account_id:bucket/*" }] }

Exemple 2 : politique de compartiment de tables autorisant l'accès en lecture (SELECT) aux tables stockées dans l'espace de hr noms

Voici un exemple de politique de compartiment de table qui permet à Jane, une utilisatrice de Compte AWS ID, d'accéder 123456789012 aux tables stockées dans l'espace de hr noms d'un compartiment de tables.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": [ "s3tables:GetTableData", "s3tables:GetTableMetadataLocation" ], "Resource": "arn:aws:s3tables:region:account_id:bucket/amzn-s3-demo-table-bucket/table/*", "Condition": { "StringLike": {"s3tables:namespace": "hr"} } } ] }

Exemple 3 : politique de tables autorisant l’utilisateur à supprimer une table

L’exemple suivant de politique de tables autorise le rôle IAM data steward à supprimer une table.

{ "Version": "2012-10-17", "Id": "DeleteTable", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:role/datasteward" }, "Action": [ "s3tables:DeleteTable", "s3tables:UpdateTableMetadataLocation", "s3tables:PutTableData", "s3tables:GetTableMetadataLocation" ], "Resource":"arn:aws:s3tables:region:account_id:bucket/amzn-s3-demo-bucket1/table/tableUUID" }] }