Cette page explique comment utiliser les clés de chiffrement gérées par le client (CMEK) pour protéger les services Dataproc Metastore. Une clé CMEK fournit un chiffrement données au repos à l'aide d'une clé contrôlable via Cloud Key Management Service. Vous pouvez les stocker sous forme de clés logicielles, dans un cluster HSM ou en externe.
Avant de commencer
Si vous souhaitez que votre service Dataproc Metastore s'exécute dans un périmètre VPC Service Controls, vous devez ajouter l'API Cloud Key Management Service (Cloud KMS) au périmètre.
Configurer la compatibilité CMEK avec Dataproc Metastore
Afin de configurer la compatibilité CMEK pour Dataproc Metastore, vous devez d'abord accorder les permissions de clés Cloud KMS aux comptes de service Dataproc Metastore et Cloud Storage. Vous pouvez ensuite créer un service Dataproc Metastore qui utilise une clé CMEK.
Accorder des autorisations de clé Cloud KMS
Utilisez les commandes suivantes pour accorder des autorisations de clé Cloud KMS pour Dataproc Metastore:
gcloud
Créez une clé CMEK dans Cloud KMS (si aucune clé n'est déjà disponible). La commande suivante montre comment créer une clé logicielle:
gcloud config set project PROJECT_ID gcloud kms keyrings create KEY_RING \ --project KEY_PROJECT \ --location=LOCATION gcloud kms keys create KEY_NAME \ --project KEY_PROJECT \ --location=LOCATION \ --keyring=KEY_RING \ --purpose=encryption
De même, vous pouvez créer une clé HSM ou créer une clé EKM.
Accordez les autorisations au compte de service de l'agent de service Dataproc Metastore:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member=serviceAccount:$(gcloud beta services identity create \ --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Accordez des autorisations au compte de service Cloud Storage.
gcloud storage service-agent --authorize-cmek projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Créer un service Dataproc Metastore avec une clé CMEK
Procédez comme suit pour configurer le chiffrement CMEK lors de la création du service:
Console
Dans la console Google Cloud, ouvrez la page Dataproc Metastore:
En haut de la page Dataproc Metastore, cliquez sur Créer.
La page Créer un service s'ouvre.
Configurez votre service selon vos besoins.
Sous Chiffrement, cliquez sur Utiliser une clé de chiffrement gérée par le client (CMEK).
Sélectionnez la clé gérée par le client.
Cliquez sur Envoyer.
Vérifiez la configuration du chiffrement du service:
Dans la console Google Cloud, ouvrez la page "Dataproc Metastore" :
Sur la page Dataproc Metastore, cliquez sur le nom du service que vous souhaitez afficher.
La page Détails du service correspondant à ce service s'ouvre.
Dans l'onglet Configuration, vérifiez que les informations indiquent que la clé CMEK est est activé.
gcloud
Exécutez la commande
gcloud metastore services create
pour créer un service avec chiffrement CMEK :gcloud metastore services create SERVICE \ --encryption-kms-key=KMS_KEY
Remplacez les éléments suivants :
SERVICE
: nom du nouveau service.KMS_KEY
: fait référence à l'ID de ressource de la clé.
Vérifiez que la création a réussi.
Données Dataproc Metastore protégées par des clés de chiffrement fournies par Google
La base de données Cloud Monitoring n'est pas compatible avec le chiffrement CMEK. À la place, Google Cloud utilise des clés de chiffrement Google pour protéger les noms et les configurations de service de vos services Dataproc Metastore.
Importer des données dans un service compatible avec les CMEK et en exporter
Si vous souhaitez que vos données restent chiffrées avec une clé gérée par le client lors d'une importation, vous devez définir le chiffrement CMEK sur le bucket Cloud Storage avant d'importer des données à partir de ce bucket.
Vous pouvez importer des données à partir d'un bucket Cloud Storage non protégé par CMEK. Après l'importation, les données stockées dans Dataproc Metastore sont protégées en fonction des paramètres CMEK du service de destination.
Lors de l'exportation, le vidage de la base de données exportée est protégé en fonction des paramètres CMEK du bucket de stockage de destination.
Mises en garde concernant CMEK pour Dataproc Metastore
La désactivation ou la suppression du chiffrement CMEK pour un service compatible avec les CMEK rend ce service inutilisable irrécupérable.
- Les données sont définitivement perdues.
Vous ne pouvez pas activer les clés de chiffrement gérées par le client sur un service existant.
Vous ne pouvez pas alterner la clé utilisée par un service compatible CMEK.
Un service compatible avec les CMEK n'est pas compatible avec la synchronisation de Data Catalog. La mise à jour d'un service compatible avec CMEK pour activer la synchronisation de Data Catalog échoue. Vous ne pouvez pas non plus créer de service avec les deux fonctionnalités activées.
Vous ne pouvez pas utiliser de clés de chiffrement gérées par le client pour chiffrer les données utilisateur en transit, telles que les requêtes utilisateur et les réponses à ces requêtes.
Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la la disponibilité de votre clé gérée en externe. Si la clé devient indisponible pendant la période de création du service Dataproc Metastore, le service la création échoue. Une fois qu'un service Dataproc Metastore est Si la clé devient indisponible, le service devient indisponible. jusqu'à ce que la clé soit disponible. Pour en savoir plus sur l'utilisation des clés externes, consultez la section Considérations concernant Cloud EKM.
Étape suivante
- Clés de chiffrement gérées par le client
- Accès aux services
- Importer des métadonnées dans un service