Définition des autorisations pour la configuration des tables de métadonnées - 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.

Définition des autorisations pour la configuration des tables de métadonnées

Pour créer une configuration de table de métadonnées, vous devez disposer des autorisations AWS Identity and Access Management (IAM) nécessaires à la fois pour créer et gérer la configuration de votre table de métadonnées et pour créer et gérer vos tables de métadonnées et le compartiment de tables dans lequel vos tables de métadonnées sont stockées.

Pour créer et gérer la configuration de votre table de métadonnées, vous devez disposer des autorisations suivantes :

  • s3:CreateBucketMetadataTableConfiguration : cette autorisation vous permet de créer une configuration de table de métadonnées pour votre compartiment à usage général. Pour créer une configuration de table de métadonnées, des autorisations supplémentaires, notamment des autorisations S3 Tables, sont requises, comme expliqué dans les sections suivantes. Pour un résumé des autorisations requises, consultezOpérations de compartiment et autorisations.

  • s3:GetBucketMetadataTableConfiguration : cette autorisation vous permet d’extraire les informations relatives à la configuration de votre table de métadonnées.

  • s3:DeleteBucketMetadataTableConfiguration : cette autorisation vous permet de supprimer les informations relatives à la configuration de votre table de métadonnées.

  • s3:UpdateBucketMetadataJournalTableConfiguration— Cette autorisation vous permet de mettre à jour la configuration de votre table de journal pour faire expirer les enregistrements de la table de journal.

  • s3:UpdateBucketMetadataInventoryTableConfiguration— Cette autorisation vous permet de mettre à jour la configuration de votre table d'inventaire pour activer ou désactiver la table d'inventaire. Pour mettre à jour la configuration d'une table d'inventaire, des autorisations supplémentaires, notamment des autorisations S3 Tables, sont requises. Pour obtenir la liste des autorisations requises, consultez Opérations de compartiment et autorisations.

    Note

    Les s3:DeleteBucketMetadataTableConfiguration autorisations s3:CreateBucketMetadataTableConfigurations3:GetBucketMetadataTableConfiguration, et sont utilisées pour les configurations de métadonnées S3 V1 et V2. Pour la V2, les noms des opérations d'API correspondantes sont CreateBucketMetadataConfigurationGetBucketMetadataConfiguration, etDeleteBucketMetadataConfiguration.

Pour créer et gérer des tables et des compartiments de tables, vous devez disposer de certaines autorisations s3tables. Au minimum, pour créer une configuration de table de métadonnées, vous devez disposer des autorisations s3tables suivantes :

  • s3tables:CreateTableBucket— Cette autorisation vous permet de créer un bucket de table AWS géré. Toutes les configurations de tables de métadonnées de votre compte et de la même région sont stockées dans un seul compartiment de table AWS géré nomméaws-s3. Pour plus d'informations, reportez-vous à Fonctionnement des tables de métadonnées la section Utilisation des compartiments de tables AWS gérés.

  • s3tables:CreateNamespace : cette autorisation vous permet de créer un espace de noms dans un compartiment de tables. Les tables de métadonnées utilisent généralement l'espace de b_general_purpose_bucket_name noms. Pour plus d'informations sur les espaces de noms des tables de métadonnées, consultezFonctionnement des tables de métadonnées.

  • s3tables:CreateTable— Cette autorisation vous permet de créer vos tables de métadonnées.

  • s3tables:GetTable— Cette autorisation vous permet de récupérer des informations sur vos tables de métadonnées.

  • s3tables:PutTablePolicy— Cette autorisation vous permet d'ajouter ou de mettre à jour vos politiques relatives aux tables de métadonnées.

  • s3tables:PutTableEncryption— Cette autorisation vous permet de définir le chiffrement côté serveur pour vos tables de métadonnées. Des autorisations supplémentaires sont requises si vous souhaitez chiffrer vos tables de métadonnées à l'aide du chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS). Pour plus d'informations, consultez la section Autorisations pour SSE-KMS.

  • kms:DescribeKey— Cette autorisation vous permet de récupérer des informations sur une clé KMS.

Pour obtenir des informations détaillées sur toutes les autorisations relatives aux tables et aux compartiments de tables, consultez Gestion des accès pour les tables S3.

Important

Si vous souhaitez également intégrer votre compartiment de tables aux services AWS d'analyse afin de pouvoir interroger votre table de métadonnées, vous avez besoin d'autorisations supplémentaires. Pour plus d'informations, consultez la section Intégration des tables Amazon S3 aux services AWS d'analyse.

Autorisations pour SSE-KMS

Pour chiffrer vos tables de métadonnées à l'aide du chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS), vous devez disposer d'autorisations supplémentaires.

  1. L'utilisateur ou le rôle AWS Identity and Access Management (IAM) a besoin des autorisations suivantes. Vous pouvez accorder ces autorisations à l'aide de la console IAM : https://console.aws.amazon.com/iam/.

    1. s3tables:PutTableEncryptionpour configurer le chiffrement des tables

    2. kms:DescribeKeysur la AWS KMS clé utilisée

  2. En ce qui concerne la politique de ressources pour la clé KMS, vous avez besoin des autorisations suivantes. Vous pouvez accorder ces autorisations à l'aide de la AWS KMS console : https://console.aws.amazon.com/kms.

    1. Accordez la kms:GenerateDataKey permission à metadata.s3.amazonaws.com etmaintenance.s3tables.amazonaws.com.

    2. Accordez la kms:Decrypt permission à metadata.s3.amazonaws.com etmaintenance.s3tables.amazonaws.com.

    3. Accordez kms:DescribeKey l'autorisation au AWS principal invocateur.

Outre ces autorisations, assurez-vous que la clé KMS gérée par le client utilisée pour chiffrer les tables existe toujours, qu'elle est active et qu'elle se trouve dans la même région que votre compartiment à usage général.

Exemple de stratégie

Pour créer et utiliser des tables de métadonnées et des compartiments de tables, vous pouvez utiliser l’exemple de politique suivant. Dans cette politique, le compartiment à usage général auquel vous appliquez la configuration de la table de métadonnées est appelé amzn-s3-demo-bucket. Pour utiliser cette politique, remplacez user input placeholders par vos propres informations.

Lorsque vous créez la configuration de vos tables de métadonnées, celles-ci sont stockées dans un bucket de tables AWS géré. Toutes les configurations de tables de métadonnées de votre compte et de la même région sont stockées dans un seul compartiment de table AWS géré nomméaws-s3.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionsToWorkWithMetadataTables", "Effect": "Allow", "Action": [ "s3:CreateBucketMetadataTableConfiguration", "s3:GetBucketMetadataTableConfiguration", "s3:DeleteBucketMetadataTableConfiguration", "s3:UpdateBucketMetadataJournalTableConfiguration", "s3:UpdateBucketMetadataInventoryTableConfiguration", "s3tables:*", "kms:DescribeKey" ], "Resource": [ "arn:aws:s3:::bucket/amzn-s3-demo-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }

Pour interroger les tables de métadonnées, vous pouvez utiliser l'exemple de politique suivant. Si vos tables de métadonnées ont été chiffrées avec SSE-KMS, vous aurez besoin de l'kms:Decryptautorisation indiquée. Pour utiliser cette politique, remplacez user input placeholders par vos propres informations.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionsToQueryMetadataTables", "Effect": "Allow", "Action": [ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }