本主题概述了 Cloud External Key Manager (Cloud EKM)。
术语
External Key Manager (EKM)
密钥管理器用于在 Google Cloud 之外管理您的密钥。
Cloud External Key Manager (Cloud EKM)
一种使用在受支持的 EKM 中管理的外部密钥的 Google Cloud 服务。
通过互联网使用 Cloud EKM
Google Cloud 通过互联网与您的外部密钥管理器通信的 Cloud EKM 版本。
通过 VPC 的 Cloud EKM
Google Cloud 通过虚拟私有云 (VPC) 与外部密钥管理器通信的 Cloud EKM 版本。如需了解详情,请参阅 VPC 网络概览。
概览
借助 Cloud EKM,您可以使用您在支持的外部密钥管理合作伙伴内管理的密钥来保护 Google Cloud 中的数据。您可以通过受支持的 CMEK 集成服务来保护静态数据,也可以直接调用 Cloud Key Management Service API 来保护这些数据。
Cloud EKM 提供多项优势:
密钥出处:您可以控制外部管理的密钥的位置和分布。外部管理的密钥从不缓存或存储在 Google Cloud 中。相反,Cloud EKM 针对每个请求直接与外部密钥管理合作伙伴进行通信。
访问权限控制:您可以管理对外部管理的密钥的访问权限。您必须先向 Google Cloud 项目授予使用密钥的访问权限,然后才能使用外部托管密钥来加密或解密 Google Cloud 中的数据。您可以随时撤消此访问权限。
集中式密钥管理:无论密钥保护的数据位于云端还是本地,您都可以通过单一位置和界面来管理密钥和访问权限政策。
在任何情况下,密钥都位于外部系统上,并且绝不会发送给 Google。
您可以通过互联网或通过 Virtual Private Cloud (VPC) 与外部密钥管理器通信。
支持的密钥管理器
您可以将外部密钥存储在以下外部密钥管理合作伙伴系统中:
通过 Cloud EKM 支持 CMEK 的服务
- Artifact Registry
- BigQuery
- Cloud Bigtable
- Cloud Composer
- Cloud Functions
- Cloud Logging:日志路由器和日志存储
- Cloud Run
- Cloud Spanner
- Cloud SQL
- Cloud Storage
- Compute Engine(包括 Persistent Disk)
- Dataflow
- Dataproc
- Dataproc Metastore
- Google 分布式 Cloud Edge
- Google Kubernetes Engine:虚拟机磁盘上的数据或应用层 Secret
- Pub/Sub
- Speaker ID(受限 Google Analytics(分析))
- Secret Manager
- Vertex AI
工作原理
本部分简要介绍 Cloud EKM 如何与外部密钥搭配使用。您还可以按照分步说明创建通过互联网访问的 Cloud EKM 密钥或创建通过 VPC 访问的 Cloud EKM 密钥。
- 首先,您需要在支持的外部密钥管理合作伙伴系统中创建密钥或使用现有密钥。此密钥具有唯一的 URI 或密钥路径。
- 接下来,您将向 Google Cloud 项目授予存取权限以使用外部密钥管理合作伙伴系统中的密钥。
- 在 Google Cloud 项目中,您将使用由外部管理的密钥的 URI 或密钥路径创建 Cloud EKM 密钥。
在 Google Cloud 中,该密钥与其他 Cloud KMS 和 Cloud HSM 密钥一同显示,保护级别为 EXTERNAL
或 EXTERNAL_VPC
。Cloud EKM 密钥与外部密钥管理合作伙伴密钥协同工作以保护您的数据。外部密钥绝不会公开给 Google。
下图显示了 Cloud KMS 如何适应密钥管理模型(如需使用 Compute Engine 和 BigQuery 作为两个示例,请点击此处查看完整的受支持服务列表)。
注意事项
当您使用 Cloud EKM 密钥时,Google 无法控制由外部管理的密钥在外部密钥管理合作伙伴系统中的可用性。如果丢失了您在 Google Cloud 外部管理的密钥,Google 无法恢复您的数据。
为您的 Cloud EKM 密钥选择位置时,请查看有关外部密钥管理合作伙伴和区域的准则。
通过互联网与外部服务通信可能会导致发生可靠性、可用性和延迟方面的问题。对于这类风险容忍度较低的应用,请考虑使用 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 中的要求。
限制
- 不支持自动轮替。
- 使用 API 或 Google Cloud CLI 创建 Cloud EKM 密钥时,该密钥不得具有初始密钥版本。这不适用于使用控制台创建的 Cloud EKM 密钥。
- 除了受到 Cloud KMS 操作的配额限制之外,Cloud EKM 操作还受特定配额限制。
对称加密密钥
- 对称加密密钥仅支持以下各项:
- 支持的集成服务中的客户管理的加密密钥 (CMEK)。
- 直接使用 Cloud KMS 进行的对称加密和解密。
- Cloud EKM 使用由外部管理的密钥加密的数据不能在不使用 Cloud EKM 的情况下进行解密。
非对称签名密钥
- 非对称签名密钥限于一部分 Cloud KMS 算法。
- 非对称签名密钥仅适用于:
- 在 Cloud EKM 密钥上设置非对称签名算法后,便无法修改此算法。
- 必须在
data
字段上签名。
外部密钥管理器和区域
Cloud EKM 必须能够快速访问您的密钥,以避免出错。创建 Cloud EKM 密钥时,请选择一个地理位置接近外部密钥管理合作伙伴密钥位置的 Google Cloud 位置。如需详细了解该合作伙伴的位置可用性,请参阅合作伙伴的文档。
- 通过互联网使用的 Cloud EKM:可在 Cloud KMS 支持的任何 Google Cloud 位置使用(
global
除外) - 通过 VPC 的 Cloud EKM:仅在 Cloud KMS 支持的区域位置可用
请参阅您的外部密钥管理合作伙伴的文档,以确定他们支持哪些位置。
多区域使用
当您使用具有多区域且由外部管理的密钥时,密钥的元数据(包括与外部密钥管理合作伙伴通信所需的信息)在多区域内的多个数据中心都有提供。如果您的应用在多区域内从一个数据中心故障切换到另一个数据中心,则新数据中心会发起密钥请求。新数据中心的网络特征可能与以前的数据中心不同,包括与外部密钥管理合作伙伴之间的距离以及发生超时的可能性。我们建议您仅在所选外部密钥管理器为多区域的所有区域提供低延迟时,才使用多区域 EKM。
后续步骤
详细了解如何通过互联网使用 Cloud EKM 和通过 VPC 使用 Cloud EKM。
开始学习使用 API。
查看 Cloud KMS API 参考。
了解 Cloud KMS 中的日志记录。日志记录基于操作,适用于保护级别为 HSM 和软件的密钥。
如需了解有关配置与 Cloud EKM 集成的外部密钥管理器 (EKM) 服务部署的建议,请参阅可靠部署 Cloud EKM 服务的参考架构。
获取支持
如果您遇到 Cloud EKM 问题,请与支持团队联系。