本页面介绍了如何创建使用客户管理的加密密钥的 Memorystore for Redis 实例。还介绍了如何管理使用 CMEK 的实例。如需详细了解 Memorystore 的客户管理的加密密钥,请参阅客户管理的加密密钥。
准备工作
创建使用 CMEK 的实例实例的工作流
复制或记下密钥 ID (KMS_KEY_ID)、密钥位置和密钥环的 ID (KMS_KEYRING_ID)。在向服务帐号授予对密钥的访问权限时,您需要用到此信息。
转到一个项目,在密钥环和密钥所在的区域中创建一个启用了 CMEK 的 Memorystore for Redis 实例。
您的 Memorystore for Redis 实例现已启用 CMEK。
创建密钥和密钥环
按照说明创建密钥环和创建密钥。两者必须位于 Redis 实例所在的区域中。密钥可以来自不同的项目,只要密钥位于同一区域即可。此外,该密钥必须使用对称加密算法。
向服务帐号授予密钥的访问权限
为了先创建使用 CMEK 的 Redis 实例,您必须向特定 Memorystore 服务帐号授予对密钥的访问权限。请使用以下格式授予对 Memorystore 服务帐号的访问权限:
service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com
控制台
使用控制台时,在创建使用 CMEK 的 Redis 实例的步骤中,您需要授予服务帐号对密钥的访问权限。
gcloud
如需向服务帐号授予对密钥的访问权限,请运行以下命令,并将 VARIABLES 替换为适当的值:
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
创建使用 CMEK 的 Memorystore for Redis 实例
如需创建具有 CMEK 的实例,请按如下所述操作:
控制台
首先,在您要创建 Memorystore 实例的同一区域中拥有密钥环和密钥。
按照创建 Redis 实例中的说明进行操作,直到完成启用客户管理的加密密钥的步骤,然后返回这些说明。
选择使用客户管理的加密密钥 (CMEK)。
使用下拉菜单选择您的密钥。
如果 Memorystore 服务帐号尚未获得所需的权限,系统会显示一个文本框,说明:
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.
- 点击授予按钮,向 Memorystore 服务帐号授予角色权限。
为实例选择所需的配置,然后点击创建按钮以创建启用了 CMEK 的 Memorystore for Redis 实例。
gcloud
如需创建使用客户管理的加密密钥的实例,请输入以下命令,并将 VARIABLES 替换为适当的值:
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]
查看启用了 CMEK 的实例的密钥信息
请按照以下说明查看您的实例是否启用了 CMEK,并查看有效密钥。
控制台
在 Google Cloud Console 中,转到 Memorystore for Redis 实例页面。
点击实例 ID 查看实例的实例详情页面。
点击 Security(安全)标签。
使用客户管理的密钥加密部分包含指向有效密钥的链接,并显示密钥引用路径。如果未出现此部分,则表明您的实例未启用 CMEK。
gcloud
如需验证 CMEK 是否已启用,并查看密钥引用,请运行以下命令,查看 customerManagedKey
字段:
gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION
停用和重新启用密钥版本
如需了解在停用、启用、销毁或重新启用密钥版本时会发生什么情况,请参阅销毁/停用 CMEK 密钥版本的行为。
如需了解如何停用和重新启用密钥版本,请参阅启用和停用密钥版本。
如需了解如何停用和重新启用密钥版本,请参阅销毁和恢复密钥版本。
后续步骤
- 详细了解 Redis AUTH。
- 详细了解传输加密。