Définition des autorisations pour la configuration des tables de métadonnées - Amazon Simple Storage Service

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 Gestion des identités et des accès AWS (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 ainsi que le compartiment de table dans lequel elles seront 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, consultez Opé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 de manière à ce que les enregistrements de table de journal expirent.

  • 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 autorisations s3:CreateBucketMetadataTableConfiguration, s3:GetBucketMetadataTableConfiguration et s3:DeleteBucketMetadataTableConfiguration sont utilisées pour les configurations V1 et V2 de S3 Metadata. Pour la configuration V2, les noms des opérations d’API correspondantes sont CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration et DeleteBucketMetadataConfiguration.

Pour créer et gérer des tables et des compartiments de table, 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 compartiment de table géré par AWS. Toutes les configurations de table de métadonnées de votre compte et de la même région sont stockées dans un même compartiment de table géré par AWS nommé aws-s3. Pour plus d’informations, consultez Fonctionnement des tables de métadonnées et Utilisation des compartiments de table gérés par AWS.

  • s3tables:CreateNamespace : cette autorisation vous permet de créer un espace de noms dans un compartiment de table. Les tables de métadonnées utilisent généralement l’espace de noms b_general_purpose_bucket_name. Pour plus d’informations sur les espaces de nom des tables de métadonnées, consultez Fonctionnement 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 les politiques de vos tables de métadonnées.

  • s3tables:PutTableEncryption : cette autorisation vous permet de définir un 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 côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS). Pour plus d’informations, consultez 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 table, consultez Gestion des accès pour S3 Tables.

Important

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

Autorisations pour SSE-KMS

Pour chiffrer vos tables de métadonnées 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 Gestion des identités et des accès AWS (IAM) nécessite les autorisations suivantes. Vous pouvez accorder ces autorisations dans la console IAM : https://console.aws.amazon.com/iam/.

    1. s3tables:PutTableEncryption pour configurer le chiffrement des tables

    2. kms:DescribeKey sur la clé AWS KMS utilisée

  2. Pour la stratégie de ressources de la clé KMS, vous devez disposer des autorisations suivantes. Vous pouvez accorder ces autorisations à l’aide de la console AWS KMS : https://console.aws.amazon.com/kms.

    1. Octroyez l’autorisation kms:GenerateDataKey à metadata.s3.amazonaws.com et maintenance.s3tables.amazonaws.com.

    2. Octroyez l’autorisation kms:Decrypt à metadata.s3.amazonaws.com et maintenance.s3tables.amazonaws.com.

    3. Octroyez l’autorisation kms:DescribeKey au principal AWS appelant.

Outre ces autorisations, assurez-vous que la clé KMS gérée par le client utilisée pour chiffrer les tables existe toujours, est active et 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 table, 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 configurez vos tables de métadonnées, celles-ci sont stockées dans un compartiment de table géré par AWS. Toutes les configurations de table de métadonnées de votre compte et de la même région sont stockées dans un même compartiment de table géré par AWS 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:::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 des 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 des clés SSE-KMS, vous aurez besoin de l’autorisation kms:Decrypt comme indiqué. 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/*" ] } ] }