管理 Cloud EKM 密钥

本主题介绍如何使用 Cloud External Key Manager (Cloud EKM) 以通过在 Google Cloud 外部管理的密钥来加密存储中的数据(静态数据)。

准备工作

完成以下步骤后,您就可以开始使用 Cloud EKM 密钥来保护您的数据了。

创建新项目

测试 Cloud EKM 时,我们建议您设置一个新项目。

  1. 在 Google Cloud Console 中,转到“管理资源”页面。

    转到“管理资源”页面

  2. 创建新的 Google Cloud 项目或选择现有项目。

  3. 确保您的 Google Cloud 项目已启用结算功能。 了解如何确认您的项目已启用结算功能

  4. 您可以详细了解 Cloud EKM 价格

启用 Cloud KMS

  1. 为项目启用 Cloud Key Management Service API。

    启用 Cloud Key Management Service API

  2. 请记下项目的 Cloud EKM 服务帐号。在以下示例中,将 project-number 替换为您的 Google Cloud 项目的项目编号。每次使用 Google Cloud Console 创建 Cloud EKM 密钥时,也会显示此信息。

    service-project-number@gcp-sa-ekms.iam.gserviceaccount.com
    

准备外部密钥管理合作伙伴系统

在外部密钥管理合作伙伴系统中,向 Google Cloud 服务帐号授予使用外部密钥的权限。将服务帐号视为电子邮件地址。合作伙伴可能使用与此主题不同的术语。

创建外部密钥

在外部密钥管理合作伙伴系统上执行这些步骤。确切的步骤因外部密钥管理合作伙伴而异。您可以查看支持的 Cloud EKM 合作伙伴列表。

  1. 如有必要,请向您的外部密钥管理合作伙伴申请访问权限,以参与此 版本。

  2. 在外部密钥管理合作伙伴系统中创建密钥或选择现有密钥。

    在您计划用于 Cloud EKM 密钥的 Google Cloud 区域附近的区域中创建密钥。这有助于减少 Google Cloud 项目和外部密钥管理合作伙伴之间的网络延迟。否则,操作失败的次数可能会增加。如需了解详情,请查看 Cloud EKM 和地区

  3. 请记下外部密钥的 URI。您需要此信息才能创建 Cloud EKM 密钥

创建 Cloud EKM 密钥

创建密钥时,您可以将其添加到您打算使用该密钥的位置中的密钥环。对于 Cloud EKM 密钥,该位置还必须靠近外部密钥的位置。

本主题介绍了如何创建密钥环,但您可以在适当位置的现有密钥环上创建密钥。

gcloud

  1. 在外部密钥管理合作伙伴推荐的其中一个地区中创建密钥环。

    gcloud kms keyrings \
     create key-ring-name \
     --location location
    
  2. 在密钥环中创建密钥。将保护级别设置为 external,并将用途设置为 encryption。添加 --skip-initial-version-creation 以防止创建初始密钥版本。将 default algorithm 设置为 external-symmetric-encryption

    gcloud kms keys \
     create key-name \
     --keyring key-ring-name \
     --location location \
     --purpose encryption \
     --protection-level external \
     --skip-initial-version-creation \
     --default-algorithm external-symmetric-encryption
    
  3. 为您刚刚创建的密钥创建一个密钥版本。将 --external-key-uri 标志设置为外部密钥 URI。添加 --primary 标志以将此版本设置为主要密钥版本。使用与上述步骤相同的密钥名称、密钥环和位置。

    gcloud kms keys versions \
     create \
     --key key-name \
     --keyring key-ring-name \
     --location location \
     --external-key-uri external-key-uri \
     --primary
    

控制台

创建密钥环:

  1. 转到 Cloud Console 中的加密密钥页面。

    转到“加密密钥”页面

  2. 点击创建密钥环

  3. 密钥环名称字段中,输入密钥环的名称。

  4. 位置下拉列表中,选择其中一个由外部密钥管理合作伙伴推荐的地区

  5. 点击创建。此时,系统会创建密钥环,并显示创建密钥对话框。

创建 Cloud EKM 密钥。

  1. 请选择由外部管理的密钥作为密钥类型。用途会自动设置为对称加密/解密,而密钥类型和算法字段会设置为外部对称密钥。这些值无法修改。

  2. 输入密钥的名称。

  3. 输入外部密钥的 URI。

  4. (可选)为密钥添加标签。您可以详细了解为密钥添加标签

  5. 点击创建

系统会自动创建密钥版本且该版本会成为主要版本。

在以下情况下,您可以检索新密钥的密钥资源 ID并开始使用它来保护数据:

轮替外部密钥

如果需要更改外部密钥的 URI,您可以轮替 Cloud EKM 密钥。轮替密钥会将新密钥版本添加到 Cloud EKM 密钥。

轮替 Cloud EKM 密钥后,只要外部密钥管理合作伙伴系统上的外部密钥 URI 中仍然存在先前版本的外部密钥,您仍然可以解密使用该密钥加密的数据。

如果外部密钥管理合作伙伴系统中的密钥材料未更改,但 URI 发生更改,则您可以更新密钥的外部 URI,而无需轮替密钥。

gcloud

如需轮替密钥,请创建一个包含更新后的外部密钥 URI 的新密钥版本,并将此版本设置为主要密钥版本。使用您在创建密钥时所用的名称、密钥环和位置。

gcloud kms keys versions \
  create \
  --key key-name \
  --keyring key-ring-name \
  --location location \
  --external-key-uri new-external-key-uri \
  --primary

控制台

  1. 转到 Cloud Console 中的加密密钥页面。
    转到“加密密钥”页面

  2. 选择密钥环,然后选择密钥。

  3. 选择轮替

  4. 输入新密钥的 URI,然后选择轮替密钥

新密钥版本将成为主要版本。

更新密钥版本的 URI

您可以更新 Cloud EKM 密钥版本的密钥 URI,而无需轮替 Cloud EKM 密钥,只要新密钥的 URI 与原始密钥的 URI 具有完全相同的密钥材料即可。如果 URI 不包含相同的密钥材料,则将无法更新密钥 URI。您还可以更新非主要密钥版本的密钥 URI。

如果密钥材料已在外部密钥管理合作伙伴系统中轮替,则必须改为轮替密钥

gcloud

要更新密钥版本的 URI,请使用 gcloud beta kms versions update 命令,指定要更新的密钥版本,并将 --external-key-uri 标志设置为新的 URI。

gcloud kms keys versions update key-version \
  --key key \
  --keyring keyring \
  --location location \
  --external-key-uri uri

例如,以下命令将密钥 example-key 的版本 2 的 URI 更新为 https://example-key.example.com/v0/example_key

gcloud kms keys versions update 2 \
  --key example-key> \
  --keyring example-keyring \
  --location us-west1 \
  --external-key-uri https://example-key.example.com/v0/example_key

控制台

  1. 转到 Cloud Console 中的加密密钥页面。
    转到“加密密钥”页面

  2. 选择密钥环,然后选择密钥和版本。

  3. 点击更多 ,然后点击查看密钥 URI

  4. 点击更新密钥 URI

  5. 输入新的密钥 URI,然后点击保存

停用或销毁外部密钥

要暂时停用 Cloud EKM 密钥与外部密钥之间的关联,您可以停用 Cloud EKM 密钥或密钥版本。建议停用整个密钥。停用密钥会在三小时内生效。

停用密钥后,您还应该撤消对该密钥的访问权限。IAM 操作会在数秒内达成一致。此外,请考虑撤消 Google Cloud 服务帐号在外部密钥管理合作伙伴系统中的访问权限。

永久移除 Cloud EKM 密钥与外部密钥之间的关联,您可以安排销毁 Cloud EKM 密钥版本。密钥会在 24 小时后销毁。销毁密钥是永久性操作。密钥版本销毁后,您就无法再加密数据或解密使用 Cloud EKM 密钥版本加密的数据。即使您使用相同的外部密钥 URI,也无法重新创建已被销毁的 Cloud EKM 密钥。

解读错误

如果您在创建或使用 Cloud EKM 密钥时遇到错误,错误会被记录。如需详细了解如何解读和修复这些错误,请参阅 Cloud EKM 错误参考

获取支持

如果您遇到 Cloud EKM 问题,请与支持团队联系。