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
Assurez-vous de disposer du rôle Administrateur Memorystore sur votre compte utilisateur.
Procédure permettant de créer une instance qui utilise CMEK
Créez un trousseau de clés et une clé à l'emplacement où vous souhaitez que l'instance Memorystore pour Valkey se trouve.
Copiez ou notez le nom de la clé (
KEY_NAME), son emplacement et le nom du trousseau de clés (KEY_RING). Vous avez besoin de ces informations lorsque vous accordez à la clé l'accès au compte de service.Accordez au compte de service Memorystore pour Valkey l'accès à la clé.
Accédez à un projet et créez une instance Memorystore pour Valkey avec CMEK activé dans la même région que le trousseau de clés et la clé.
Votre instance Memorystore pour Valkey est maintenant configurée pour utiliser les CMEK.
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 instance Memorystore pour Valkey. 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.
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 avez besoin de ces informations lorsque vous accordez au compte de service l'accès à la clé.
Accorder au compte de service Memorystore pour Valkey l'accès à la clé
Avant de pouvoir créer une instance Memorystore pour Valkey qui utilise CMEK, vous devez accorder à un compte de service Memorystore pour Valkey 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@gcp-sa-memorystore.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@gcp-sa-memorystore.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 une instance Memorystore pour Valkey qui utilise CMEK
Vous pouvez créer une instance qui utilise CMEK à l'aide de la gcloud CLI.
gcloud
Pour créer une instance qui utilise CMEK, utilisez la gcloud memorystore instances create commande.
gcloud memorystore instances create INSTANCE_ID \
--project=PROJECT_NAME \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_NAME/global/networks/NETWORK_ID", "projectId": "PROJECT_NAME"}}]}]' \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-config-mode=PERSISTENCE_CONFIG_MODE
Effectuez les remplacements suivants :
- INSTANCE_ID : ID de l'instance que vous créez.
- PROJECT_NAME : nom du projet dans lequel vous souhaitez créer l'instance.
- REGION_ID : ID de la région dans laquelle vous souhaitez que l'instance se trouve.
- NETWORK_ID : ID du réseau que vous souhaitez utiliser pour créer l'instance.
- 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 l' instance.
- PERSISTENCE_CONFIG_MODE : mode de persistance de l'instance.
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 l'instance.disabled: vous désactivez la persistance pour l'instance.rdb: vous activez la persistance basée sur la base de données Redis (RDB) pour l'instance.
Afficher les informations sur les clés d'une instance configurée pour utiliser les CMEK
Vous pouvez afficher des informations sur votre instance configurée pour utiliser les CMEK à l'aide de la gcloud CLI. Ces informations indiquent si CMEK est activé pour votre instance et la clé active.
gcloud
Pour vérifier si CMEK est activé et afficher la référence de la clé, utilisez la
gcloud memorystore instances describe
commande pour afficher les encryptionInfo et kmsKey champs.
gcloud memorystore instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --location=REGION_ID
Effectuez les remplacements suivants :
- INSTANCE_ID : ID de l'instance pour laquelle vous souhaitez afficher des informations
- PROJECT_NAME : nom du projet contenant l'instance
- REGION_ID : ID de la région dans laquelle se trouve l'instance
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
- En savoir plus sur les sauvegardes.
- En savoir plus sur la persistance.