Par défaut, Dataproc Metastore chiffre le contenu client au repos. Dataproc Metastore gère le chiffrement sans intervention de votre part. Cette option est appelée chiffrement par défaut de Google.
Si vous souhaitez contrôler vos clés de chiffrement, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS avec des services bénéficiant d'une intégration des CMEK, y compris Dataproc Metastore. L'utilisation de clés Cloud KMS vous permet de contrôler leur niveau de protection, leur emplacement, leur calendrier de rotation, leurs autorisations d'utilisation et d'accès, ainsi que leurs limites cryptographiques. Cloud KMS vous permet également d'afficher les journaux d'audit et de contrôler les cycles de vie des clés. Au lieu de laisser Google posséder et gérer les clés de chiffrement de clés (KEK) symétriques qui protègent vos données, c'est vous qui vous chargez de cette tâche dans Cloud KMS.
Une fois que vous avez configuré vos ressources avec des CMEK, l'accès à vos ressources Dataproc Metastore est semblable à celui du chiffrement par défaut de Google. Pour en savoir plus sur les options de chiffrement, consultez Clés de chiffrement gérées par le client (CMEK).
Remarques
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.
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.
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.
Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la disponibilité de votre clé gérée en externe. Si la clé n'est plus disponible pendant la période de création du service Dataproc Metastore, la création du service échoue. Une fois un service Dataproc Metastore créé, si la clé devient indisponible, le service devient indisponible jusqu'à ce que la clé soit à nouveau disponible. Pour en savoir plus sur l'utilisation des clés externes, consultez la section Considérations concernant Cloud EKM.
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.
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 elle n'est pas déjà disponible). La commande suivante est un exemple de création d'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 Informations sur le service s'ouvre pour ce service.
Sous l'onglet Configuration, vérifiez que les détails indiquent que CMEK 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.
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.
Étape suivante
- Clés de chiffrement gérées par le client
- Accès aux services
- Importer des métadonnées dans un service