Par défaut, Google chiffre vos données stockées au repos. Google Cloud traite et gère ce chiffrement par défaut sans intervention de votre part.
Si vous avez des exigences réglementaires ou de conformité spécifiques concernant la protection de vos données, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK). La fonctionnalité CMEK vous permet de protéger Eventarc et les données associées au repos à l'aide d'une clé de chiffrement à laquelle vous seul pouvez accéder, et que vous pouvez créer et gérer à l'aide de Cloud Key Management Service (Cloud KMS). Étant donné que la clé vous appartient et n'est pas contrôlée par Google, si la clé est désactivée ou détruite, personne (y compris vous) ne peut accéder aux données protégées par la clé.
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.
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.
Éléments protégés par CMEK
Vous pouvez configurer le chiffrement CMEK pour un canal utilisé par Eventarc et chiffrer les événements qui transitent par le canal.
L'activation d'un canal avec CMEK protège les données qui lui sont associées (par exemple, le sujet Pub/Sub utilisé en tant que couche transport) à l'aide d'une clé de chiffrement à laquelle vous seul pouvez accéder.
Notez que lorsque vous activez le chiffrement CMEK pour le canal Google dans un projet Google Cloud, tous les déclencheurs Eventarc pour les types d'événements Google dans ce projet et cette région sont entièrement chiffrés avec cette clé CMEK. Les clés CMEK ne peuvent pas être appliquées par déclencheur.
Avant de commencer
Avant d'utiliser cette fonctionnalité dans Eventarc, vous devez :
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
.
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 CryptoKeys Cloud KMS :
Console
Lorsque vous activez la fonctionnalité CMEK pour un canal Google ou tiers via la console, 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 le chiffrement CMEK pour les types d'événements Google ou Activer le chiffrement CMEK pour un canal d'événement tiers.
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ôleeventarc.serviceAgent
.Par exemple,
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
. Pour plus d'informations, consultez la page Agents de service.
Activer les CMEK pour les types d'événements Google
Les déclencheurs Eventarc qui acheminent les types d'événements Google publient des événements dans un canal virtuel appelé canal Google, spécifique à un projet et à une région. Ce canal virtuel est disponible dans toutes les régions Eventarc.
Lorsque vous activez le chiffrement CMEK pour le canal Google dans un projet Google Cloud, tous les déclencheurs Eventarc pour les types d'événements Google dans ce projet et cette région sont entièrement chiffrés avec cette clé CMEK. Vous pouvez ajouter plusieurs clés CMEK et associer chacune à une région spécifique du canal Google. Les clés CMEK ne peuvent pas être appliquées par déclencheur.
Console
Dans la console Google Cloud, accédez à la page Eventarc > Canaux.
Cliquez sur un canal avec un fournisseur Google.
Sur la page Modifier le canal, cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
Cliquez sur Ajouter une clé de chiffrement.
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. Notez que vous ne pouvez ajouter qu'une seule clé de chiffrement par région pour un canal.
(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é.
Si vous y êtes invité, attribuez le rôle
cloudkms.cryptoKeyEncrypterDecrypter
au compte de service Eventarc avec le rôleeventarc.serviceAgent
.(Facultatif) Cliquez sur Ajouter une clé de chiffrement pour ajouter un trousseau de clés que vous avez créé pour une région différente.
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 formatprojects/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, nous vous recommandons de configurer également 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
Dans la console Google Cloud, accédez à la page Eventarc > Déclencheurs.
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.
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
La sortie devrait ressembler à ce qui 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 pour les tiers est une ressource via laquelle les entités autres que Google Cloud qui proposent une source Eventarc peuvent interagir avec les destinations. Ce canal est spécifique à une région et vous ne pouvez ajouter qu'une seule clé par canal tiers.
Pour activer le chiffrement CMEK pour un canal tiers, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Eventarc > Canaux.
Cliquez sur un canal avec un fournisseur tiers.
Sur la page Détails de la chaîne, cliquez sur Modifier.
Sur la page Modifier le canal, cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
Dans la liste Clé de chiffrement CMEK, sélectionnez un trousseau de clés que vous avez créé pour la région. Notez que vous ne pouvez ajouter qu'une seule clé de chiffrement par région et par canal.
(Facultatif) Pour saisir manuellement le nom de ressource de la clé que vous souhaitez utiliser, dans la liste Clé de chiffrement CMEK, 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
au compte de service Eventarc avec le rôleeventarc.serviceAgent
.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 formatprojects/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
Dans la console Google Cloud, accédez à la page Eventarc > Déclencheurs.
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.
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_NAME \ --location=LOCATION
La sortie devrait ressembler à ce qui 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'
La valeur cryptokeyName
correspond à la clé Cloud KMS utilisée pour le canal tiers.
Désactiver les CMEK
Vous pouvez désactiver la protection CMEK associée à un canal. Les événements distribués via ces canaux sont toujours protégés par des clés appartenant à Google et gérées par Google. Pour supprimer la protection CMEK associée à un canal, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Eventarc > Canaux.
En fonction du type de canal, procédez comme suit :
Canal Google
- Cliquez sur un canal avec un fournisseur Google.
- Sur la page Modifier le canal, maintenez le pointeur de la souris sur la liste Clé de chiffrement CMEK pour afficher le bouton Supprimer l'élément.
- Cliquez sur Supprimer.
- Cliquez sur Enregistrer.
Chaîne de tiers
- Cliquez sur un canal avec un fournisseur tiers.
- Sur la page Détails du canal, cliquez sur Modifier.
- Sur la page Modifier le canal, décochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
- Cliquez sur Enregistrer.
gcloud
En fonction du type de canal, procédez comme suit :
Canal Google
gcloud eventarc google-channels \ update --clear-crypto-key
Chaîne de tiers
gcloud eventarc channels CHANNEL_NAME \ update --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, la publication d'événements sur des canaux é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 canal. Cela n'affecte que les canaux et les déclencheurs Eventarc associés à la clé spécifique.
- (Facultatif) 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.
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 les clés Cloud KMS
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 pour 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.