Configurer le chiffrement pour S3 avec KMS
Cette page explique comment configurer le chiffrement côté serveur avec une clé KMS pour la lecture des fichiers dans les chemins s3a:// à l'aide d'Unity Catalog. Il est fourni aux utilisateurs qui ont besoin d'un accès inter-cloud aux tables externes et aux volumes dans les compartiments S3 chiffrés.
Configurer le chiffrement pour S3 à l'aide de Unity Catalog
AWS prend en charge les politiques de compartiment S3 qui exigent que les en-têtes de chiffrement soient définis par le client. Si votre compartiment S3 nécessite des en-têtes de chiffrement sur les requêtes, vous devez configurer un algorithme de chiffrement sur l'emplacement externe dans Unity Catalog. Ce paramètre configure l'en-tête correct lors de l'accès aux données dans votre compartiment S3. Le chiffrement SSE n'est pas pris en charge avec les tables externes partagées à l'aide d'OpenSharing.
Étape 1 : Mettre à jour votre politique de clé KMS dans AWS
Pour protéger les données dans S3, AWS prend en charge le chiffrement côté serveur (SSE) avec les clés gérées Amazon S3 (SSE-S3) ou les clés AWS KMS (SSE-KMS). Si vous utilisez une clé gérée AWS S3, passez à l'étape 2.
-
Dans AWS, rendez-vous au service KMS.
-
Cliquez sur la clé à laquelle vous voulez ajouter une autorisation.
-
Dans la section Stratégie de clé , sélectionnez Passer à la vue de la stratégie .
-
Modifiez la section de politique de clé qui permet à S3 d'utiliser la clé, par exemple :
JSON{
"Sid": "Allow access through S3 for all principals in the account that are authorized to use S3",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:CallerAccount": "<AWS ACCOUNT ID>",
"kms:ViaService": "s3.<REGION>.amazonaws.com"
}
}
}, -
Cliquez sur Enregistrer les modifications .
Étape 2 : Configurer l’accès à S3 à l’aide d’Unity Catalog
-
Créez un identifiant de stockage pour vous connecter à S3, en suivant les instructions de Créer un identifiant de stockage qui accède à GCS.
Assurez-vous de créer la stratégie IAM dans le même compte que le compartiment S3. Si vous utilisez SSE-KMS, incluez les éléments suivants dans la stratégie :
JSON{
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:GenerateDataKey*"
],
"Resource": [
"arn:aws:kms:<KMS-KEY>"
],
"Effect": "Allow"
}, -
Créer un emplacement externe pour se connecter à S3 à l'aide de Catalog Explorer ou de SQL.
-
Configurez le chiffrement côté serveur sur votre emplacement externe, en suivant les instructions de Configuration d'un algorithme de chiffrement sur un emplacement externe (AWS S3 uniquement).