本页面提供了有关如何创建使用客户管理的加密密钥 (CMEK) 的 Memorystore for Redis 集群实例的说明。本文还提供了有关管理使用 CMEK 的实例的说明。如需详细了解 Memorystore for Redis 集群的 CMEK,请参阅客户管理的加密密钥 (CMEK) 简介。
准备工作
创建使用 CMEK 的实例的工作流
复制或记下密钥 ID (
KMS_KEY_ID
)、密钥的位置和密钥环 ID (KMS_KEY_RING_ID
)。您在向服务账号授予密钥访问权限时需要此信息。前往相应项目,然后在密钥环和密钥所在的同一区域创建启用了 CMEK 的 Memorystore for Redis 集群实例。
您的 Memorystore for Redis Cluster 实例现已启用 CMEK。
创建密钥环和密钥
创建密钥环和密钥。 两者都必须与 Memorystore for Redis 集群实例位于同一区域。密钥可以来自其他项目,但必须位于同一区域。此外,密钥必须使用对称加密算法。
向 Memorystore for Redis Cluster 服务账号授予密钥的访问权限
在创建使用 CMEK 的 Memorystore for Redis Cluster 实例之前,您必须向特定的 Memorystore for Redis Cluster 服务账号授予对密钥的访问权限。
如需向服务账号授予访问权限,请使用以下格式:
service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com
gcloud
如需向服务账号授予对密钥的访问权限,请使用 gcloud kms keys add-iam-policy-binding
命令。将 VARIABLES 替换为适当的值。
gcloud kms keys add-iam-policy-binding \ projects/PROJECT_ID/locations/REGION_ID/keyRings/KMS_KEY_RING_ID/cryptoKeys/KMS_KEY_ID \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
创建使用 CMEK 的 Memorystore for Redis 集群实例
gcloud
如需创建使用 CMEK 的实例,请使用 gcloud beta redis clusters
create
命令。将 VARIABLES 替换为适当的值。
gcloud beta redis clusters create INSTANCE_ID \ --project=PROJECT_NAME \ --region=REGION_ID \ --network=NETWORK \ --kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KMS_KEY_RING_ID/cryptoKeys/KMS_KEY_ID \ --shard-count=SHARD_NUMBER \ --persistence-mode=PERSISTENCE_MODE
查看启用了 CMEK 的实例的密钥信息
请按照以下说明查看您的实例是否已启用 CMEK,并查看有效密钥。
gcloud
如需验证 CMEK 是否已启用并查看密钥引用,请使用 gcloud redis clusters describe
命令查看 encryptionInfo
和 kmsKey
字段。将 VARIABLES 替换为适当的值。
gcloud redis clusters describe INSTANCE_ID \ --project=PROJECT_NAME \ --region=REGION_ID
管理密钥版本
如需了解停用、销毁、轮替、启用和恢复密钥版本时会发生什么情况,请参阅 CMEK 密钥版本的行为。
如需了解如何停用和重新启用密钥版本,请参阅启用和停用密钥版本。
如需查看有关如何销毁和恢复密钥版本的说明,请参阅销毁和恢复密钥版本。