Par défaut, Eventarc chiffre le contenu client au repos. Eventarc 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 Eventarc. 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 de consulter 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 clés CMEK, l'accès à vos ressources Eventarc 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).
Les clés de chiffrement gérées par le client sont stockées sous forme de clés logicielles, dans un cluster Cloud HSM ou en externe à l'aide de Cloud External Key Manager.
Éléments protégés par CMEK
Vous pouvez configurer CMEK pour chiffrer les messages d'événements qui transitent par les ressources suivantes:
MessageBus
: bus Eventarc AdvancedPipeline
: pipeline Eventarc AdvancedGoogleApiSource
: ressource représentant un abonnement aux événements de l'API Google pour un bus spécifique
Pour en savoir plus, consultez la présentation d'Eventarc Advanced.
Lorsque vous activez CMEK pour une ressource, il protège les données associées à la ressource dans cette région à l'aide d'une clé de chiffrement à laquelle vous seul pouvez accéder.
Cloud KMS et Eventarc sont des services régionalisés. La région de la clé Cloud KMS et de la ressource Eventarc Advanced protégée doivent être identiques.
Avant de commencer
Avant d'utiliser cette fonctionnalité dans Eventarc, vous devez effectuer les actions suivantes:
Console
-
Enable the Cloud KMS and Eventarc APIs.
- Créez un trousseau de clés.
- Créez une clé pour un trousseau de clés spécifié.
gcloud
- Mettez à jour les composants
gcloud
.gcloud components update
- 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
- Créez un trousseau de clés.
- Créez une clé pour un trousseau de clés spécifié.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
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 CryptoKeys Cloud KMS:
Console
Lorsque vous activez CMEK pour un bus ou un pipeline à l'aide de la console Google Cloud, vous êtes invité à attribuer le rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS au compte de service. Pour en savoir plus, consultez les sections Activer CMEK pour un bus ou Activer CMEK pour un pipeline dans ce document.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location REGION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez les éléments suivants :
KEY_NAME
: nom de la clé (par exemple,my-key
)KEY_RING
: nom du trousseau de clés (par exemple,my-keyring
)REGION
: emplacement de la clé (par exemple,us-central1
)SERVICE_AGENT_EMAIL
: adresse e-mail du compte de service avec le rôleeventarc.serviceAgent
Par exemple,
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
. Pour plus d'informations, consultez la page Agents de service.
Activer CMEK pour un bus
Lorsque vous activez le chiffrement CMEK pour un bus Eventarc Advanced, tous les messages qui transitent par le bus sont entièrement chiffrés avec cette clé CMEK.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Bus.
Vous pouvez créer un bus ou, si vous mettez à jour un bus, cliquer sur son nom.
Sur la page Détails du bus, cliquez sur
Modifier.Sur la page Modifier le bus, sous Chiffrement, sélectionnez Clé Cloud KMS.
Dans la liste Type de clé, sélectionnez une méthode pour gérer vos clés.
Vous pouvez gérer vos clés manuellement ou utiliser Autokey, qui vous permet de générer des trousseaux et des clés à la demande. Si l'option Autokey est désactivée, cela indique qu'elle n'est pas encore intégrée au type de ressource actuel.
Sélectionnez une clé gérée par le client.
(Facultatif) Pour saisir manuellement le nom de ressource de la clé, dans la liste Sélectionner une clé gérée par le client, cliquez sur Saisir la clé manuellement, puis saisissez le nom de clé au format spécifié.
Si vous y êtes invité, attribuez le rôle
cloudkms.cryptoKeyEncrypterDecrypter
à l'agent de service Eventarc.Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud beta eventarc message-buses update
pour activer CMEK pour votre bus:
gcloud beta eventarc message-buses update BUS_NAME \ --location=REGION \ --crypto-key=KEY
Remplacez les éléments suivants :
BUS_NAME
: l'ID ou l'identifiant complet de votre busREGION
: un emplacement Eventarc Advanced compatibleKEY
: nom complet de la clé Cloud KMS au formatprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Le
REGION
de la clé doit correspondre à l'emplacement du bus à protéger.
Vérifier l'utilisation de Cloud KMS
Vérifiez que le bus est désormais compatible avec CMEK.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Bus.
Cliquez sur le nom du bus que vous avez protégé à l'aide du chiffrement CMEK.
Sur la page Détails du bus, l'état Chiffrement affiche le message
Event messages encrypted using customer-managed encryption keys
.
gcloud
Utilisez la commande gcloud beta eventarc message-buses describe
pour décrire votre bus:
gcloud beta eventarc message-buses describe BUS_NAME \ --location=REGION
La sortie devrait ressembler à ce qui suit :
cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME updateTime: '2022-06-28T17:24:56.365866104Z'
La valeur cryptokeyName
correspond à la clé Cloud KMS utilisée pour le bus.
Désactiver le chiffrement CMEK pour un bus
Vous pouvez désactiver la protection CMEK associée à un bus. Les événements distribués via le bus sont toujours protégés par des clés appartenant à Google et gérées par Google.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Bus.
Cliquez sur le nom du bus.
Sur la page Détails du bus, cliquez sur
Modifier.Sur la page Modifier le bus, décochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud beta eventarc message-buses update
pour désactiver CMEK pour votre bus:
gcloud beta eventarc message-buses update BUS_NAME \ --location=REGION \ --clear-crypto-key
Activer CMEK pour un pipeline
Lorsque vous activez le chiffrement CMEK pour un pipeline Eventarc Advanced, tous les messages qui transitent par le pipeline sont entièrement chiffrés avec cette clé CMEK.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Pipelines.
Vous pouvez créer un pipeline ou, si vous mettez à jour un pipeline, cliquer sur son nom.
Sur la page Détails du pipeline, cliquez sur
Modifier.Sur la page Modifier le pipeline, sous Chiffrement, sélectionnez Clé Cloud KMS.
Dans la liste Type de clé, sélectionnez une méthode pour gérer vos clés.
Vous pouvez gérer vos clés manuellement ou utiliser Autokey, qui vous permet de générer des trousseaux et des clés à la demande. Si l'option Autokey est désactivée, cela indique qu'elle n'est pas encore intégrée au type de ressource actuel.
Sélectionnez une clé gérée par le client.
(Facultatif) Pour saisir manuellement le nom de ressource de la clé, dans la liste Sélectionner une clé gérée par le client, cliquez sur Saisir la clé manuellement, puis saisissez le nom de clé au format spécifié.
Si vous y êtes invité, attribuez le rôle
cloudkms.cryptoKeyEncrypterDecrypter
à l'agent de service Eventarc.Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud beta eventarc pipelines update
pour activer le chiffrement CMEK pour un pipeline:
gcloud beta eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --crypto-key=KEY
Remplacez les éléments suivants :
PIPELINE_NAME
: ID ou identifiant complet de votre pipelineREGION
: un emplacement Eventarc Advanced compatibleKEY
: nom complet de la clé Cloud KMS au formatprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Le
REGION
de la clé doit correspondre à l'emplacement du pipeline à protéger.
Vérifier l'utilisation de Cloud KMS
Vérifiez que le pipeline est désormais compatible avec CMEK.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Pipelines.
Cliquez sur le nom du pipeline que vous avez protégé à l'aide du chiffrement CMEK.
Sur la page Détails du pipeline, l'état Chiffrement affiche le message
Event messages encrypted using customer-managed encryption keys
.
gcloud
Utilisez la commande gcloud beta eventarc pipelines describe
pour vérifier CMEK pour votre pipeline:
gcloud beta eventarc pipelines describe PIPELINE_NAME \ --location=REGION
La sortie devrait ressembler à ce qui suit :
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destinations: ... name: projects/PROJECT_ID/locations/REGION/pipelines/PIPELINE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
La valeur cryptokeyName
affiche la clé Cloud KMS utilisée pour le pipeline.
Désactiver le chiffrement CMEK pour un pipeline
Vous pouvez désactiver la protection CMEK associée à un pipeline. Les événements distribués via le pipeline sont toujours protégés par des clés appartenant à Google et gérées par Google.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Pipelines.
Cliquez sur le nom du pipeline.
Sur la page Détails du pipeline, cliquez sur
Modifier.Sur la page Modifier le pipeline, décochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud beta eventarc pipelines update
pour désactiver le chiffrement CMEK pour votre pipeline:
gcloud beta eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --clear-crypto-key
Activer CMEK pour les sources d'API Google
Lorsque vous activez le chiffrement CMEK pour une ressource GoogleApiSource
, tous les messages collectés pour cette ressource sont entièrement chiffrés avec la clé CMEK.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Bus.
Vous pouvez créer un bus ou, si vous mettez à jour un bus, cliquer sur son nom.
Sur la page Détails du bus, cliquez sur
Modifier.Pour ajouter une source de messages, cliquez sur
Ajouter une source.Si une source de messages existe déjà, vous devez d'abord la supprimer, puis ajouter une nouvelle source de messages.
Dans le volet Ajouter une source de message, pour le fournisseur de messages de l'API Google, acceptez la valeur par défaut
google-api-source
.Pour Chiffrement, sélectionnez Clé Cloud KMS, puis procédez comme suit:
Dans la liste Type de clé, sélectionnez une méthode pour gérer vos clés.
Vous pouvez gérer vos clés manuellement ou utiliser Autokey, qui vous permet de générer des trousseaux de clés et des clés à la demande. Si l'option Autokey est désactivée, cela indique qu'elle n'est pas encore intégrée au type de ressource actuel.
Dans Sélectionner une clé gérée par le client, sélectionnez une clé.
Vous devez sélectionner une région avant de pouvoir afficher vos clés gérées par le client.
(Facultatif) Pour saisir manuellement le nom de ressource de la clé, dans la liste Sélectionner une clé gérée par le client, cliquez sur Saisir la clé manuellement, puis saisissez le nom de clé au format spécifié.
Si vous y êtes invité, attribuez le rôle
cloudkms.cryptoKeyEncrypterDecrypter
à l'agent de service Eventarc.
Cliquez sur Créer.
Cela permet de collecter automatiquement les événements provenant directement de sources Google, et tous les messages d'événement sont entièrement chiffrés avec la clé CMEK.
Seuls les événements provenant de ressources du même projet Google Cloud que
GoogleApiSource
sont publiés. Pour en savoir plus, consultez la section Publier des événements à partir de sources Google.Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud beta eventarc google-api-sources update
pour activer CMEK pour votre ressource GoogleApiSource
:
gcloud beta eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --crypto-key=KEY
Remplacez les éléments suivants :
GOOGLE_API_SOURCE_NAME
: ID ou identifiant complet de votre ressourceGoogleApiSource
REGION
: un emplacement Eventarc Advanced compatibleKEY
: nom complet de la clé Cloud KMS au formatprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Le
REGION
de la clé doit correspondre à l'emplacement de la ressource à protéger.
Vérifier l'utilisation de Cloud KMS
Vérifiez que la ressource est désormais compatible avec CMEK.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Bus.
Cliquez sur le nom du bus dont vous avez protégé la source de messages à l'aide d'une clé Cloud KMS.
Sur la page Détails du bus, cliquez sur
Modifier.La clé qui chiffre votre source de message doit être listée.
gcloud
Utilisez la commande gcloud beta eventarc google-api-sources describe
pour vérifier la CMEK de votre ressource GoogleApiSource
:
gcloud beta eventarc google-api-sources describe GOOGLE_API_SOURCE_NAME \ --location=REGION
La sortie devrait ressembler à ce qui suit :
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destination: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME name: projects/PROJECT_ID/locations/REGION/googleApiSources/GOOGLE_API_SOURCE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
La valeur cryptokeyName
affiche la clé Cloud KMS utilisée pour le pipeline.
Désactiver CMEK pour les sources d'API Google
Vous pouvez désactiver la protection CMEK associée aux sources d'API Google. Les événements collectés via la ressource GoogleApiSource
sont toujours protégés par des clés appartenant à Google et gérées par Google.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Bus.
Cliquez sur le nom du bus dont vous avez protégé la source de message à l'aide de CMEK.
Sur la page Détails du bus, cliquez sur
Modifier.Pour supprimer la source de message chiffrée par une clé Cloud KMS, cliquez sur
Supprimer la ressource.Si nécessaire, ajoutez à nouveau la source du message.
gcloud
Utilisez la commande gcloud beta eventarc google-api-sources update
pour désactiver le chiffrement CMEK pour votre ressource GoogleApiSource
:
gcloud beta eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --clear-crypto-key
Désactiver et activer des clés Cloud KMS
Une version de clé stocke le matériel de clé cryptographique que vous utilisez pour chiffrer, déchiffrer, signer et valider les données. Vous pouvez désactiver cette version de clé pour que les données chiffrées avec la clé ne soient pas accessibles.
Lorsque Eventarc ne peut pas accéder aux clés Cloud KMS, le routage des événements échoue avec des erreurs FAILED_PRECONDITION
et la distribution des événements s'arrête. Vous pouvez activer une clé à l'état Désactivée afin que les données chiffrées soient à nouveau accessibles.
Désactiver des clés Cloud KMS
Pour empêcher Eventarc d'utiliser la clé pour chiffrer ou déchiffrer vos données d'événement, effectuez l'une des opérations suivantes :
- Nous vous recommandons de désactiver la version de clé que vous avez configurée pour le bus ou le pipeline. Cela n'affecte que le bus ou le pipeline Eventarc Advanced associé à la clé spécifique.
- (Facultatif) Révoquez le rôle
cloudkms.cryptoKeyEncrypterDecrypter
du compte de service Eventarc. Cela affecte toutes les ressources Eventarc du projet qui sont compatibles avec les événements chiffrés à l'aide de CMEK.
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 les pages Cohérence des ressources Cloud KMS et Propagation des modifications d'accès.
Réactiver des clés Cloud KMS
Pour reprendre la diffusion et l'acheminement des événements, rétablissez l'accès à Cloud KMS.
Journalisation et dépannage des audits
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 Eventarc Advanced pour chiffrer et déchiffrer les messages. Pour en savoir plus, consultez la page Informations sur la journalisation d'audit Cloud KMS.
Pour résoudre les problèmes que vous pouvez rencontrer lors de l'utilisation de clés gérées en externe via Cloud External Key Manager (Cloud EKM), consultez la documentation de référence sur les erreurs Cloud EKM.
Tarifs
L'intégration du bus n'entraîne pas de coûts supplémentaires, outre les frais liés aux opérations de clés qui sont facturés dans le cadre de votre projet Google Cloud. L'utilisation de CMEK pour un pipeline 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.