使用客户管理的加密密钥 (CMEK)

本页面介绍了如何创建使用客户管理的加密密钥 (CMEK) 的 Memorystore for Redis 实例。此外,本文档还提供了有关管理使用 CMEK 的实例的说明。如需详细了解 Memorystore for Redis 的 CMEK,请参阅客户管理的加密密钥 (CMEK) 简介

准备工作

  1. 确保您的用户账号具有 Redis Admin 角色

    转到 IAM 页面

创建使用 CMEK 的实例的工作流

  1. 在您希望 Memorystore for Redis 实例所在的地理位置创建密钥环密钥

  2. 复制或记下密钥名称 (KEY_NAME)、密钥的位置和密钥环的名称 (KEY_RING)。您在向服务账号授予密钥访问权限时需要此信息。

  3. 向 Memorystore for Redis 服务账号授予密钥的访问权限

  4. 前往某个项目,然后在密钥环和密钥所在的区域中创建启用了 CMEK 的 Memorystore for Redis 实例

您的 Memorystore for Redis 实例现已通过 CMEK 启用。

创建密钥环和密钥

创建密钥环密钥。 两者都必须与您的 Memorystore for Redis 实例位于同一区域。密钥可以来自其他项目,但必须位于同一区域。此外,密钥必须使用对称加密算法

创建密钥环和密钥后,复制或记下 KEY_NAME、密钥位置和 KEY_RING。在向服务账号授予密钥访问权限时,您需要此信息。

向 Memorystore for Redis 服务账号授予密钥的访问权限

在创建使用 CMEK 的 Memorystore for Redis 实例之前,您必须向特定的 Memorystore for Redis 服务账号授予对密钥的访问权限。您可以使用 Google Cloud 控制台或 Google Cloud CLI 授予服务账号对密钥的访问权限。

如需向服务账号授予访问权限,请使用以下格式:

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

控制台

创建使用 CMEK 的 Memorystore for Redis 实例的步骤中,您需要向服务账号授予对密钥的访问权限。

gcloud

如需向服务账号授予密钥访问权限,请使用 gcloud kms keys add-iam-policy-binding 命令。将 VARIABLES 替换为适当的值。

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

创建使用 CMEK 的 Memorystore for Redis 实例

您可以使用 Google Cloud 控制台或 gcloud CLI 创建使用 CMEK 的实例。

控制台

  1. 请确保在要创建实例的同一区域中创建密钥环和密钥

  2. 按照在 VPC 网络上创建 Redis 实例中的说明操作,直到您到达启用 CMEK 的步骤。然后返回这些说明。

  3. 选择使用客户管理的加密密钥 (CMEK)

  4. 如需选择密钥,请使用此菜单。

  5. 为实例选择其余配置,然后点击创建

gcloud

如需创建使用 CMEK 的实例,请使用 gcloud redis instances create 命令。将 VARIABLES 替换为适当的值。

gcloud redis instances create INSTANCE_ID \
--size=SIZE \
--region=REGION_ID \
--customer-managed-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME

查看启用了 CMEK 的实例的密钥信息

您可以使用Google Cloud 控制台或 gcloud CLI 查看启用了 CMEK 的实例的关键信息。此信息包括有效密钥以及您的实例是否已启用 CMEK。

控制台

  1. 在 Google Cloud 控制台中,前往实例页面。

    Memorystore for Redis

  2. 点击实例的 ID。

  3. 在左侧窗格中,点击安全性标签页。安全页面包含指向有效密钥的链接,并显示密钥引用路径。如果未显示此信息,则表明您未为实例启用 CMEK。

gcloud

如需验证 CMEK 是否已启用并查看密钥引用,请使用 gcloud redis instances describe 命令查看 customerManagedKey 字段。将 VARIABLES 替换为适当的值。

gcloud redis instances describe INSTANCE_ID \
--project=PROJECT_NAME \
--region=REGION_ID

管理密钥版本

如需了解停用、销毁、轮替、启用和恢复密钥版本时会发生什么情况,请参阅 CMEK 密钥版本的行为

如需查看有关如何停用和重新启用密钥版本的说明,请参阅启用和停用密钥版本

如需查看有关如何销毁和恢复密钥版本的说明,请参阅销毁和恢复密钥版本

后续步骤