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. Grâce à Cloud KMS, vous pouvez également afficher les journaux d'audit et 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).
Avant de commencer
Remarques
Tenez compte des points suivants lorsque vous utilisez Dataproc Metastore avec CMEK.
Le chiffrement CMEK est compatible avec les services Dataproc Metastore monorégionaux et multirégionaux (aperçu).
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.
Lorsque vous utilisez une clé Cloud External Key Manager, Google n'a aucun contrôle sur 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, la création du service échoue. Une fois qu'un service Dataproc Metastore est créé, si la clé devient indisponible, le service le devient également jusqu'à ce que la clé soit à nouveau disponible. Pour plus d'informations sur l'utilisation des clés externes, consultez Considérations relatives à Cloud EKM.
Limites
Tenez compte des limites suivantes lorsque vous utilisez Dataproc Metastore avec CMEK.
Vous ne pouvez pas activer CMEK sur un service existant.
Vous ne pouvez pas alterner les CMEK utilisées par un service compatible CMEK.
Vous ne pouvez pas utiliser de CMEK pour chiffrer les données utilisateur en transit, telles que les requêtes utilisateur et les réponses à ces requêtes.
Configurer CMEK pour Dataproc Metastore
Si vous n'avez pas encore de clé Cloud KMS, vous pouvez en créer une pour votre service Dataproc Metastore. Sinon, vous pouvez ignorer cette étape et utiliser une clé existante.
Facultatif : Créez une clé Cloud KMS.
Pour créer une clé Cloud KMS, vous devez d'abord créer un trousseau de clés, puis une clé stockée dans ce trousseau.
Pour créer un trousseau de clés
Pour créer un trousseau de clés, exécutez la commande gcloud kms keyrings create
suivante.
gcloud kms keyrings create KEY_RING \ --project=PROJECT_ID \ --location=LOCATION
Remplacez les éléments suivants :
KEY_RING
: nom de votre trousseau de clés.PROJECT_ID
: ID du Google Cloud projet dans lequel vous souhaitez créer le trousseau de clés.LOCATION
: région dans laquelle vous souhaitez créer le trousseau de clés.
Créer une clé
Pour créer une clé stockée dans votre trousseau, exécutez la commande suivante :gcloud kms keys create
.
gcloud kms keys create KEY_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --keyring=KEY_RING \ --purpose=encryption
Remplacez les éléments suivants :
KEY_NAME
: nom de la clé.KEY_RING
: nom du trousseau de clés que vous avez créé à l'étape précédente.
Accorder des autorisations de clé Cloud KMS
Utilisez les commandes suivantes pour accorder des autorisations de clé Cloud KMS pour Dataproc Metastore :
Accordez les autorisations au compte de service de l'agent de service Dataproc Metastore:
Si vous souhaitez configurer CMEK pour un service Dataproc Metastore multirégional, vous devez accorder à chaque clé les autorisations Cloud KMS nécessaires pour les comptes de service Dataproc Metastore et Cloud Storage.
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 à région unique avec une clé CMEK
Procédez comme suit pour configurer le chiffrement CMEK pour un service Dataproc Metastore à une seule région.
Console
Dans la console Google Cloud , accédez à 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 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 , accédez à la page Dataproc Metastore :
Sur la page Dataproc Metastore, cliquez sur le nom du service que vous souhaitez afficher.
La page Service detail (Informations sur le service) s'affiche.
Sous l'onglet Configuration, vérifiez que les détails indiquent que CMEK est activée.
gcloud
Pour créer un service monorégional avec chiffrement CMEK, exécutez la commandeGoogle Cloud
gcloud metastore services create
:gcloud metastore services create SERVICE \ --encryption-kms-key=KMS_KEY
Remplacez les éléments suivants :
SERVICE
: nom du nouveau service.KMS_KEY
: ID de ressource de la clé.
Créer un service multirégional avec une clé CMEK
Pour les services CMEK Dataproc Metastore multirégionaux, plusieurs clés de chiffrement doivent être fournies. Cela inclut une clé pour chaque région constitutive du service Dataproc Metastore multirégional, une clé pour la région témoin Spanner et une clé pour le continent.
Pour obtenir des informations sur votre service multirégional et les régions avec lesquelles il est configuré, vous pouvez exécuter la commande suivante.
gcloud metastore locations describe LOCATION
- Remplacez LOCATION par la multirégion dans laquelle vous avez créé votre service Dataproc Metastore.
Pour créer un service multirégional avec une clé CMEK
Procédez comme suit pour configurer le chiffrement CMEK pour un service Dataproc Metastore multirégion.
Console
Dans la console Google Cloud , accédez à la page Dataproc Metastore :
En haut de la page Dataproc Metastore, cliquez sur Créer.
La page Créer un service s'ouvre.
Sélectionnez Dataproc Metastore 2.
Dans la section "Tarifs et capacité", sélectionnez Enterprise Plus – Birégional.
Pour Protocole du point de terminaison, sélectionnez le point de terminaison approprié.
Sous Chiffrement, sélectionnez Clé Cloud KMS.
Sélectionnez les clés à utiliser pour chaque région, par exemple la région témoin Spanner et le continent.
Configurez les options de service restantes si nécessaire.
Cliquez sur Envoyer.
Vérifiez la configuration du chiffrement du service:
Dans la console Google Cloud , accédez à la page Dataproc Metastore :
Sur la page Dataproc Metastore, cliquez sur le nom du service que vous souhaitez afficher.
La page Service detail (Informations sur le service) s'ouvre.
Sous l'onglet Configuration, vérifiez que CMEK est activée.
gcloud
- Pour créer un service multirégional avec chiffrement CMEK, exécutez la commande
gcloud beta metastore services create
:
gcloud beta metastore services create SERVICE \ --location=LOCATION \ --instance-size=INSTANCE_SIZE \ --encryption-kms-keys=KMS_KEY1,KMS_KEY2,KMS_KEY_WITNESS,KMS_KEY_CONTINENT
Remplacez les éléments suivants :
SERVICE
: nom de votre nouveau service Dataproc Metastore.LOCATION
: Google Cloud multirégion dans laquelle vous souhaitez créer votre service Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.INSTANCE_SIZE
: taille de l'instance de votre service Dataproc Metastore multirégional. Par exemple, "petit", "moyen" ou "grand".KMS_KEY1, KMS_KEY2, KMS_KEY_WITNESS, KMS_KEY_CONTINENT
: ID de ressource de clé pour chacune des clés requises, y compris une clé dans la région du continent et une clé dans la région témoin Spanner. Les noms de clés sont listés au format suivant dans votre projet :projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
.
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.