本页面简要介绍了 Cloud External Key Manager (Cloud EKM)。
术语
-
External Key Manager (EKM)
在 Google Cloud 外部用于管理密钥的密钥管理器。
-
Cloud External Key Manager (Cloud EKM)
Google Cloud 服务,用于使用在受支持的 EKM 中管理的外部密钥。
-
Cloud EKM 的一个版本,其中 Google Cloud 通过虚拟私有云 (VPC) 与外部密钥管理器通信。如需了解详情,请参阅 VPC 网络概览。
-
通过 Cloud KMS 进行 EKM 密钥管理
您的密钥使用 Cloud KMS EKM 管理模式,以简化在外部密钥管理合作伙伴处和 Cloud EKM 中维护外部密钥的过程。如需了解详情,请参阅本页面上的协调的外部密钥和通过 Cloud KMS 进行 EKM 密钥管理。
-
外部密钥管理合作伙伴中资源的容器。您的加密空间由唯一的加密空间路径标识。加密空间路径的格式因外部密钥管理合作伙伴而异,例如
v0/cryptospaces/YOUR_UNIQUE_PATH。 -
合作伙伴管理的 EKM
由可信合作伙伴为您管理 EKM 的安排。 如需了解详情,请参阅本页面上的合作伙伴管理的 EKM。
概览
借助 Cloud EKM,您可以使用您在支持的外部密钥管理合作伙伴内管理的密钥来保护Google Cloud中的数据。您可以通过支持的 CMEK 集成服务,或者直接调用 Cloud Key Management Service API,来保护静态数据。
Cloud EKM 提供多项优势:
密钥来源:您可以控制外部管理的密钥的位置和分布。外部管理的密钥绝不会在 Google Cloud中缓存或存储。相反,Cloud EKM 针对每个请求直接与外部密钥管理合作伙伴进行通信。
访问权限控制:您可以在外部密钥管理器中管理对外部管理密钥的访问权限。您必须先向 Google Cloud 项目授予对外部密钥管理器中密钥的访问权限,然后才能在Google Cloud 中使用外部管理的密钥。您可以随时撤消此访问权限。
集中式密钥管理:无论密钥保护的数据是位于云端还是本地,您都可以通过一个界面管理密钥和访问权限政策。
在任何情况下,密钥都位于外部系统上,并且绝不会发送给 Google。
您通过虚拟私有云 (VPC) 与外部密钥管理器进行通信。Cloud EKM 的工作原理
Cloud EKM 密钥版本由以下部分组成:
- 外部密钥材料:Cloud EKM 密钥的外部密钥材料是在 EKM 中创建和存储的加密材料。此材料不会离开您的 EKM,也绝不会与 Google 共享。
- 密钥引用:每个 Cloud EKM 密钥版本都包含密钥 URI 或密钥路径。这是外部密钥材料的唯一标识符,Cloud EKM 在使用该密钥请求加密操作时会使用该标识符。
- 内部密钥材料:创建对称 Cloud EKM 密钥时,Cloud KMS 会在 Cloud KMS 中创建其他密钥材料,这些材料永远不会离开 Cloud KMS。在与 EKM 通信时,此密钥材料用作额外的加密层。此内部密钥材料不适用于非对称签名密钥。
如需使用 Cloud EKM 密钥,Cloud EKM 会向您的 EKM 发送加密操作请求。例如,如需使用对称加密密钥加密数据,Cloud EKM 首先会使用内部密钥材料加密数据。加密数据包含在对 EKM 的请求中。 EKM 使用外部密钥材料将加密数据封装在另一层加密中,然后返回生成的密文。如果没有外部密钥材料和内部密钥材料,则无法解密使用 Cloud EKM 密钥加密的数据。
创建和管理 Cloud EKM 密钥需要在 Cloud KMS 和 EKM 中进行相应更改。 您的密钥是协调外部密钥,因此这些相应的更改会使用 Cloud EKM 控制平面为您处理。如需了解详情,请参阅本页面上的协调的外部密钥。
下图展示了 Cloud KMS 如何融入密钥管理模型。此图使用 Compute Engine 和 BigQuery 作为两个示例;您还可以查看支持 Cloud EKM 密钥的服务的完整列表。
协调外部密钥
本部分简要介绍了 Cloud EKM 如何与协调的外部密钥搭配使用。
您设置 EKM 连接,并将 EKM 管理模式设置为 Cloud KMS。在设置期间,您必须授权 EKM 访问您的 VPC 网络,并授权Google Cloud 项目服务账号访问 EKM 中的加密空间。您的 EKM 连接使用 EKM 的主机名和加密空间路径,该路径用于标识 EKM 中的资源。
您在 Cloud KMS 中创建外部密钥。当您使用通过 VPC 连接的 EKM 且启用了 Cloud KMS EKM 管理模式创建 Cloud EKM 密钥时,系统会自动执行以下步骤:
- Cloud EKM 会向您的 EKM 发送密钥创建请求。
- EKM 会创建请求的密钥材料。此外部密钥材料会保留在 EKM 中,绝不会发送给 Google。
- 您的 EKM 会向 Cloud EKM 返回密钥路径。
- Cloud EKM 会使用 EKM 提供的密钥路径创建 Cloud EKM 密钥版本。
您可以从 Cloud KMS 启动对协调外部密钥的维护操作。例如,用于对称加密的协调外部密钥可以按设定的时间表自动轮替。Cloud EKM 会在 EKM 中协调新密钥版本的创建。您还可以使用Google Cloud 控制台、gcloud CLI、Cloud KMS API 或 Cloud KMS 客户端库,从 Cloud KMS 触发 EKM 中密钥版本的创建或销毁。
在 Google Cloud中,该密钥会与其他 Cloud KMS 和 Cloud HSM 密钥一起显示,保护级别为EXTERNAL_VPC。Cloud EKM 密钥和外部密钥管理合作伙伴密钥共同保护您的数据。外部密钥材料绝不会提供给 Google。
通过 Cloud KMS 进行 EKM 密钥管理
协调外部密钥通过使用 Cloud KMS 中的 EKM 密钥管理的 EKM 连接实现。如果您的 EKM 支持 Cloud EKM 控制平面,则您可以为 EKM 连接启用 Cloud KMS 中的 EKM 密钥管理,以创建协调的外部密钥。启用 Cloud KMS 的 EKM 密钥管理后,Cloud EKM 可以在 EKM 中请求以下更改:
创建密钥:当您使用兼容的 EKM 连接在 Cloud KMS 中创建外部管理的密钥时,Cloud EKM 会将您的密钥创建请求发送到 EKM。成功后,您的 EKM 会创建新密钥和密钥材料,并返回 Cloud EKM 用于访问该密钥的密钥路径。
轮替密钥:当您使用兼容的 EKM 连接在 Cloud KMS 中轮替外部管理的密钥时,Cloud EKM 会将轮替请求发送到 EKM。成功后,您的 EKM 会创建新的密钥材料,并返回 Cloud EKM 用于访问新密钥版本的密钥路径。
销毁密钥:当您使用兼容的 EKM 连接在 Cloud KMS 中销毁外部管理密钥的密钥版本时,Cloud KMS 会安排在 Cloud KMS 中销毁该密钥版本。如果密钥版本未在已安排销毁期结束前恢复,Cloud EKM 会销毁其密钥加密材料部分,并向您的 EKM 发送销毁请求。
在 Cloud KMS 中销毁密钥版本后,使用此密钥版本加密的数据将无法解密,即使 EKM 尚未销毁该密钥版本也是如此。您可以在 Cloud KMS 中查看密钥的详细信息,了解 EKM 是否已成功销毁密钥版本。
通过 Cloud KMS 管理 EKM 中的密钥时,密钥材料仍会保留在 EKM 中。未经明确许可,Google 无法向您的 EKM 发出任何密钥管理请求。 Google 无法更改外部密钥管理合作伙伴系统中的权限。 如果您在 EKM 中撤消 Google 的权限,则在 Cloud KMS 中尝试的密钥管理操作会失败。
兼容性
支持的密钥管理器
您可以将外部密钥存储在以下外部密钥管理合作伙伴系统中:
支持将 CMEK 与 Cloud EKM 结合使用的服务
以下服务支持与 Cloud KMS 集成以使用外部 (Cloud EKM) 密钥:
- Agent Assist
- Agent Registry(预览版)
- 智能体检索
- AlloyDB for PostgreSQL
- Apigee API Hub
- Application Integration
- Artifact Registry
- Backup and DR Service:备份保险柜容器和静态备份
- Backup for GKE
- BigQuery
- Bigtable
- Cloud Data Fusion
- Cloud Healthcare API
- Cloud Logging:日志路由器中的数据和 Logging 存储中的数据
- Cloud Run
- Cloud Run functions
- Cloud SQL: 写入数据库的数据 以及标准备份和增强型备份
- Cloud Storage
- Cloud Tasks
- Cloud Workstations
- Compute Engine:永久性磁盘、快照、自定义映像和机器映像
- 客户体验分析洞见
- 数据洞察
- Database Migration Service: MySQL 迁移 - 写入数据库的数据、 PostgreSQL 迁移 - 写入数据库的数据、 PostgreSQL 到 AlloyDB 迁移 - 写入数据库的数据、 SQL Server 迁移 - 写入数据库的数据 以及从 Oracle 到 PostgreSQL 的静态数据
- Dataflow
- Dataform
- Dataproc Metastore
- Datastream
- Dialogflow CX
- Document AI
- Eventarc Advanced(预览版)
- Eventarc Standard
- Filestore
- Firestore
- Google Cloud Managed Lustre
- Google Cloud Managed Service for Apache Kafka
- Google Cloud NetApp Volumes
- Google Cloud Observability(预览版)
- Google Distributed Cloud
- Google Kubernetes Engine:虚拟机磁盘上的数据和应用层 Secret
- Integration Connectors
- Knowledge Catalog
- Looker (Google Cloud Core)
- Managed Service for Apache Airflow
- Managed Service for Apache Spark: 虚拟机磁盘上的集群数据 和虚拟机磁盘上的无服务器数据
- Memorystore for Redis
- Memorystore for Redis Cluster
- Memorystore for Valkey
- Migrate to Virtual Machines: 从 VMware、AWS 和 Azure 虚拟机来源迁移的数据 和从磁盘和机器映像来源迁移的数据
- Parameter Manager
- Pub/Sub
- Secret Manager
- Secure Source Manager
- Security Command Center
- Spanner
- Speech-to-Text
- Vertex AI
- Vertex AI Workbench 实例
- Workflows
- Workload Manager
注意事项
当您使用 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 的要求。这与单租户 Cloud HSM 不同,您应仔细考虑哪种解决方案更符合您的要求。
在外部密钥管理器中启用审核日志记录,以捕获对 EKM 密钥的访问和使用情况。
限制
- 使用 API 或 Google Cloud CLI 创建 Cloud EKM 密钥时,该密钥不得具有初始密钥版本。这不适用于使用Google Cloud 控制台
- 除了受到 Cloud KMS 操作的配额限制之外,Cloud EKM 操作还受特定配额限制。
对称加密密钥
- 对称加密密钥仅支持以下各项:
- 支持的集成服务中的客户管理的加密密钥 (CMEK)。
- 直接使用 Cloud KMS 的对称加密和解密。
- Cloud EKM 使用由外部管理的密钥加密的数据不能在不使用 Cloud EKM 的情况下进行解密。
非对称签名密钥
- 非对称签名密钥限于一部分 Cloud KMS 算法。
- 非对称签名密钥仅适用于以下应用场景:
- 在 Cloud EKM 密钥上设置非对称签名算法后,该算法便无法修改。
- 必须在
data字段上签名。
合作伙伴管理的 EKM
借助合作伙伴管理的 EKM,您可以通过受信任的主权合作伙伴使用 Cloud EKM,该合作伙伴会为您管理 EKM 系统。借助合作伙伴管理的 EKM,您的合作伙伴可以创建和管理您在 Cloud EKM 中使用的密钥。合作伙伴可确保您的 EKM 符合主权要求。
当您与主权合作伙伴合作时,合作伙伴会在 Google Cloud 和 EKM 中预配资源。这些资源包括用于管理 Cloud EKM 密钥的 Cloud KMS 项目,以及为通过 Cloud KMS 进行 EKM 密钥管理而配置的 EKM 连接。您的合作伙伴会根据您的数据驻留要求在 Google Cloud 位置创建资源。
每个 Cloud EKM 密钥都包含 Cloud KMS 元数据,这使 Cloud EKM 能够向您的 EKM 发送请求,以使用永远不会离开 EKM 的外部密钥材料执行加密操作。对称 Cloud EKM 密钥还包含永远不会离开 Google Cloud的 Cloud KMS 内部密钥材料。如需详细了解 Cloud EKM 密钥的内部和外部,请参阅本页面上的 Cloud EKM 的工作原理。
如需详细了解合作伙伴管理的 EKM,请参阅配置合作伙伴管理的 Cloud KMS。