Cloud External Key Manager

本主题简要介绍 Cloud External Key Manager (Cloud EKM)。如需创建和管理外部密钥,请参阅管理 Cloud EKM 密钥

概览

借助 Cloud EKM,您可以使用您在支持的外部密钥管理合作伙伴内管理的密钥来保护 Google Cloud 中的数据。您可以通过支持的 CMEK 集成服务,或者直接调用 Cloud Key Management Service API,来保护静态数据。

Cloud EKM 提供多项优势:

  • 密钥出处:您可以控制外部管理的密钥的位置和分布。外部管理的密钥从不缓存或存储在 Google Cloud 中。相反,Cloud EKM 针对每个请求直接与外部密钥管理合作伙伴进行通信。

  • 访问权限控制:您可以管理对外部管理的密钥的访问权限。您必须先向 Google Cloud 项目授予使用密钥的访问权限,然后才能使用外部托管密钥来加密或解密 Google Cloud 中的数据。您可以随时撤消此访问权限。

  • 集中式密钥管理:无论密钥保护的数据位于云端还是本地,您都可以通过单一位置和界面来管理密钥和访问权限政策。

在任何情况下,密钥都位于外部系统上,并且绝不会发送给 Google。

支持的密钥管理器

您可以将外部密钥存储在以下外部密钥管理合作伙伴系统中:

支持的 CMEK 集成服务

工作原理

本部分简要介绍 Cloud EKM 如何与外部密钥搭配使用。您还可以按照分步说明来创建 Cloud EKM 密钥

  1. 首先,您需要在支持的外部密钥管理合作伙伴系统中创建密钥或使用现有密钥。此密钥具有一个唯一的 URI。
  2. 接下来,您将向 Google Cloud 项目授予存取权限以使用外部密钥管理合作伙伴系统中的密钥。
  3. 在 Google Cloud 项目中,可使用由外部管理的密钥的 URI 创建 Cloud EKM 密钥。

在 Google Cloud 中,密钥与您的其他 Cloud KMS 和 Cloud HSM 密钥一起显示,保护级别为 EXTERNAL。Cloud EKM 密钥与外部密钥管理合作伙伴密钥协同工作以保护您的数据。外部密钥绝不会公开给 Google。

下图展示了 Cloud KMS 在密钥管理模型中的作用。(如需使用 Compute Engine 和 BigQuery 作为两个示例,请参阅此处提供的受支持服务列表)

说明如何使用 Cloud EKM 进行加密和解密的图表

了解使用 Cloud EKM 时的注意事项限制

注意事项

  • 当您使用 Cloud EKM 密钥时,Google 无法控制由外部管理的密钥在外部密钥管理合作伙伴系统中的可用性。如果丢失了您在 Google Cloud 外部管理的密钥,Google 无法恢复您的数据。

  • 为您的 Cloud EKM 密钥选择位置时,请查看有关外部密钥管理合作伙伴和区域的准则。

  • 查看 Cloud EKM 服务等级协议 (SLA)

  • 通过互联网与外部服务通信可能会导致发生可靠性、可用性和延迟方面的问题。对于这类风险容忍度较低的应用,请考虑使用 Cloud HSM 或 Cloud KMS 存储密钥材料。

    • 如果外部密钥不可用,Cloud KMS 将返回 FAILED_PRECONDITION 错误,并在 PreconditionFailure 错误详细信息中提供详细信息。

      启用数据审核日志记录以便保存与 Cloud EKM 相关的所有错误的记录。错误消息包含详细信息,可帮助您找出错误的来源。常见错误示例:外部密钥管理合作伙伴没有在合理的时间范围内响应请求。

    • 您需要与外部密钥管理合作伙伴签署支持合同。Google Cloud 支持团队只能为 Google Cloud 服务中的问题提供支持,而不能直接协助解决外部系统的问题。您可能需要与双方的支持团队合作来排查互操作性问题。

  • Cloud EKM 可与托管专用 HSM 结合使用来创建与 Cloud KMS 集成的单租户 HSM 解决方案。如需了解详情,请选择支持单租户 HSM 的 Cloud EKM 合作伙伴,并查看托管专用 HSM 中的要求。

限制

  • 仅支持对称加密密钥,并且仅适用于以下各项:
  • Cloud EKM 使用由外部管理的密钥加密的数据不能在不使用 Cloud EKM 的情况下进行解密。
  • 不支持自动轮替。
  • 使用 API 或 gcloud 命令行工具创建 Cloud EKM 密钥时,该密钥不能有初始密钥版本。这不适用于使用 Cloud Console 创建的 Cloud EKM 密钥。
  • 除了受到 Cloud KMS 操作的配额限制之外,Cloud EKM 操作还受特定配额限制。

外部密钥管理器和区域

Cloud EKM 必须能够快速访问您的密钥,以避免出错。创建 Cloud EKM 密钥时,请选择一个地理位置接近外部密钥管理合作伙伴密钥位置的 Google Cloud 位置。如需详细了解该合作伙伴的位置可用性,请参阅合作伙伴的文档。

您可以在 Cloud KMS 支持的任何 Google Cloud 位置(但 global 除外)使用 Cloud EKM。

请参阅您的外部密钥管理合作伙伴的文档,以确定他们支持哪些位置。

多区域使用

当您使用具有多区域且由外部管理的密钥时,密钥的元数据(包括与外部密钥管理合作伙伴通信所需的信息)在多区域内的多个数据中心都有提供。如果您的应用在多区域内从一个数据中心故障转移到另一个数据中心,则新数据中心会发起密钥请求。新数据中心的网络特征可能与以前的数据中心不同,包括与外部密钥管理合作伙伴之间的距离以及发生超时的可能性。如果外部密钥管理合作伙伴提供的覆盖率级别对应于可用 Cloud EKM 多区域的覆盖率,我们建议仅将多区域与 Cloud EKM 搭配使用。

Cloud EKM 的 API 新增内容

为了支持 Cloud EKM,我们对 Cloud Key Management Service API 进行了以下更改:

后续步骤