Utiliser des clés de chiffrement gérées par le client (CMEK)

Les clés de chiffrement gérées par le client (CMEK) permettent aux utilisateurs de contrôler les données écrites par les pipelines Cloud Data Fusion, y compris :

  • Les métadonnées du cluster Dataproc
  • Les sources et récepteurs de données Cloud Storage, BigQuery et Pub/Sub

Cette page explique comment utiliser une clé de chiffrement Cloud Key Management Service (Cloud KMS) avec Cloud Data Fusion. Une clé de chiffrement gérée par le client (CMEK, Customer-Managed Encryption Key) permet de chiffrer les données au repos avec une clé contrôlable via Cloud KMS. Vous pouvez créer un pipeline protégé par une clé CMEK, ou accéder aux données protégées par une clé CMEK dans les sources et les récepteurs.

Ressources Cloud Data Fusion

Cloud Data Fusion est compatible avec les clés de chiffrement gérées par le client (CMEK) pour les plug-ins Cloud Data Fusion suivants :

  • Récepteurs Cloud Data Fusion :

    • Cloud Storage
    • Cloud Storage multi-fichiers
    • BigQuery
    • BigQuery multi-tables
    • Pub/Sub
  • Actions Cloud Data Fusion :

    • Cloud Storage créer
    • BigQuery exécuter

Cloud Data Fusion est compatible avec les clés de chiffrement gérées par le client (CMEK) pour les clusters Dataproc. Cloud Data Fusion crée un cluster Dataproc temporaire qui est utilisé dans le pipeline, puis supprimé une fois le pipeline terminé. CMEK protège les métadonnées de cluster écrites dans les éléments suivants :

  • Disques persistants associés aux VM de cluster.
  • Résultats des pilote de tâches et autres métadonnées écrites dans le bucket de préproduction Dataproc, créé automatiquement ou par l'utilisateur.

Configurer les clés de chiffrement gérées par le client (CMEK)

  1. Créez une clé Cloud KMS

  2. Récupérez l'ID de ressource de la clé que vous avez créée, que vous utiliserez plus tard dans cette procédure.

      projects/project-id/locations/region/keyRings/key-ring-name/cryptoKeys/key-name
    

    1. Dans Cloud Console, accédez à la page Clés cryptographiques.
    2. Cliquez sur le menu à trois points à côté de votre clé.
    3. Cliquez sur Copier l'ID de ressource. Votre ID de ressource est alors copié dans le presse-papiers.
  3. Configurez les comptes de service de votre projet pour utiliser votre clé :

    1. Obligatoire : Vous devez attribuer le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS au Compte de service Compute Engine System (voir la section Attribuer des rôles à un compte de service pour des ressources spécifiques). Ce compte, auquel le rôle Agent de service Compute Engine est attribué par défaut, se présente sous la forme suivante :
      service-[PROJECT_NUMBER]@compute-system.iam.gserviceaccount.com
      
    2. Obligatoire : Vous devez attribuer le Rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS au compte de service Cloud Storage (voir la section Attribuer une clé Cloud KMS à un compte de service Cloud Storage). Ce compte se présente comme suit :
      service-[PROJECT_NUMBER]@gs-project-accounts.iam.gserviceaccount.com
      
    3. Facultatif : Si votre pipeline utilise des ressources BigQuery, attribuez le Rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS au compte de service BigQuery (voir la section Accorder une autorisation de chiffrement et de déchiffrement). Ce compte se présente comme suit :
      bq-[PROJECT_NUMBER]@bigquery-encryption.iam.gserviceaccount.com
      
    4. Facultatif : Si votre pipeline utilise des ressources Pub/Sub, attribuez le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS au compte de service Pub/Sub (voir la section Utiliser les clés de chiffrement gérées par le client). Ce compte se présente comme suit :
      service-[PROJECT_NUMBER]@gcp-sa-pubsub.iam.gserviceaccount.com
      

Utiliser les CMEK avec les métadonnées du cluster Dataproc

Pour chiffrer les métadonnées de disque persistant et de bucket de préproduction écrites par le cluster Dataproc exécuté dans votre pipeline à l'aide des CMEK, procédez comme suit :

  • Recommandé : Créez un profil de calcul Dataproc (édition Enterprise uniquement).
  • Modifiez un profil de calcul Dataproc existant (édition Developer, Basic ou Enterprise).
  1. Ouvrez la page Instances de Cloud Data Fusion dans Cloud Console.

    Ouvrir la page "Instances"

  2. Dans la colonne Actions de l'instance, cliquez sur Afficher l'instance.
  3. Dans l'interface utilisateur Web de Cloud Data Fusion, cliquez sur ADMINISTRATEUR SYSTÈME.
  4. Cliquez sur l'onglet Configuration.
  5. Cliquez sur le menu déroulant Profils de calcul système.
  6. Cliquez sur Créer un profil.
  7. Sélectionnez Cloud Dataproc.
  8. Saisissez un Libellé de profil, un Nom de profil et une Description.
  9. Par défaut, Cloud Data Fusion crée automatiquement un bucket Cloud Storage à utiliser comme bucket de préproduction Dataproc. Si vous préférez utiliser un bucket Cloud Storage qui existe déjà dans votre projet, procédez comme suit :
    1. Dans la section Paramètres généraux, saisissez le bucket Cloud Storage existant dans le champ Bucket Cloud Storage.
    2. Ajoutez votre clé Cloud KMS à votre bucket Cloud Storage.
  10. Récupérez l'ID de ressource de votre clé Cloud KMS. Dans la section Paramètres généraux, saisissez votre ID de ressource dans le champ Nom de la clé de chiffrement.
  11. Cliquez sur Créer.
  12. Si plusieurs profils sont répertoriés dans la section Profils de calcul système de l'onglet Configuration, définissez le nouveau profil Dataproc comme profil par défaut. Pour cela, maintenez le curseur sur le champ du nom du profil et cliquez sur l'étoile qui s'affiche.
    Sélectionnez le profil par défaut.

Utiliser les CMEK avec d'autres ressources

Pour utiliser les CMEK afin de chiffrer les données écrites par d'autres ressources, telles que les récepteurs Cloud Storage, BigQuery ou Pub/Sub, effectuez l'une des opérations suivantes :

  • Utilisez un argument d'exécution.
  • Définissez une préférence système Cloud Data Fusion.

Argument d'exécution

  1. Sur la page Pipeline Studio de Cloud Data Fusion, cliquez sur la flèche de menu déroulant située à droite du bouton Exécuter.
  2. Dans le champ Nom, saisissez gcp.cmek.key.name.
  3. Dans le champ Valeur, saisissez l'ID de ressource de votre clé.
    Sélectionnez l'édition Data Fusion.
  4. Cliquez sur Enregistrer.

Préférence

  1. Dans l'interface utilisateur de Cloud Data Fusion, cliquez sur ADMINISTRATEUR SYSTÈME.
  2. Cliquez sur l'onglet Configuration.
  3. Cliquez sur le menu déroulant Préférences système.
  4. Cliquez sur Modifier les préférences système.
  5. Dans le champ Clé, saisissez gcp.cmek.key.name.
  6. Dans le champ Valeur, saisissez l'ID de ressource de votre clé.
    Sélectionnez l'édition Data Fusion.
  7. Cliquez sur Enregistrer et fermer.