Clés gérées par le client pour Unity Catalog
Cette fonctionnalité nécessite le niveau Enterprise.
Les clés gérées par le client (CMK) pour Unity Catalog vous permettent de protéger les données gérées par Databricks avec vos propres clés de chiffrement. Vous pouvez configurer le chiffrement au niveau du catalogue, en utilisant une clé distincte pour chaque catalogue en fonction de la sensibilité des données ou des exigences de conformité.
Pour plus d'informations sur CMK pour les services gérés et le stockage du workspace, consultez Clés gérées par le client pour les services gérés.
Qu'est-ce que CMK pour Unity Catalog ?
CMK for Unity Catalog vous permet de protéger les données dans les catalogues Unity Catalog soutenus par un stockage default en utilisant vos propres clés de chiffrement issues du service de gestion de clés AWS (KMS). Pour un contrôle plus précis, vous pouvez configurer une clé distincte gérée par le client pour des catalogues spécifiques. Pour refuser l'accès aux données, révoquez la clé dans AWS KMS.
Avantages de CMK pour Unity Catalog
- Contrôle granulaire du chiffrement : gérez le chiffrement au niveau du catalogue, permettant à différents catalogues d’utiliser des clés de chiffrement différentes en fonction de la sensibilité des données ou des exigences de conformité.
- Protection multiclés : la CMK sécurise vos données contre l'accès au niveau de la couche de stockage. Les données ne peuvent être consultées que sur les workspaces autorisés, conformément aux politiques affinées de Unity Catalog.
- Conformité et audit : Satisfaire aux exigences réglementaires concernant les clés de chiffrement contrôlées par le client et maintenir les pistes d'audit d'accès et d'utilisation des clés.
- **Révocation de clé :** Révoquez l'accès à la CMK dans AWS KMS afin de conserver la pleine propriété de vos données.
- Gestion centralisée des clés : gérez toutes les clés de chiffrement via AWS KMS, conformément à vos pratiques de sécurité existantes.
Fonctionnement de CMK pour Unity Catalog
CMK pour Unity Catalog sur AWS utilise les clés AWS KMS, les configurations CMK et les paramètres de chiffrement au niveau du catalogue afin d'appliquer un chiffrement contrôlé par le client. Les composants suivants sont essentiels pour CMK pour Unity Catalog sur AWS :
- **Clés AWS KMS :** Vous créez et gérez des clés de chiffrement dans AWS Key Management Service. Ces clés font partie d'une hiérarchie de chiffrement multiclés que Databricks utilise pour protéger les données dans les catalogues Unity Catalog.
- Configurations CMK : vous créez des configurations CMK dans la console de compte Databricks pour enregistrer vos clés AWS KMS auprès de Databricks. Les configurations CMK sont des objets de niveau compte qui doivent être créées avant de pouvoir appliquer CMK à un catalogue.
- Permissions IAM : Vous devez accorder l'accès à l'ARN racine Databricks à votre clé AWS KMS en mettant à jour la politique de clé ou en suivant les conseils fournis dans la console du compte.
- Chiffrement au niveau du catalogue : vous configurez le chiffrement directement sur des catalogues individuels à l'aide de Catalog Explorer ou de l'API Unity Catalog. Lorsque vous créez ou mettez à jour un catalogue avec les paramètres CMK, Databricks chiffre toutes les données écrites dans ce catalogue à l'aide de votre clé gérée par le client. Ceci s'applique uniquement aux catalogues soutenus par un stockage default.
- Application dynamique : Lorsque des données sont écrites dans un catalogue protégé par une clé CMK, Databricks utilise votre clé KMS pour chiffrer les données. Lorsque les données sont lues, Databricks demande le déchiffrement à AWS KMS. Si vous révoquez l'accès de Databricks à la clé, le déchiffrement échoue et les données deviennent inaccessibles.
Limitations
- Vous ne pouvez configurer cette fonctionnalité qu'en utilisant la console de compte Databricks ou l'API REST. La prise en charge de Terraform n'est pas disponible.
- Cette fonctionnalité s'applique uniquement aux catalogues sauvegardés par le stockage default. Cela ne s'applique pas aux catalogues avec des emplacements de stockage externes.
Prérequis
Avant de configurer CMK pour Unity Catalog sur AWS, vérifiez que vous disposez des éléments suivants :
- Autorisations d'administrateur de compte : vous devez être un administrateur de compte Databricks pour créer des configurations CMK dans la console du compte.
- Clé AWS KMS : Vous devez disposer d'une clé AWS KMS existante dans votre compte AWS. Cette clé doit être dans un état actif. Copiez l'ARN de la clé, dont le format est :
arn:aws:kms:<region>:<account-id>:key/<key-id>. - Autorisations AWS IAM : Vérifiez que l'ARN racine Databricks a accès à votre clé KMS. Suivez le guide dans Configurer les clés gérées par le client ou utilisez les instructions générées sur la page des comptes CMK.
- Autorisations Unity Catalog : pour créer ou mettre à jour des catalogues avec CMK, vous devez disposer des privilèges
CREATE CATALOGetUSE CATALOGdans Unity Catalog.
Configurer CMK pour Unity Catalog
Suivez ces étapes pour configurer des clés gérées par le client pour les catalogues Unity Catalog sur AWS.
Étape 1 : créer une configuration CMK dans la console du compte
**Autorisations requises :** Administrateur de compte
La création d'une configuration CMK enregistre votre clé AWS KMS auprès de Databricks.
-
Dans la console de compte Databricks, accédez à Sécurité > Clés de chiffrement .
-
Cliquez sur Ajouter une clé de chiffrement .
-
Configurez les paramètres de clé de chiffrement :
- Nom : Saisissez un nom descriptif pour votre configuration CMK, tel que
finance-catalog-cmkoupii-data-cmk. - Cas d'utilisation : choisissez entre Services gérés ou Services gérés et stockage de l'Workspace .
- ARN de la clé : saisissez l’ARN de votre clé AWS KMS.
- Nom : Saisissez un nom descriptif pour votre configuration CMK, tel que
-
Cliquez sur Ajouter pour créer la configuration CMK.
-
Copiez l'ID de configuration CMK à partir de la console du compte. Vous utilisez cet ID lorsque vous créez ou mettez à jour des catalogues.
Étape 2 : Accorder à Databricks l'accès à votre clé KMS
Après avoir créé la configuration CMK, vous devez accorder à l'ARN racine Databricks l'accès à votre clé AWS KMS :
- Dans la console AWS, accédez à votre clé KMS.
- Mettez à jour la stratégie de clé pour accorder à l'ARN racine Databricks les autorisations nécessaires (
kms:Encrypt,kms:Decrypt,kms:GenerateDataKey*,kms:DescribeKey). - Suivez les instructions dans Configurer les clés gérées par le client ou utilisez les instructions générées affichées dans la console de compte Databricks.
Étape 3 : créer un nouveau catalogue avec CMK
Autorisations requises : CREATE CATALOG dans Unity Catalog
Pour créer un nouveau catalogue avec protection CMK, utilisez l’API Unity Catalog :
curl -X POST \
-H "Authorization: Bearer <api_token>" \
-H "Content-Type: application/json" \
https://<workspace_url>/api/2.1/unity-catalog/catalogs \
-d '{
"name": "<catalog_name>",
"comment": "Catalog with customer-managed encryption",
"storage_mode": "DEFAULT_STORAGE",
"encryption_settings": {
"customer_managed_key_id": "<cmk-id>"
}
}'
Remplacez les valeurs suivantes :
<workspace_url>: URL de votre workspace Databricks (par exemple,https://dbc-1234567-a8b9.cloud.databricks.com)<api_token>: Votre jeton d'accès personnel Databricks<catalog_name>: le nom de votre nouveau catalogue (par exemple,finance_dataoucustomer_pii)<cmk-id>: L'ID de configuration CMK de l'étape 1
Étape 4 : Mettre à jour un catalogue existant avec CMK
Autorisations requises : MANAGE sur le catalogue ou la propriété du catalogue
Pour ajouter ou modifier la protection CMK sur un catalogue existant qui utilise le stockage default :
- Dans l'Explorateur de catalogues, cliquez sur le nom du catalogue.
- Cliquez sur l'onglet tab .
- Sous Avancé , cliquez sur Paramètres de chiffrement .
- Dans la boîte de dialogue, sélectionnez votre clé gérée par le client.
- Cliquez sur Enregistrer .
Vous pouvez modifier la clé associée à un catalogue à tout moment en répétant ces étapes. Vous ne pouvez pas désactiver CMK une fois qu'il est activé sur un catalogue.
Lorsque vous ajoutez CMK à un catalogue existant, Databricks chiffre uniquement les nouvelles données écrites dans le catalogue avec votre clé gérée par le client. Les clés gérées par Databricks continuent de chiffrer les données existantes. Pour chiffrer toutes les données avec votre clé gérée par le client, vous devez réécrire les données existantes.
Vérifier la configuration CMK
Pour vérifier que votre catalogue est configuré avec CMK, utilisez l'API Unity Catalog pour obtenir les détails du catalogue :
curl -X GET \
-H "Authorization: Bearer <api_token>" \
-H "Content-Type: application/json" \
"https://<workspace_url>/api/2.1/unity-catalog/catalogs/<catalog_name>"
La réponse inclut le champ encryption_settings pour les catalogues configurés avec CMK :
{
"name": "<catalog_name>",
"storage_mode": "DEFAULT_STORAGE",
"encryption_settings": {
"customer_managed_key_id": "<cmk-id>"
}
}
Révoquer l'accès aux données chiffrées
Pour refuser l'accès de Databricks aux données chiffrées avec votre clé gérée par le client, désactivez votre clé dans AWS KMS :
- Dans la console AWS, accédez à votre clé KMS.
- Désactiver la clé.
Après avoir désactivé la clé, Databricks ne peut plus déchiffrer les données des catalogues à l'aide de cette configuration CMK. Toute tentative de lecture de données à partir de ces catalogues échoue avec une erreur de déchiffrement.
Il peut y avoir un délai entre le moment où vous désactivez la clé et le moment où l'accès aux données est refusé.
Pour restaurer l'accès, réactivez la clé dans AWS KMS.