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

En utilisant des clés de chiffrement gérées par le client (CMEK), vous contrôlez vos clés. Vous pouvez ainsi 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. 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 Key Management Service (KMS).

Avant de commencer

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

    Accéder à la page IAM

Procédure de création d'un cluster qui utilise CMEK

  1. Créez un trousseau de clés et une clé à l'emplacement où vous souhaitez que le cluster se trouve dans Memorystore for Redis Cluster.

  2. Copiez ou notez le nom de la clé (KEY_NAME), son emplacement et le nom du trousseau de clés (KEY_RING). Vous aurez besoin de ces informations lorsque vous accorderez à la clé l'accès au compte de service.

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

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

CMEK est désormais activé pour votre cluster.

Créer un trousseau de clés et une clé

Créez un trousseau de clés et une clé. Les deux doivent se trouver dans la même région que votre cluster dans Memorystore for Redis Cluster. La clé peut provenir d'un autre projet, à condition qu'elle se trouve dans la même région. De plus, elle doit utiliser l'algorithme de chiffrement symétrique.

Une fois le trousseau de clés et la clé créés, copiez ou notez le KEY_NAME, l'emplacement de la clé et le KEY_RING. Vous aurez besoin de ces informations lorsque vous accorderez à la clé l'accès au compte de service.

Accorder au compte de service Memorystore for Redis Cluster l'accès à la clé

Avant de pouvoir créer un cluster dans Memorystore for Redis Cluster qui utilise CMEK, vous devez accorder à un compte de service Memorystore for Redis Cluster spécifique l'accès à la clé.

Vous pouvez accorder au compte de service l'accès à la clé à l'aide de la gcloud CLI. Pour accorder l'accès au compte de service, utilisez le format suivant :

  service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
  

gcloud

Pour accorder au compte de service l'accès à la clé, utilisez la gcloud kms keys add-iam-policy-binding commande.

gcloud kms keys add-iam-policy-binding  \
projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Effectuez les remplacements suivants :

  • PROJECT_ID : ID ou numéro du projet contenant le trousseau de clés
  • REGION_ID : région où se trouve le trousseau de clés
  • KEY_RING : nom du trousseau de clés contenant la clé
  • KEY_NAME : nom de la clé à laquelle vous accordez l'accès au compte de service
  • PROJECT_NUMBER : ID ou numéro du projet contenant le compte de service

Créer un cluster qui utilise CMEK

Vous pouvez créer un cluster qui utilise CMEK à l'aide de la gcloud CLI.

gcloud

Pour créer un cluster qui utilise CMEK, utilisez la gcloud redis clusters create commande.

gcloud redis clusters create CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID \
--network=NETWORK_ID \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-mode=PERSISTENCE_MODE

Effectuez les remplacements suivants :

  • CLUSTER_ID : ID du cluster que vous créez.
  • PROJECT_NAME : nom du projet dans lequel vous souhaitez créer le cluster.
  • REGION_ID : ID de la région dans laquelle vous souhaitez que le cluster se trouve.
  • NETWORK_ID : ID du réseau que vous souhaitez utiliser pour créer le cluster.
  • KEY_RING : nom du trousseau de clés contenant la clé.
  • KEY_NAME : nom de la clé.
  • SHARD_NUMBER : nombre de fragments que vous souhaitez avoir pour le cluster.
  • PERSISTENCE_MODE : mode de persistance du cluster. Vous pouvez définir ce mode sur l'une des valeurs suivantes :
    • aof: vous activez la persistance basée sur le fichier AOF (Append-Only File) pour le cluster.
    • disabled : vous désactivez la persistance pour le cluster.
    • rdb: vous activez la persistance basée sur la base de données Redis (RDB) pour le cluster.

Afficher les informations sur les clés d'un cluster pour lequel CMEK est activé

Vous pouvez afficher des informations sur votre cluster pour lequel CMEK est activé à l'aide de la gcloud CLI. Ces informations indiquent si CMEK est activé pour votre cluster et la clé active.

gcloud

Pour vérifier si CMEK est activé et afficher la référence de la clé, utilisez la gcloud redis clusters describe commande pour afficher les champs encryptionInfo et kmsKey.

gcloud redis clusters describe CLUSTER_ID \
--project=PROJECT_NAME \
--region=REGION_ID

Effectuez les remplacements suivants :

  • CLUSTER_ID : ID du cluster pour lequel vous souhaitez afficher des informations
  • PROJECT_NAME : nom du projet contenant le cluster
  • REGION_ID : ID de la région dans laquelle se trouve le cluster

Gérer les versions de clé

Pour en savoir plus sur ce qui se passe lorsque vous désactivez, détruisez, faites pivoter, activez, et restaurez une version de clé, consultez Comportement d'une version de clé CMEK.

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

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

Étape suivante