Exigences d'autorisation pour le chiffrement SSE-KMS des tables S3 - 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.

Exigences d'autorisation pour le chiffrement SSE-KMS des tables S3

Lorsque vous utilisez le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS) pour les tables des compartiments de tables S3, vous devez accorder des autorisations pour les différentes identités de votre compte. Au minimum, votre identité d'accès et le responsable de maintenance de S3 Tables doivent avoir accès à votre clé, les autres autorisations requises dépendent de votre cas d'utilisation.

Autorisations nécessaires

Pour accéder à une table chiffrée avec une clé KMS, vous devez disposer des autorisations suivantes sur cette clé :

  • kms:GenerateDataKey

  • kms:Decrypt

Important

Pour utiliser SSE-KMS sur des tables, le principal du service de maintenance des tables Amazon S3 (maintenance.s3tables.amazonaws.com) a besoin d'kms:Decryptautorisations kms:GenerateDataKey et d'autorisations sur la clé.

Autorisations supplémentaires

Ces autorisations supplémentaires sont requises en fonction de votre cas d'utilisation :

  • Autorisations pour l'intégration des services d' AWS analyse : si vous utilisez des tables chiffrées SSE-KMS dans les services AWS d'analyse, votre rôle d'intégration doit être autorisé à utiliser votre clé KMS.

  • Autorisations d'accès direct : si vous travaillez directement avec des tables chiffrées SSE-KMS, par le biais de méthodes telles que les tables Amazon S3 Iceberg REST endpoint ou catalogue de tables Amazon S3 pour Apache Iceberg, vous devez autoriser le rôle IAM utilisé par votre client à accéder à votre clé.

  • Autorisations pour les tables de métadonnées S3 — Si vous utilisez le chiffrement SSE-KMS pour les tables de métadonnées S3, vous devez fournir au service de métadonnées S3 l'accès principal (metadata.s3.amazonaws.com) à votre clé KMS. Cela permet aux métadonnées S3 de mettre à jour les tables chiffrées afin qu'elles reflètent vos dernières modifications de données.

Note

Pour les clés KMS entre comptes, votre rôle IAM nécessite à la fois une autorisation d'accès par clé et une autorisation explicite dans la politique des clés. Pour plus d'informations sur les autorisations entre comptes pour les clés KMS, voir Autoriser les AWS comptes externes à utiliser une clé KMS dans le Guide du développeur AWS Key Management Service de services.

Octroi des autorisations principales au service de maintenance S3 Tables sur votre clé KMS

Cette autorisation est requise pour créer des tables chiffrées SSE-KMS et pour permettre la maintenance automatique des tables, comme le compactage, la gestion des instantanés et la suppression de fichiers non référencés sur les tables chiffrées.

Note

Chaque fois que vous demandez la création d'une table cryptée SSE-KMS, S3 Tables vérifie que le maintenance.s3tables.amazonaws.com principal a accès à votre clé KMS. Pour effectuer cette vérification, un objet de zéro octet est temporairement créé dans votre compartiment de table. Cet objet sera automatiquement supprimé par les opérations de maintenance de suppression de fichiers non référencés. Si la clé KMS que vous avez spécifiée pour le chiffrement ne dispose pas d'un accès de maintenance, l'opération CreateTable échouera.

Pour accorder un accès de maintenance aux tables chiffrées SSE-KMS, vous pouvez utiliser l'exemple de politique de clé suivant. Dans cette politique, le principal du maintenance.s3tables.amazonaws.com service est autorisé à utiliser une clé KMS spécifique pour chiffrer et déchiffrer les tables d'un compartiment de tables spécifique. Pour utiliser cette politique, remplacez-la user input placeholders par vos propres informations :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }

Octroi aux principaux IAM des autorisations leur permettant de travailler avec des tables chiffrées dans les services d'analyse intégrés AWS

Pour utiliser les tables S3 dans les services AWS d'analyse, vous devez intégrer vos compartiments de tables à Amazon SageMaker Lakehouse. Cette intégration permet aux services AWS d'analyse de découvrir et d'accéder automatiquement aux données des tables. Pour plus d'informations sur l'intégration, consultezUtilisation d'Amazon S3 Tables avec des services AWS d'analyse.

Lorsque vous utilisez des tables chiffrées SSE-KMS dans ces services, le rôle que vous utilisez doit être autorisé à utiliser votre AWS KMS clé pour les opérations de chiffrement. Vous pouvez appliquer ces autorisations au S3TablesRoleForLakeFormation rôle créé lors de l'intégration ou à votre propre rôle IAM.

L'exemple de politique IAM intégrée suivant peut être utilisé pour accorder au rôle de S3TablesRoleForLakeFormation service l'autorisation d'utiliser une clé KMS spécifique dans votre compte pour les opérations de chiffrement. Pour utiliser cette politique, remplacez-la input placeholder values par la vôtre.

{ "Sid": "AllowTableRoleAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/S3TablesRoleForLakeFormation" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>" }

Octroi aux principaux IAM des autorisations leur permettant de travailler directement avec des tables chiffrées

Lorsque vous travaillez avec des tables chiffrées à l'aide de méthodes tierces ou d'accès direct, vous devez accorder au rôle que vous utilisez l'accès à votre clé KMS. Les exemples suivants montrent comment accorder l'accès par le biais d'une politique IAM ou d'une politique de clé KMS.

IAM policy

Associez cette politique intégrée à votre rôle IAM pour autoriser l'accès aux clés KMS. Pour utiliser cette politique, input placeholder values remplacez-la par votre propre code KMS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "<kms-key-arn>" } ] }
KMS key policy

Associez cette politique intégrée à une clé KMS pour autoriser le AWS KMS rôle spécifié à utiliser la clé. Pour utiliser cette politique, remplacez le input placeholder values par votre rôle IAM.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<catalog-account-id>:role/<role-name>" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*" }

Octroi au service de métadonnées S3 des autorisations principales pour utiliser votre clé KMS

Pour permettre à Amazon S3 de mettre à jour les tables de métadonnées chiffrées SSE-KMS et d'effectuer la maintenance de ces tables de métadonnées, vous pouvez utiliser l'exemple de politique clé suivant. Dans cette politique, vous autorisez les responsables metadata.s3.amazonaws.com et les responsables du maintenance.s3tables.amazonaws.com service à chiffrer et à déchiffrer les tables d'un compartiment de tables spécifique à l'aide d'une clé spécifique. Pour utiliser cette politique, remplacez-la user input placeholders par vos propres informations :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": [ "maintenance.s3tables.amazonaws.com", "metadata.s3.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>", "Condition": { "StringLike ": { "kms:EncryptionContext:aws:s3:arn": "<table-or-table-bucket-arn>/*" } } } ] }