Utiliser les clés de chiffrement gérées par le client

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) pour protéger Eventarc et les données au repos associées. Ces clés sont créées et gérées via Cloud Key Management Service (Cloud KMS) et stockées sous forme de clés logicielles, dans un cluster Cloud HSM ou en externe à l'aide de Cloud External Key Manager.

L'activation d'un canal avec une CMEK protège les données qui lui sont associées en utilisant une clé de chiffrement à laquelle vous seul pouvez accéder. Ce type de chiffrement vous permet de répondre aux exigences de conformité dans certains secteurs, tels que les services financiers. Étant donné que la clé vous appartient et n'est pas contrôlée par Google, personne (même pas vous) ne peut accéder aux données protégées par ces clés de chiffrement lorsque ces dernières sont désactivées ou détruites.

Cloud KMS génère des journaux d'audit Cloud lorsque les clés sont activées, désactivées ou utilisées par les ressources du canal Eventarc pour chiffrer et déchiffrer les messages. Pour plus d'informations, consultez la page Informations sur les journaux d'audit Cloud KMS.

Avant de commencer

Avant d'utiliser cette fonctionnalité dans Eventarc, vous devez :

Console

  1. Activer les API Cloud KMS and Eventarc.

    Activer les API

  2. Créez un trousseau de clés et y ajouter une clé.

gcloud

  1. Mettez à jour les composants gcloud.
    gcloud components update
    
  2. Activez les API Cloud KMS et Eventarc pour le projet qui stockera vos clés de chiffrement.
    gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
    
  3. Créez un trousseau de clés et y ajouter une clé.

Pour en savoir plus, consultez la page Créer des clés de chiffrement symétriques.

Notez que Cloud KMS et Eventarc sont des services régionalisés. La région de la clé Cloud KMS et du canal Eventarc protégé doivent être identiques.

Accorder au compte de service Eventarc l'accès à une clé

Pour permettre au compte de service Eventarc d'accéder à la clé Cloud KMS, ajoutez-le en tant que compte principal de clé et attribuez-lui le rôle Chiffreur/déchiffreur de clés cryptographiques Cloud KMS :

Console

Vous êtes invité à attribuer le rôle Chiffreur/déchiffreur de CryptoKeys Cloud KMS au compte de service via la console lorsque vous activez CMEK pour un canal Google ou tiers. Pour plus d'informations, consultez la section Activer CMEK pour un canal Google ou un canal tiers dans ce document.

gcloud

gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--member serviceAccount:SERVICE_AGENT_EMAIL \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter

Remplacez les éléments suivants :

  • KEY_NAME : nom de la clé. Exemple :my-key
  • KEY_RING : nom du trousseau de clés. Exemple : my-keyring.
  • LOCATION : emplacement de la clé. Exemple : us-central1.
  • SERVICE_AGENT_EMAIL : adresse e-mail du compte de service avec le rôle eventarc.serviceAgent.

    Par exemple, service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com. Pour plus d'informations, consultez la page Agents de service.

Activer le chiffrement CMEK pour un canal Google

Un canal Google est une ressource via laquelle les sources Google Cloud peuvent interagir avec des destinations. Pour en savoir plus, consultez la section Répertorier les fournisseurs d'événements.

Pour activer le chiffrement CMEK pour un canal Google, procédez comme suit :

Console

  1. Dans la console, accédez à la page Eventarc > Canaux.
    Accéder à Eventarc
  2. Cliquez sur un canal avec un fournisseur Google.
  3. Sur la page Modifier la version, cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
  4. Cliquez sur Ajouter une clé de chiffrement.
  5. Sélectionnez une région et, dans la liste Clé de chiffrement CMEK, sélectionnez un trousseau de clés que vous avez créé pour la région.
  6. Facultatif : Pour saisir manuellement le nom de ressource de la clé, dans la liste Clé de chiffrement CMEK, cliquez sur Vous ne trouvez pas votre clé ? Saisissez un nom de ressource de clé, puis saisissez le nom de la clé au format spécifié.
  7. Si vous y êtes invité, attribuez le rôle cloudkms.cyptoKeyEncrypterDecrypter au compte de service Eventarc avec le rôle eventarc.serviceAgent.
  8. Cliquez sur Enregistrer.

gcloud

gcloud eventarc google-channels update \
--location=LOCATION \
--crypto-key=KEY

Remplacez les éléments suivants :

  • LOCATION : emplacement du canal Google à protéger. Il doit correspondre à l'emplacement de la clé utilisée.
  • KEY : nom complet de la clé Cloud KMS au format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.

Si vous créez des déclencheurs Pub/Sub à l'aide de vos propres sujets existants, envisagez de configurer la clé KMS sur le sujet pour une protection CMEK complète. Pour en savoir plus, consultez la section Configurer les sujets Pub/Sub.

Vérifier l'utilisation de Cloud KMS

Pour vérifier que le canal est désormais compatible avec CMEK, procédez comme suit :

Console

  1. Dans la console, accédez à la page Eventarc > Déclencheurs.
    Accéder à Eventarc
  2. Cliquez sur un déclencheur qui répertorie une source Google Cloud en tant que fournisseur d'événements et une région que vous avez protégée à l'aide de CMEK.
  3. Sur la page Détails du déclencheur, l'état Chiffrement affiche le message Events encrypted using Customer-managed encryption keys.

gcloud

gcloud eventarc google-channels describe \
--location=LOCATION

Le résultat doit se présenter comme suit :

cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig
updateTime: '2022-06-28T17:24:56.365866104Z'

La clé cryptokeyName affiche la clé Cloud KMS utilisée pour le canal Google.

Activer le chiffrement CMEK pour un canal tiers

Un canal Eventarc est une ressource via laquelle les entités autres que Google Cloud qui proposent une source Eventarc peuvent interagir avec les destinations.

Pour activer le chiffrement CMEK pour un canal tiers, procédez comme suit :

Console

  1. Dans la console, accédez à la page Eventarc > Canaux.
    Accéder à Eventarc
  2. Cliquez sur un canal avec un fournisseur tiers.
  3. Sur la page Détails de la chaîne, cliquez sur Modifier.
  4. Sur la page Modifier le canal, cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
  5. Dans la liste Clé de chiffrement CMEK, sélectionnez un trousseau de clés que vous avez créé pour la région.
  6. (Facultatif) Pour saisir manuellement le nom de ressource de la clé que vous souhaitez utiliser, dans la liste Clé de chiffrement CMEK, cliquez sur Vous ne trouvez pas votre clé ? Saisissez un nom de ressource de clé, puis saisissez le nom de la clé au format spécifié.
  7. Si vous y êtes invité, attribuez le rôle cloudkms.cyptoKeyEncrypterDecrypter au compte de service Eventarc avec le rôle eventarc.serviceAgent.
  8. Cliquez sur Enregistrer.

gcloud

gcloud eventarc channels update CHANNEL_NAME \
--location=LOCATION \
--crypto-key=KEY

Remplacez les éléments suivants :

  • CHANNEL_NAME : nom du canal tiers. Pour créer un canal tiers, consultez la section Créer un canal.
  • LOCATION : emplacement du canal tiers à protéger. Il doit correspondre à l'emplacement de la clé.
  • KEY : nom complet de la clé Cloud KMS au format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.

Vérifier l'utilisation de Cloud KMS

Pour vérifier que le canal est désormais compatible avec CMEK, procédez comme suit :

Console

  1. Dans la console, accédez à la page Eventarc > Déclencheurs.
    Accéder à Eventarc
  2. Cliquez sur un déclencheur avec une source tierce en tant que fournisseur d'événements et une région que vous avez protégée à l'aide du chiffrement CMEK.
  3. Sur la page Détails du déclencheur, l'état Chiffrement affiche le message Events encrypted using Customer-managed encryption keys.

gcloud

gcloud eventarc channels describe CHANNEL \
--location=LOCATION

Le résultat doit se présenter comme suit :

createTime: '2022-06-28T18:05:52.403999904Z'
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig
pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID
state: ACTIVE
uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3
updateTime: '2022-06-28T18:09:18.650727516Z'

cryptokeyName correspond à la clé Cloud KMS utilisée pour le canal tiers.

Désactiver Cloud KMS

Pour empêcher Eventarc de déchiffrer vos données d'événement :

  • Désactivez la version de clé que vous avez configurée pour le canal. Cela n'affecte que les canaux et les déclencheurs Eventarc associés à la clé spécifique.
  • Révoquez le rôle cloudkms.cryptoKeyEncrypterDecrypter du compte de service Eventarc. Cela affecte tous les canaux et déclencheurs Eventarc du projet qui sont compatibles avec les événements chiffrés à l'aide de CMEK.
  • Supprimez la protection CMEK associée à une région :
    1. Dans la console, accédez à la page Eventarc > Canaux.
      Accéder à Eventarc
    2. En fonction du type de canal, procédez comme suit :

      Canal Google

      1. Cliquez sur un canal avec un fournisseur Google.
      2. Sur la page Modifier la version, maintenez le pointeur de la souris sur la zone de liste Clé de chiffrement CMEK pour afficher le bouton Supprimer l'élément.
      3. Cliquez sur Supprimer.
      4. Cliquez sur Enregistrer.

      Chaîne de tiers

      1. Cliquez sur un canal avec un fournisseur tiers.
      2. Sur la page Détails de la chaîne, cliquez sur Modifier.
      3. Sur la page Modifier la version, décochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
      4. Cliquez sur Enregistrer.

Même si aucune de ces opérations ne garantit une révocation immédiate des accès, les modifications de la gestion de l'authentification et des accès (IAM) se propagent généralement plus rapidement. Pour en savoir plus, consultez la section Cohérence des ressources Cloud KMS ainsi que les questions fréquentes sur Cloud IAM.

Réactiver Cloud KMS

Lorsque Eventarc ne peut pas accéder à Cloud KMS, la publication d'événements sur des canaux échoue avec des erreurs FAILED_PRECONDITION et la distribution des événements s'arrête. Pour reprendre la diffusion et la publication d'événements, rétablissez l'accès à Cloud KMS.

Tarifs

Cette intégration n'entraîne pas de coûts supplémentaires, outre les frais liés aux opérations de clés qui sont facturées dans le cadre de votre projet Google Cloud. L'utilisation de CMEK sur un canal entraîne des frais d'accès au service Cloud KMS en fonction de la tarification Pub/Sub.

Pour en savoir plus sur les informations tarifaires les plus récentes, consultez la page Tarifs de Cloud KMS.

Étape suivante