En utilisant des clés de chiffrement gérées par le client (CMEK), vous contrôlez vos clés. Cela vous permet de 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 que vous disposez du rôle d'administrateur Memorystore sur votre compte utilisateur.
Procédure permettant de créer une instance utilisant les 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 aurez besoin de ces informations lorsque vous accorderez à 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 désormais activée avec 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 à la clé l'accès au compte de service.
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 commande gcloud kms keys add-iam-policy-binding.
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 qui inclut 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 une clé 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 commande gcloud memorystore instances create.
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 placer l'instance.
- NETWORK_ID : ID du réseau que vous souhaitez utiliser pour créer l'instance.
- KEY_RING : nom du trousseau de clés qui inclut la clé
- KEY_NAME : nom de la clé.
- SHARD_NUMBER : nombre de partitions que vous souhaitez 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 compatible avec les CMEK à l'aide de la gcloud CLI. Ces informations incluent l'état de l'activation de CMEK 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 commande gcloud memorystore instances describe pour afficher les champs encryptionInfo et kmsKey.
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 où se trouve l'instance
Gérer les versions de clé
Pour savoir ce qui se passe lorsque vous désactivez, détruisez, faites pivoter, activez ou 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é.
Étapes suivantes
- En savoir plus sur les sauvegardes
- En savoir plus sur la persistance