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

Cette page explique comment créer une instance Memorystore pour Redis qui utilise des clés de chiffrement gérées par le client. Il fournit également des instructions pour gérer les instances qui utilisent CMEK. Pour en savoir plus sur les clés de chiffrement gérées par le client pour Memorystore, consultez la page Clés de chiffrement gérées par le client.

Avant de commencer

  1. Assurez-vous de disposer du rôle administrateur Redis sur votre compte utilisateur.

    Accéder à la page IAM

Procédure permettant de créer une instance qui utilise CMEK

  1. Créez un trousseau de clés et une clé à l'emplacement où vous souhaitez que l'instance Memorystore se trouve.

  2. Copiez ou notez l'ID de la clé (KMS_KEY_ID), l'emplacement de la clé et l'ID du trousseau (KMS_KEYRING_ID). Vous avez besoin de ces informations lorsque vous accordez à la clé l'accès au compte de service.

  3. Accordez au compte de service Memorystore l'accès à la clé.

  4. Accédez à un projet et créez une instance Memorystore pour Redis avec CMEK activé dans la même région que le trousseau de clés et la clé.

Votre instance Memorystore pour Redis est désormais configurée pour utiliser les CMEK.

Créer une clé et un trousseau

Suivez les instructions pour créer un trousseau et créer une clé. Les deux doivent se trouver dans la même région que votre instance Redis. La clé peut provenir d'un autre projet, à condition qu'elle se trouve dans la même région. De plus, la clé doit utiliser l'algorithme de chiffrement symétrique.

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

Pour créer une instance Redis qui utilise CMEK, vous devez d'abord accorder à un compte de service Memorystore spécifique l'accès à la clé. Accordez l'accès au compte de service Memorystore qui utilise le format suivant:

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

Console

Lorsque vous utilisez la console, vous accordez au compte de service l'accès à la clé lors de la procédure de création d'une instance Redis qui utilise CMEK.

gcloud

Pour accorder au compte de service l'accès à la clé, exécutez la commande suivante en remplaçant VARIABLES par les valeurs appropriées:

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Créer une instance Memorystore pour Redis qui utilise CMEK

Pour créer une instance avec des clés de chiffrement gérées par le client, procédez comme suit :

Console

  1. Commencez par disposer d'un trousseau de clés et d'une clé dans la même région que celle où vous souhaitez créer votre instance Memorystore.

  2. Suivez les instructions de la section Créer une instance Redis jusqu'à l'étape d'activation d'une clé de chiffrement gérée par le client, puis revenez à ces instructions.

  3. Sélectionnez Utiliser une clé de chiffrement gérée par le client (CMEK).

  4. Utilisez le menu déroulant pour sélectionner votre clé.

  5. Si le compte de service Memorystore n'a pas reçu les autorisations dont il a besoin, une zone de texte s'affiche avec le message suivant:

    The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role. Verify the service account has permission to encrypt/decrypt with the selected key.

    • Cliquez sur le bouton Accorder pour accorder l'autorisation de rôle au compte de service Memorystore.
  6. Terminez de sélectionner les configurations souhaitées pour votre instance, puis cliquez sur le bouton Créer pour créer votre instance Memorystore pour Redis avec CMEK activé.

gcloud

Pour créer une instance qui utilise des clés de chiffrement gérées par le client, saisissez la commande suivante en remplaçant VARIABLES par les valeurs appropriées:

gcloud beta redis instances create [INSTANCE_ID] --size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

Afficher les informations sur les clés d'une instance pour laquelle CMEK est activé

Suivez ces instructions pour vérifier si CMEK est activé pour votre instance et pour afficher la clé active.

Console

  1. Dans la console Google Cloud, accédez à la page "Instances Memorystore pour Redis".

    Memorystore pour Redis

  2. Affichez la page Détails de l'instance de votre instance en cliquant sur votre ID d'instance.

  3. Cliquez sur l'onglet Sécurité.

  4. La section Chiffrement avec une clé gérée par le client contient un lien vers la clé active et affiche le chemin de référence de la clé. Si cette section ne s'affiche pas, le chiffrement CMEK n'est pas activé pour votre instance.

gcloud

Pour vérifier si CMEK est activé et afficher la référence de clé, affichez le champ customerManagedKey en exécutant la commande suivante:

gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION

Désactiver et réactiver des versions de clé

Pour en savoir plus sur ce qui se passe lorsque vous désactivez, activez, détruisez ou réactivez une version de clé, consultez la section Comportement lors de la destruction ou de la désactivation d'une version de clé CMEK.

Pour savoir comment désactiver et réactiver des versions de clé, consultez la section Activer et désactiver des versions de clé.

Pour savoir comment désactiver et réactiver des versions de clé, consultez la section Détruire et restaurer des versions de clé.

Étape suivante