Aller au contenu principal

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.

  1. Dans AWS, rendez-vous au service KMS.

  2. Cliquez sur la clé à laquelle vous voulez ajouter une autorisation.

  3. Dans la section Stratégie de clé , sélectionnez Passer à la vue de la stratégie .

  4. 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"
    }
    }
    },
  5. Cliquez sur Enregistrer les modifications .

Étape 2 : Configurer l’accès à S3 à l’aide d’Unity Catalog

  1. 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"
    },

    Voir Étape 1 : Créer un rôle IAM.

  2. Créer un emplacement externe pour se connecter à S3 à l'aide de Catalog Explorer ou de SQL.

  3. 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).