本页面简要介绍了 Cloud External Key Manager (Cloud EKM)。
术语
External Key Manager (EKM)
在 Google Cloud 之外用于管理密钥的密钥管理器。
Cloud External Key Manager (Cloud EKM)
一种使用在受支持的 EKM 中管理的外部密钥的 Google Cloud 服务。
通过互联网使用 Cloud EKM
Cloud EKM 的一个版本,其中 Google Cloud 通过互联网与您的外部密钥管理器通信。
通过 VPC 使用 Cloud EKM
Google Cloud 与其通信的 Cloud EKM 版本 通过虚拟私有云 (VPC) 来连接外部密钥管理器。有关 信息,请参阅 VPC 网络概览。
通过 Vertex AI Workbench Cloud KMS
通过具有专用 VPC 网络的 VPC 使用 Cloud EKM 时 支持 Cloud EKM 的外部密钥管理合作伙伴 可以使用 Cloud KMS EKM 管理模式,以简化在您的 外部密钥管理合作伙伴和 Cloud EKM 中。如需了解详情,请参阅 协调的外部密钥和 通过 Google Cloud 控制台 Cloud KMS。
加密空间
外部密钥管理合作伙伴中用于存储您的资源的容器。你的加密货币空间 由唯一的加密空间路径标识。加密空间的格式 具体路径因外部密钥管理合作伙伴而异,例如
v0/cryptospaces/YOUR_UNIQUE_PATH
。合作伙伴管理的 EKM
由值得信赖的合作伙伴为您管理 EKM 的安排。 如需了解详情,请参阅本演示文稿中的合作伙伴管理的 EKM 页面。
Key Access Justifications
将 Cloud EKM 与密钥访问理由搭配使用时,您向外部密钥管理合作伙伴发出的每个请求都会包含一个字段,用于标识每个请求的原因。您可以将外部密钥管理合作伙伴配置为根据提供的 Key Access Justifications 代码批准或拒绝请求。如需详细了解 Key Access Justifications,请参阅 Key Access Justifications 概览。
概览
借助 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 的工作原理
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 密钥时,必须使用外部密钥,才能解密 和内部密钥材料
如果贵组织已启用 Key Access Justifications,则您的外部密钥管理合作伙伴 记录所提供的访问理由,并仅完成请求 的理由原因代码 关于外部密钥管理合作伙伴的 Key Access Justifications 政策。
创建和管理 Cloud EKM 密钥需要在 使用 Cloud KMS 和 EKM系统会处理这些相应的更改 对于手动管理的外部密钥和协调的外部密钥,则是不同的。全部 通过互联网访问的外部密钥需要手动管理。外部密钥 通过 VPC 网络进行访问可以手动管理或协调,具体取决于 通过 VPC 连接的 EKM 的 EKM 管理模式。手动 EKM 管理模式用于手动管理的密钥。通过 Cloud KMS EKM 管理模式用于协调的外部密钥。更多信息 EKM 管理模式,请参阅手动管理的外部 密钥和协调的外部密钥 。
下图显示了 Cloud KMS 如何融入密钥管理机制中 模型。此图以 Compute Engine 和 BigQuery 为例 您还可以查看支持 Cloud EKM 的服务的完整列表 密钥。
手动管理的外部密钥
本部分全面概述了 Cloud EKM 如何与 手动管理的外部密钥。
- 您可以在受支持的外部密钥管理合作伙伴处创建或使用现有密钥 system。此密钥具有唯一的 URI 或密钥路径。
- 您将向 Google Cloud 项目授予存取权限以使用外部密钥管理合作伙伴系统中的密钥。
- 在 Google Cloud 项目中,创建一个 Cloud EKM 密钥 版本,使用外部管理的密钥的 URI 或密钥路径。
- 您必须在 EKM 和 Cloud EKM 之间手动管理密钥轮替等维护操作。例如,密钥版本轮替或 密钥版本销毁操作需要直接在 您的 EKM 和 Cloud KMS 中
在 Google Cloud 中,该密钥
Cloud KMS 和 Cloud HSM 密钥,具有保护级别
EXTERNAL
或 EXTERNAL_VPC
。Cloud EKM 密钥与外部密钥管理合作伙伴密钥协同工作以保护您的数据。外部密钥
绝不会泄露给 Google。
协调的外部密钥
本部分简要介绍 Cloud EKM 如何与协调的外部密钥搭配使用。
您通过 VPC 设置 EKM 连接、 将 EKM 管理模式设置为 Cloud KMS。在设置过程中,您需要 必须授权您的 EKM 访问您的 VPC 网络 用于访问加密空间的 Google Cloud 项目服务账号, 您的 EKM。EKM 连接使用 EKM 的主机名和用于标识 EKM 中资源的加密空间路径。
您可以在以下位置创建外部密钥: Cloud KMS。使用 EKM 创建 Cloud EKM 密钥时 在启用了 Cloud KMS EKM 管理模式的情况下通过 VPC 连接, 系统会自动执行以下步骤:
- Cloud EKM 会向您的 EKM 发送密钥创建请求。
- 您的 EKM 会创建请求的密钥材料。此外部密钥材料 保留在 EKM 中,并且绝不会发送给 Google。
- 您的 EKM 会返回 Cloud EKM 的密钥路径。
- Cloud EKM 使用 密钥路径。
您可以从 Cloud KMS 启动对协调外部密钥的维护操作。例如,协调外部密钥用于 对称加密可以按照设定的时间表自动轮替。通过 创建新密钥版本的操作由 Cloud EKM。您还可以通过更改 从 Cloud KMS 检索 EKM 中的密钥版本 Google Cloud 控制台、gcloud CLI、Cloud KMS API 或 Cloud KMS 客户端库。
在 Google Cloud 中,密钥与您的其他 Cloud KMS 和 Cloud HSM 密钥一起显示,保护级别为 EXTERNAL_VPC
。Cloud EKM 密钥和外部密钥管理合作伙伴密钥的工作原理
共同保护您的数据外部密钥材料绝不会公开
Google。
使用 Cloud KMS 进行 EKM 密钥管理
协调的外部密钥通过 EKM 通过使用 EKM 密钥管理 Cloud KMS。如果您的 EKM 支持 Cloud EKM 控制平面,则可以通过 VPC 连接为 EKM 启用 Cloud KMS 中的 EKM 密钥管理,以创建协调的外部密钥。包含 EKM 密钥管理 已启用 Cloud KMS,则 Cloud EKM 可以请求以下更改 :
创建密钥:在以下位置创建外部管理的密钥时: Cloud KMS 使用兼容的通过 VPC 连接的 EKM, Cloud EKM 将您的密钥创建请求发送到您的 EKM。时间 成功,则 EKM 会创建新的密钥和密钥材料,并返回 要用于访问密钥的 Cloud EKM 的密钥路径。
轮替密钥:当您在以下位置轮替外部管理的密钥: Cloud KMS 使用兼容的通过 VPC 连接的 EKM, Cloud EKM 会将您的轮替请求发送到您的 EKM。成功后 您的 EKM 会创建新的密钥材料并返回 用于访问新密钥版本的 Cloud EKM。
销毁密钥:在您销毁外部管理的密钥的密钥版本时 在 Cloud KMS 中使用兼容的 EKM 通过 VPC 连接; Cloud KMS 安排销毁密钥版本 Cloud KMS。如果密钥版本在安排的 销毁期限结束后,Cloud EKM 会销毁自己 密钥加密材料,并向 EKM 发送销毁请求。
使用此密钥版本加密的数据无法在使用密钥后解密 版本会在 Cloud KMS 中销毁,即使 EKM 尚未 销毁了密钥版本。您可以查看 EKM 是否已成功 通过在以下位置查看密钥详细信息来销毁密钥版本: Cloud KMS。
当您的 EKM 中的密钥通过 Cloud KMS 管理时,密钥材料 仍保留在您的 EKM 中。未经明确许可,Google 无法向您的 EKM 发出任何密钥管理请求。Google 无法更改外部密钥管理合作伙伴系统中的权限或 Key Access Justifications 政策。如果您在 EKM 中撤消 Google 的权限,则在 Cloud KMS 中尝试执行的密钥管理操作会失败。
兼容性
支持的密钥管理器
您可以将外部密钥存储在以下外部密钥管理合作伙伴系统中:
通过 Cloud EKM 支持 CMEK 的服务
以下服务支持与 Cloud KMS 集成 外部 (Cloud EKM) 密钥:
- AlloyDB for PostgreSQL
- Artifact Registry
- Backup for GKE
- BigQuery
- Bigtable
- Cloud Composer
- Cloud Data Fusion
- Cloud Healthcare API
- Cloud Logging: 日志路由器中的数据 和 Logging 存储中的数据
- Cloud Run
- Cloud Run 函数
- Cloud SQL
- Cloud Storage
- Cloud Tasks
- Cloud Workstations
- Compute Engine: 永久性磁盘 , 快照 , 自定义映像 , 和 机器映像
- Contact Center AI 数据洞见
- Database Migration Service:MySQL 迁移 - 写入数据库的数据、PostgreSQL 迁移 - 写入数据库的数据、PostgreSQL 到 AlloyDB 迁移 - 写入数据库的数据、PostgreSQL 到 AlloyDB 迁移 - 写入数据库的数据,以及 Oracle 到 PostgreSQL 静态数据
- Dataflow
- Dataform
- Dataproc: 虚拟机磁盘上的 Dataproc 集群数据 和 虚拟机磁盘上的 Dataproc 无服务器数据
- Dataproc Metastore
- Dialogflow CX
- Document AI
- Eventarc
- Filestore
- Firestore (预览版)
- Google Distributed Cloud
- Google Kubernetes Engine: 虚拟机磁盘上的数据 和 应用层 Secret
- Looker (Google Cloud Core)
- Memorystore for Redis
- 迁移到虚拟机
- Pub/Sub
- Secret Manager
- Secure Source Manager
- Spanner
- 演讲者 ID (受限的 Google Analytics)
- Speech-to-Text
- Vertex AI
- Vertex AI Workbench 实例
- 工作流程
注意事项
当您使用 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 的要求。
在外部密钥管理器中启用审核日志记录以捕获访问和 EKM 密钥的使用情况。
限制
- 不支持自动轮替。
- 当您使用 API 或 Google Cloud CLI,它不得有初始密钥版本。这并不 适用于使用 Google Cloud 控制台创建的 Cloud EKM 密钥。
- 除了受到 Cloud KMS 操作的配额限制之外,Cloud EKM 操作还受特定配额限制。
对称加密密钥
- 对称加密密钥仅支持以下各项:
- Cloud EKM 使用由外部管理的密钥加密的数据不能在不使用 Cloud EKM 的情况下进行解密。
非对称签名密钥
- 非对称签名密钥限于一部分 Cloud KMS 算法。
- 非对称签名密钥仅适用于以下用例:
- 在 Cloud EKM 密钥上设置非对称签名算法后,便无法修改。
- 必须在
data
字段上签名。
外部密钥管理器和区域
Cloud EKM 必须能够快速访问您的密钥,以避免出错。创建 Cloud EKM 密钥时,请选择一个地理位置接近外部密钥管理合作伙伴密钥位置的 Google Cloud 位置。如需详细了解该合作伙伴的位置可用性,请参阅合作伙伴的文档。
- 通过互联网提供的 Cloud EKM:适用于任何 Google Cloud
位置,适用于 Cloud KMS、
但
global
和nam-eur-asia1
除外。 - 通过 VPC 使用 Cloud EKM:仅在 单区域位置,适用于 Cloud KMS
请参阅您的外部密钥管理合作伙伴的文档,以确定他们支持哪些位置。
多区域使用
当您将外部管理的密钥用于多区域时, 多区域中的多个数据中心都有密钥。此元数据 包含与外部密钥管理合作伙伴沟通所需的信息。如果您的 在多区域位置提供故障切换服务 新数据中心发起密钥请求。新数据中心 与先前数据中心的不同网络特征,包括 与外部密钥管理合作伙伴的距离以及发生超时的可能性。我们建议 仅使用具有 Cloud EKM 的多区域(如果您选择的外部密钥) Manager 为该多区域位置的所有区域提供低延迟。
合作伙伴管理的 EKM
合作伙伴管理的 EKM 可让您通过可信主权使用 Cloud EKM 为您管理 EKM 系统的合作伙伴。借助合作伙伴管理的 EKM,您的 由合作伙伴创建和管理 Cloud EKM 中使用的函数。合作伙伴确保您的 EKM 符合 主权要求。
当您与主权合作伙伴建立合作关系时,合作伙伴会提供相关资源 在 Google Cloud 和 EKM 中。这些资源包括 Cloud KMS 项目,用于通过 从以下来源为 EKM 密钥管理配置 VPC 连接: Cloud KMS。您的合作伙伴创建资源 将数据驻留在 Google Cloud 位置。
每个 Cloud EKM 密钥都包含 Cloud KMS 元数据,可让 Cloud EKM 向 Cloud KMS 发送请求 使用 EKM 使用外部密钥材料执行加密操作, 绝不会离开 EKM。对称 Cloud EKM 密钥还包括 绝不会离开 Google Cloud 的 Cloud KMS 内部密钥材料。 详细了解 Cloud EKM 的内部和外部 请参阅本页面中的 Cloud EKM 的工作原理。
如需详细了解合作伙伴管理的 EKM,请参阅配置合作伙伴管理的 EKM Cloud KMS。
监控 Cloud EKM 用量
您可以使用 Cloud Monitoring 监控 EKM 连接。以下 指标可帮助您了解 EKM 用量:
cloudkms.googleapis.com/ekm/external/request_latencies
cloudkms.googleapis.com/ekm/external/request_count
如需详细了解这些指标,请参阅 cloudkms 指标。您可以创建一个 来跟踪这些指标了解如何设置要监控的信息中心 EKM 连接,请参阅监控 EKM 使用情况。
获取支持
如果您遇到 Cloud EKM 问题,请与支持团队联系。
后续步骤
创建 EKM 连接以通过以下方式使用 EKM VPC。
开始学习使用 API。
了解 Cloud KMS 中的日志记录。Logging 基于 适用于同时具有 HSM 和软件保护的密钥 级别。
请参阅有关可靠部署 Cloud EKM 的参考架构 服务,获取有关配置外部密钥的建议 Manager (EKM) 服务部署与 Cloud EKM 集成。