Exigences d’autorisation pour le chiffrement SSE-KMS de S3 Tables
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 table S3, vous devez accorder des autorisations pour différentes identités de votre compte. Au minimum, votre identité d’accès et le principal 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:GenerateDataKeykms:Decrypt
Important
Pour utiliser SSE-KMS sur des tables, le principal du service de maintenance d’Amazon S3 Tables (
maintenance.s3tables.amazonaws.com) a besoin dekms:GenerateDataKeyet d’autorisationskms:Decryptsur 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’analytique AWS : si vous utilisez des tables chiffrées SSE-KMS dans les services d’analytique AWS, votre rôle d’intégration doit être autorisé à utiliser votre clé KMS.
Autorisations pour un accès direct : si vous travaillez directement avec des tables chiffrées SSE-KMS, par le biais de méthodes telles que le point de terminaison Iceberg REST d’Amazon S3 Tables ou le catalogue d’Amazon S3 Tables pour Apache Iceberg, vous devez accorder 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 principal de service de métadonnées S3 (
metadata.s3.amazonaws.com) l’accès à 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 stratégie de clé. Pour plus d’informations sur les autorisations entre comptes pour les clés KMS, consultez Autorisation de comptes AWS externes à utiliser une clé KMS dans le Guide du développeur du service AWS Key Management Service.
Rubriques
Octroi des autorisations de principal de service de maintenance de 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 chiffrée SSE-KMS, S3 Tables vérifie que le principal maintenance.s3tables.amazonaws.com 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 échoue.
Pour accorder un accès de maintenance aux tables chiffrées SSE-KMS, vous pouvez utiliser l’exemple de stratégie de clé suivant. Dans cette politique, le principal du service maintenance.s3tables.amazonaws.com est autorisé à utiliser une clé KMS spécifique pour chiffrer et déchiffrer les tables d’un compartiment de table spécifique. Pour utiliser cette stratégie, remplacez les espaces réservés à la saisie utilisateur par vos propres informations :
Octroi aux principaux IAM des autorisations leur permettant d’utiliser des tables chiffrées dans les services d’analytique AWS intégrés
Pour utiliser les tables S3 dans les services d’analytique AWS, vous intégrez vos compartiments de table à Amazon SageMaker Lakehouse. Cette intégration permet aux services d’analytique AWS de découvrir et d’accéder automatiquement aux données de tables. Pour plus d’informations sur l’intégration, consultez Intégration d’Amazon S3 Tables aux services d’analytique AWS.
Lorsque vous utilisez des tables chiffrées SSE-KMS dans ces services, le rôle que vous utilisez doit être autorisé à utiliser votre clé AWS KMS pour les opérations de chiffrement. Vous pouvez appliquer ces autorisations au rôle S3TablesRoleForLakeFormation 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 service S3TablesRoleForLakeFormation l’autorisation d’utiliser une clé KMS spécifique dans votre compte pour les opérations de chiffrement. Pour utiliser la politique, remplacez les espaces réservés d’entrée utilisateur par vos propres valeurs.
{ "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 d’utiliser directement des tables chiffrées
Lorsque vous utilisez 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 stratégie de clé KMS.
Octroi des autorisations de principal de service de métadonnées S3 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 stratégie de clé suivant. Dans cette stratégie, vous autorisez les principaux de service metadata.s3.amazonaws.com et maintenance.s3tables.amazonaws.com à chiffrer et déchiffrer les tables d’un compartiment de table spécifique à l’aide d’une clé spécifique. Pour utiliser cette stratégie, remplacez les espaces réservés à la saisie utilisateur par vos propres informations :