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

Ce document explique comment utiliser des clés de chiffrement gérées par le client (CMEK) dans Cloud Key Management Service (Cloud KMS) pour vos instances Memorystore for Valkey, au lieu de vous appuyer sur le chiffrement par défaut de Google. Il décrit également les données chiffrées dans le stockage persistant et le comportement de vos instances lors des événements du cycle de vie des clés.

Le chiffrement CMEK vous permet de contrôler les clés cryptographiques qui protègent vos données stockées. En gérant vos propres clés dans Cloud KMS, vous bénéficiez d'un meilleur contrôle sur l'accès, la rotation et l'utilisation des clés, ce qui vous aide à répondre à des exigences strictes en matière de conformité et de réglementation.

L'implémentation du chiffrement CMEK offre une couche supplémentaire de sécurité et de contrôle sur vos données persistantes, telles que les sauvegardes et les fichiers de persistance. Vous ne pouvez activer le chiffrement CMEK que sur de nouvelles instances. Vous ne pouvez pas l'appliquer à des instances existantes.

Qui doit utiliser le chiffrement CMEK ?

Le chiffrement CMEK est destiné aux organisations qui traitent des données sensibles ou réglementées et qui doivent contrôler leurs propres clés de chiffrement. Pour savoir si vous devez utiliser le chiffrement CMEK pour chiffrer ces données, consultez Déterminer si vous devez utiliser le chiffrement CMEK.

Chiffrement géré par le client

Le chiffrement CMEK vous permet d'utiliser vos clés cryptographiques pour protéger les données stockées dans les instances Memorystore for Valkey. Pour chiffrer ces données, Memorystore for Valkey utilise des clés de chiffrement des données (DEK, Data Encryption Key) gérées par Google et des clés de chiffrement de clé (KEK, Key Encryption Key) gérées par le client.

Vous pouvez avoir les niveaux de chiffrement suivants :

  • Chiffrement DEK : les clés DEK chiffrent les données dans Memorystore for Valkey.
  • Chiffrement KEK : les clés KEK chiffrent les clés DEK.

Memorystore for Valkey utilise des clés KEK pour chiffrer les clés DEK et des clés DEK pour chiffrer les données stockées. Si vous utilisez le chiffrement CMEK, vous pouvez gérer les clés KEK qui chiffrent les clés DEK dans votre instance.

Le schéma suivant montre comment une instance utilise le chiffrement CMEK pour chiffrer les données. Les données importées dans l'infrastructure de stockage de Google sont divisées en fragments, et chaque fragment est chiffré avec sa propre clé DEK. Cloud KMS fournit la clé KEK pour chiffrer les clés DEK, et l'infrastructure de stockage de Google distribue les fragments de données chiffrés et les clés DEK chiffrées dans le système.

Les données sont importées dans l'infrastructure de stockage de Google et divisées en fragments. Chaque fragment est chiffré avec sa propre clé DEK. Les DEK sont ensuite chiffrées à l'aide d'une KEK extraite de Cloud KMS. Les fragments chiffrés et les DEK chiffrées sont répartis sur l'infrastructure de stockage.

Le schéma suivant montre comment Memorystore for Valkey déchiffre les données chiffrées avec le chiffrement CMEK. Pour accéder à ces données chiffrées, Memorystore for Valkey envoie une requête à Cloud KMS, qui gère la clé KEK, afin de déchiffrer la clé DEK. Cloud KMS renvoie ensuite la clé DEK déchiffrée, que l'instance utilise pour déchiffrer les données stockées.

Fragment de données chiffré avec la clé DEK et stocké avec la clé DEK chiffrée Une requête de déchiffrement de la DEK est envoyée à Cloud KMS, qui stocke la KEK. Cloud KMS renvoie la DEK déchiffrée.

Quelles données sont chiffrées à l'aide du chiffrement CMEK ?

Le chiffrement CMEK chiffre les types de données client suivants stockés dans le stockage persistant :

  • Sauvegardes : les sauvegardes vous permettent de récupérer vos données à un moment donné, ainsi que d'exporter et d'analyser des données. Elles sont également utiles pour la reprise après sinistre, la migration des données, le partage de données et les scénarios de conformité.
  • Persistance: Memorystore for Valkey est compatible avec deux types de persistance :
    • Persistance RDB : enregistrez des instantanés de vos données dans un espace de stockage durable.
    • Persistance AOF : stockez les données de manière durable en enregistrant chaque commande d'écriture dans un fichier journal appelé fichier AOF (Append-Only File). En cas de défaillance ou de redémarrage du système, le serveur relit les commandes du fichier AOF de manière séquentielle pour restaurer vos données.

Composants du chiffrement CMEK

Les sections suivantes décrivent les exigences et les comportements des comptes de service, des clés cryptographiques, des versions de clé et des règles d'administration qui composent votre architecture CMEK.

Comptes de service

Pour créer une instance compatible avec le chiffrement CMEK, vous devez attribuer le rôle roles/cloudkms.cryptoKeyEncrypterDecrypter au compte de service Memorystore for Valkey qui utilise le format suivant :

service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com

L'attribution de cette autorisation permet au compte de service de demander un accès aux clés à partir de Cloud KMS.

Clés

Dans Cloud KMS, vous devez créer un trousseau de clés, puis une clé cryptographique qui utilise un algorithme de chiffrement symétrique. Lorsque vous créez une instance Memorystore for Valkey, vous sélectionnez cette clé pour chiffrer l'instance. Vous pouvez créer un projet pour vos clés et vos instances, ou des projets différents pour chacun d'eux.

Le chiffrement CMEK est disponible dans tous les emplacements d'instances Memorystore for Valkey. Vous devez créer le trousseau de clés et la clé dans la même région que celle où vous souhaitez créer l'instance. Pour une instance multirégionale, vous devez définir le trousseau de clés et la clé sur le même emplacement que l'instance. Si les régions ou les emplacements ne correspondent pas, la requête de création de l'instance échoue.

Pour l'ID de ressource de la clé, le chiffrement CMEK utilise le format suivant :

projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

Pour en savoir plus sur la recherche des ID de ressource des clés existantes, consultez Obtenir un ID de ressource Cloud KMS.

Clés externes

Dans le cadre de votre stratégie CMEK, vous pouvez utiliser des clés externes. Pour ce faire, utilisez Cloud External Key Manager (Cloud EKM) pour chiffrer les données en utilisant des clés externes que vous gérez. Google Cloud

Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la disponibilité de vos clés gérées en externe. Si une clé n'est pas disponible lorsque vous créez votre instance, Memorystore for Valkey ne crée pas l'instance.

Versions de clé

Cloud KMS stocke le matériel de clé cryptographique que vous utilisez pour chiffrer et déchiffrer vos données dans une version de clé. Une seule clé peut contenir plusieurs versions de clé. Chaque fois que vous effectuez une rotation de clé, vous créez une version de clé.

Les sections suivantes décrivent le comportement de vos instances et de leurs données protégées lors des événements du cycle de vie des clés, tels que la désactivation, la destruction, la rotation, l'activation ou la restauration des versions de clé. Elles expliquent également l'impact de la révocation de l'accès à une clé Cloud KMS ou de son remplacement, et fournissent des conseils sur le rechiffrement manuel des données.

Désactiver ou détruire une version de clé CMEK

Vous pouvez être amené à rendre des données chiffrées avec le chiffrement CMEK définitivement inaccessibles, par exemple lorsque vous corrigez une fuite de données. Pour obtenir cette destruction de données à haute assurance (également appelée crypto-shredding), vous détruisez la version de clé. Pour en savoir plus sur la destruction des versions de clé, consultez Détruire et restaurer des versions de clé.

Si vous désactivez ou détruisez la version de clé primaire de votre chiffrement CMEK, les conditions suivantes s'appliquent aux sauvegardes et à la persistance.

Sauvegardes

Lorsque vous détruisez la version de clé primaire de votre chiffrement CMEK, les restrictions suivantes s'appliquent aux sauvegardes de votre instance :

  • Vous ne pouvez pas créer de sauvegardes à la demande ni de sauvegardes automatiques. Toutefois, si vous activez une version de clé plus ancienne, vous pouvez accéder à toutes les sauvegardes que vous avez créées à l'aide de cette version de clé.
  • Vous ne pouvez pas mettre à jour ni réactiver les sauvegardes automatiques tant que vous n'avez pas activé ou restauré la version de clé primaire. Pour en savoir plus, consultez Activer ou restaurer la version de clé CMEK primaire.
Persistance

Lorsque vous détruisez la version de clé primaire de votre chiffrement CMEK, les restrictions suivantes s'appliquent à la persistance de votre instance :

  • Si vous configurez votre instance pour qu'elle utilise la persistance, Memorystore for Valkey la désactive lorsque la version de clé n'est plus disponible. L'utilisation de la persistance ne vous est plus facturée.
  • Memorystore for Valkey n'envoie pas de nouvelles données au stockage persistant à l'aide du chiffrement CMEK.
  • Memorystore for Valkey ne peut pas lire les données existantes présentes dans le stockage persistant.
  • Vous ne pouvez pas mettre à jour ni réactiver la persistance tant que vous n'avez pas activé ou restauré la version de clé primaire.

Si vous activez la version de clé primaire de votre chiffrement CMEK, mais que vous désactivez ou détruisez une version de clé plus ancienne, les conditions suivantes s'appliquent aux sauvegardes et à la persistance :

  • Vous pouvez créer des sauvegardes. Toutefois, si une sauvegarde est chiffrée avec une version de clé plus ancienne qui est désactivée ou détruite, elle reste inaccessible.
  • Si vous activez la persistance, elle reste activée. Si l'ancienne version de clé utilisée dans la persistance est désactivée ou détruite, Memorystore for Valkey effectue une mise à jour semblable à celle utilisée lors de la maintenance et rechiffre les données avec la version de clé primaire.

Révoquer l'accès à une clé Cloud KMS

Si vous révoquez l'accès à une clé Cloud KMS active en la désactivant ou en supprimant les autorisations IAM associées, Memorystore for Valkey donne la priorité à la disponibilité du cache primaire. Les opérations de mise en cache régulières en mémoire continuent de diffuser du trafic.

Toutefois, les sauvegardes et la persistance sont désactivées. Memorystore for Valkey cesse immédiatement d'écrire de nouvelles données sur le disque et ne lit pas les données du disque chiffré par le client en mémoire.

Effectuer une rotation de la version de clé CMEK primaire

Si vous effectuez une rotation de la version de clé primaire de votre chiffrement CMEK et que vous créez une version de clé primaire, les conditions suivantes s'appliquent aux sauvegardes et à la persistance :

  • La dernière version de clé primaire de votre chiffrement CMEK chiffre les nouvelles sauvegardes.
  • Aucun rechiffrement n'est effectué pour les sauvegardes existantes.
  • Pour la persistance, les nœuds n'effectuent aucune action. Ils continuent d'utiliser l'ancienne version de clé jusqu'au prochain événement de maintenance.

Rechiffrer manuellement les données protégées par le chiffrement CMEK

Memorystore for Valkey n'est pas compatible avec le rechiffrement à la demande des données stockées. Vous ne pouvez pas déclencher manuellement un processus pour utiliser une nouvelle version de clé afin de rechiffrer les sauvegardes existantes ou les fichiers de persistance actifs. Toutefois, vous pouvez utiliser la nouvelle version de clé pour chiffrer les données nouvellement écrites.

Si vous effectuez une rotation de clé et que vous devez forcer une instance à utiliser la nouvelle version de clé, les conditions suivantes s'appliquent aux sauvegardes et à la persistance :

Sauvegardes

Vous ne pouvez pas rechiffrer les sauvegardes existantes. Si la conformité exige que toutes les données soient chiffrées avec la clé la plus récente, créez une sauvegarde qui utilise cette clé, puis supprimez manuellement les sauvegardes existantes. Vous pouvez également exporter cette sauvegarde vers un bucket Cloud Storage afin que la clé de chiffrement Cloud Storage soit utilisée.

Persistance

Pour forcer l'instance à utiliser une nouvelle clé Cloud KMS, vous pouvez exécuter une maintenance simulée sur l'instance. Une fois cette opération terminée, Memorystore for Valkey peut écrire des données de persistance à l'aide de la version de clé primaire mise à jour.

Remplacer une clé Cloud KMS protégée

Si vous remplacez une clé Cloud KMS protégée par une clé différente ou une nouvelle version de clé primaire, Memorystore for Valkey n'applique cette modification qu'aux opérations futures.

Le remplacement d'une clé protégée a un impact sur vos ressources de la manière suivante :

  • Sauvegardes : toutes les sauvegardes suivantes sont chiffrées à l'aide de la nouvelle clé. Les sauvegardes existantes conservent leurs clés d'origine.
  • Persistance : la nouvelle clé est utilisée lors du prochain redémarrage de l'instance ou lors d'un événement de maintenance.
  • Cache primaire : le remplacement de cette clé n'a aucun impact. Le chiffrement CMEK ne chiffre pas les données en mémoire, car elles ne sont pas considérées comme des données stockées.

Activer ou restaurer la version de clé CMEK primaire

Si vous activez ou restaurez la version de clé primaire de votre chiffrement CMEK, les conditions suivantes s'appliquent aux sauvegardes et à la persistance :

  • Vous pouvez à nouveau créer des sauvegardes à la demande et des sauvegardes automatiques.
  • Memorystore for Valkey effectue une mise à jour semblable à celle utilisée lors de la maintenance et réactive la persistance.

Contraintes liées aux règles d'administration

Memorystore for Valkey est compatible avec les contraintes liées aux règles d'administration pour le chiffrement CMEK. En utilisant ces contraintes, vous pouvez appliquer la protection CMEK à vos instances et limiter les clés Cloud KMS que vous pouvez utiliser pour cette protection.

Vous pouvez configurer les contraintes liées aux règles d'administration suivantes :

  • constraints/gcp.restrictNonCmekServices: utilisez cette contrainte pour appliquer la protection CMEK à vos instances. Si l'API Memorystore for Valkey figure dans la liste des services Deny de cette contrainte, vous ne pouvez pas créer d'instances non protégées par le chiffrement CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects: utilisez cette contrainte pour limiter les clés Cloud KMS que vous pouvez utiliser pour la protection CMEK. Si vous configurez cette contrainte, les instances qui utilisent le chiffrement CMEK doivent utiliser une clé provenant d'un projet, d'un dossier ou d'une organisation autorisée.

Pour en savoir plus sur les contraintes liées aux règles d'administration associées au chiffrement CMEK que Google gère pour Memorystore for Valkey, consultez Contraintes liées aux règles d'administration.

Tarifs

Memorystore for Valkey facture une instance compatible avec le chiffrement CMEK comme n'importe quelle autre instance. Il n'y a aucun coût supplémentaire. Pour en savoir plus, consultez Tarifs de Memorystore for Valkey.

Vous utilisez l'API Cloud KMS pour gérer le chiffrement CMEK. Lorsque vous créez une instance Memorystore for Valkey avec le chiffrement CMEK, Memorystore utilise la clé régulièrement pour chiffrer les données.

Cloud KMS vous facture le coût de la clé, ainsi que les opérations de chiffrement et de déchiffrement lorsque Memorystore for Valkey utilise la clé. Pour en savoir plus, consultez Tarifs de Cloud KMS.

Limites

Les limites suivantes s'appliquent lorsque vous utilisez le chiffrement CMEK avec Memorystore for Valkey :

  • Vous ne pouvez pas activer le chiffrement CMEK sur une instance Memorystore for Valkey existante.
  • La clé, le trousseau de clés et l'instance doivent se trouver dans la même région.
  • Vous devez utiliser l'algorithme de chiffrement symétrique pour votre clé.
  • Les taux de chiffrement et de déchiffrement de Cloud KMS sont soumis à un quota.

Étape suivante