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. Elle fournit également des instructions sur la gestion des instances qui utilisent des 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 d'administrateur Redis sur votre compte utilisateur.

    Accéder à la page IAM

Workflow de création d'une instance utilisant des CMEK

  1. Créez un trousseau, puis créez une clé à l'emplacement souhaité pour l'instance Memorystore.

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

  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ée dans la même région que le trousseau et la clé.

Votre instance Memorystore pour Redis est désormais activée avec 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 projet différent, tant qu'elle se trouve dans la même région. En outre, 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 utilisant d'abord des clés CMEK, vous devez accorder à un compte de service Memorystore spécifique l'accès à la clé. Accordez l'accès au compte de service Memorystore dont le format est le suivant:

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

Console

Lorsque vous utilisez la console, vous accordez au compte de service un accès à la clé lors de la création d'une instance Redis utilisant des clés de chiffrement gérées par le client.

gcloud

Pour autoriser le compte de service à accéder à 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 utilisant des CMEK

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

Console

  1. Pour commencer, disposez d'un trousseau et d'une clé dans la région 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 ne dispose pas des autorisations nécessaires, 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 Attribuer pour accorder l'autorisation de rôle au compte de service Memorystore.
  6. Une fois que vous avez sélectionné les configurations souhaitées pour votre instance, cliquez sur le bouton Créer pour créer une instance Memorystore pour Redis compatible avec les CMEK.

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 Google Cloud Console, accédez à la page "Instances Memorystore pour Redis".

    Memorystore pour Redis

  2. Affichez la page Détails de l'instance correspondant à 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 indique le chemin de référence de la clé. Si cette section n'apparaît pas, cela signifie que CMEK n'est pas activé pour votre instance.

gcloud

Pour vérifier si les CMEK sont activées et pour consulter la référence de la 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 de la destruction/désactivation d'une version de clé CMEK.

Pour obtenir des instructions sur la désactivation et la réactivation des versions de clé, consultez la page Activer et désactiver des versions de clé.

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

Étapes suivantes