Spécification du chiffrement côté serveur avec des clés AWS KMS (SSE-KMS) dans les compartiments de table - Amazon Simple Storage Service

Spécification du chiffrement côté serveur avec des clés AWS KMS (SSE-KMS) dans les compartiments de table

Le chiffrement est configuré par défaut pour tous les compartiments de table Amazon S3, et toutes les nouvelles tables créées dans un compartiment de table sont automatiquement chiffrés au repos. Le chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) est la configuration de chiffrement par défaut pour chaque compartiment de table. Si vous souhaitez spécifier un type de chiffrement différent, vous pouvez utiliser le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS).

Vous pouvez spécifier le chiffrement SSE-KMS dans vos demandes CreateTableBucket ou CreateTable, ou vous pouvez définir la configuration de chiffrement par défaut dans le compartiment de table d’une demande PutTableBucketEncryption.

Important

Pour autoriser la maintenance automatique de tables chiffrées SSE-KMS et des compartiments de table, vous devez accorder au principal du service maintenance.s3tables.amazonaws.com l’autorisation d’utiliser votre clé KMS. Pour plus d’informations, consultez Exigences d’autorisation pour le chiffrement SSE-KMS de S3 Tables.

Spécification du chiffrement pour les compartiments de table

Vous pouvez spécifier SSE-KMS comme type de chiffrement par défaut lorsque vous créez un nouveau compartiment de table. Pour des exemples, consultez Création d’un compartiment de tables. Après avoir créé un compartiment de table, vous pouvez spécifier l’utilisation de SSE-KMS comme paramètre de chiffrement par défaut à l’aide des opérations d’API REST, des kits AWS SDK et de l’AWS Command Line Interface (AWS CLI).

Note

Lorsque vous spécifiez SSE-KMS comme type de chiffrement par défaut, la clé que vous utilisez pour le chiffrement doit autoriser l’accès au principal du service de maintenance de S3 Tables. Si le principal du service de maintenance n’y a pas accès, vous ne pourrez pas créer de tables dans ce compartiment de table. Pour plus d’informations, consultez Octroi des autorisations de principal de service de maintenance de S3 Tables sur votre clé KMS .

Pour utiliser l’exemple de commande AWS CLI suivant, remplacez les espaces réservés à la saisie utilisateur par vos propres informations.

aws s3tables put-table-bucket-encryption \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket; \ --encryption-configuration '{ "sseAlgorithm": "aws:kms", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }' \ --region us-east-1

Vous pouvez supprimer le paramètre de chiffrement par défaut pour un compartiment de table à l’aide de l’opération d’API DeleteTableBucketEncryption. Lorsque vous supprimez les paramètres de chiffrement, les nouvelles tables créées dans le compartiment de table utilisent le chiffrement SSE-S3 par défaut.

Spécification du chiffrement pour les tables

Vous pouvez appliquer le chiffrement SSE-KMS à une nouvelle table lorsque vous le créez à l’aide de moteurs de requêtes, d’opérations d’API REST, de kits AWS SDK et de l’AWS Command Line Interface (AWS CLI). Les paramètres de chiffrement que vous spécifiez lors de la création d’une table ont priorité sur le paramètre de chiffrement par défaut du compartiment de table.

Note

Lorsque vous utilisez le chiffrement SSE-KMS pour une table, la clé que vous utilisez pour le chiffrement doit autoriser l’accès au principal du service de maintenance de S3 Tables. Si le principal du service de maintenance n’y a pas accès, vous ne pourrez pas créer la table. Pour plus d’informations, consultez Octroi des autorisations de principal de service de maintenance de S3 Tables sur votre clé KMS .

Autorisations nécessaires

Les autorisations suivantes sont requises pour créer des tables chiffrées

  • s3tables:CreateTable

  • s3tables:PutTableEncryption

L’exemple d’AWS CLI suivant crée une nouvelle table avec un schéma de base et la chiffre à l’aide d’une clé AWS KMS gérée par le client. Pour utiliser cette commande, remplacez les espaces réservés à la saisie utilisateur par vos propres informations.

aws s3tables create-table \ --table-bucket-arn "arn:aws:s3tables:Region:ownerAccountId:bucket/amzn-s3-demo-table-bucket" \ --namespace "mydataset" \ --name "orders" \ --format "ICEBERG" \ --encryption-configuration '{ "sseAlgorithm": "aws:kms", "kmsKeyArn": "arn:aws:kms:Region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }' \ --metadata '{ "iceberg": { "schema": { "fields": [ { "name": "order_id", "type": "string", "required": true }, { "name": "order_date", "type": "timestamp", "required": true }, { "name": "total_amount", "type": "decimal(10,2)", "required": true } ] } } }'