本页介绍如何在其他 Google Cloud 服务中使用 Cloud KMS 客户管理的加密密钥来保护资源。如需了解详情,请参阅客户管理的加密密钥 (CMEK)。
如果一项服务支持 CMEK,则称它具有 CMEK 集成。某些服务(例如 GKE)具有多个 CMEK 集成,可保护与该服务相关的不同类型的数据。 如需查看具有 CMEK 集成的服务列表,请参阅本页面上的为支持的服务启用 CMEK。
准备工作
在其他 Google Cloud 服务中使用 Cloud KMS 密钥之前,您必须拥有一个项目资源来存放 Cloud KMS 密钥。我们建议您为 Cloud KMS 资源使用单独的项目,该项目不包含任何其他 Google Cloud 资源。
CMEK 集成
准备启用 CMEK 集成
如需了解启用 CMEK 的确切步骤,请参阅相关Google Cloud 服务的文档。您可以在此页面上的为支持的服务启用 CMEK 中找到指向每项服务的 CMEK 文档的链接。对于每项服务,您可能会遵循类以下的步骤:
创建密钥环或选择现有密钥环。密钥环的地理位置应尽可能靠近您要保护的资源。
在所选密钥环中,创建密钥或选择现有密钥。确保密钥的保护级别、用途和算法适合您要保护的资源。此密钥是 CMEK 密钥。
获取 CMEK 密钥的资源 ID。 您稍后需要用到此资源 ID。
将 CMEK 密钥的 CryptoKey Encrypter/Decrypter IAM 角色 (
roles/cloudkms.cryptoKeyEncrypterDecrypter) 授予该服务的服务账号。
创建密钥并分配所需权限后,您可以创建或配置服务以使用 CMEK 密钥。
将 Cloud KMS 密钥与集成 CMEK 的服务搭配使用
以下步骤以 Secret Manager 为例。如需了解在特定服务中使用 Cloud KMS CMEK 密钥的确切步骤,请在集成 CMEK 的服务列表中找到相应服务。
在 Secret Manager 中,您可以使用 CMEK 来保护静态数据。
在 Google Cloud 控制台中,前往 Secret Manager 页面。
如需创建 Secret,请点击创建 Secret。
在加密部分中,选择使用客户管理的加密密钥 (CMEK)。
在加密密钥框中,执行以下操作:
可选:如需使用其他项目中的密钥,请执行以下操作:
- 点击切换项目。
- 在搜索栏中输入项目的完整或部分名称,然后选择相应项目。
- 如需查看所选项目的可用密钥,请点击选择。
可选:如需按位置、密钥环、名称或保护级别过滤可用密钥,请在 过滤条件栏中输入搜索字词。
从所选项目中可用密钥的列表中选择一个密钥。 您可以根据显示的密钥位置、密钥环和保护级别详细信息来确保选择正确的密钥。
如果您要使用的密钥未显示在列表中,请点击手动输入密钥,然后输入密钥的资源 ID
完成密文配置,然后点击创建密文。 Secret Manager 会创建相应 Secret 并使用指定的 CMEK 密钥对其进行加密。
为支持的服务启用 CMEK
如需启用 CMEK,请先在下表中找到所需的服务。您可以在该字段中输入搜索字词来过滤表格。 在使用外部 Cloud EKM 密钥时与 Cloud KMS 集成的产品会在 EKM 支持列中指明。
请按照您要为其启用 CMEK 密钥的每项服务的相关说明执行操作。
| 服务 | 使用 CMEK 保护 | 支持 EKM | 主题 |
|---|---|---|---|
| Agent Assist | 静态数据 | 是 | 客户管理的加密密钥 (CMEK) |
| Agent Retrieval | 与合集关联的数据 | 是 | 使用客户管理的加密密钥 |
| Agent Search | 静态数据 | 否 | 客户管理的加密密钥 |
| AlloyDB for PostgreSQL | 写入数据库的数据 | 是 | 使用客户管理的加密密钥 |
| 反洗钱 AI | AML AI 实例资源中的数据 | 否 | 使用客户管理的加密密钥 (CMEK) 加密数据 |
| Apigee | 静态数据 | 否 | CMEK 简介 |
| Apigee API Hub | 静态数据 | 是 | 加密 |
| 应用集成 | 静态数据 | 是 | 使用客户管理的加密密钥 |
| Artifact Registry | 代码库中的数据 | 是 | 启用客户管理的加密密钥 |
| 备份和灾难恢复服务 | 备份保险柜容器 | 是 | 管理备份保险柜加密 |
| 备份和灾难恢复服务 | 静态备份 | 是 | 管理备份加密 |
| Backup for GKE | Backup for GKE 中的数据 | 是 | Backup for GKE CMEK 加密简介 |
| BigQuery | BigQuery 中的数据 | 是 | 使用 Cloud KMS 密钥保护数据 |
| Bigtable | 静态数据 | 是 | 客户管理的加密密钥 (CMEK) |
| Cloud Data Fusion | 环境数据 | 是 | 使用客户管理的加密密钥 |
| Cloud Healthcare API | Cloud Healthcare API 数据集 | 是 | 使用客户管理的加密密钥 (CMEK) |
| Cloud Logging | 日志路由器中的数据 | 是 | 管理用于保护日志路由器数据的密钥 |
| Cloud Logging | 日志记录存储中的数据 | 是 | 管理用于保护 Logging 存储数据的密钥 |
| Cloud Run | 容器映像 | 是 | 搭配使用客户管理的加密密钥与 Cloud Run |
| Cloud Run functions | Cloud Run functions 中的数据 | 是 | 使用客户管理的加密密钥 |
| Cloud SQL | 写入数据库的数据 | 是 | 使用客户管理的加密密钥 |
| Cloud SQL | 标准备份和增强型备份 | 是 | Cloud SQL 备份概览 |
| Cloud Storage | 存储分区中的数据 | 是 | 使用客户管理的加密密钥 |
| Cloud Tasks | 处于静止状态的任务正文和标头 | 是 | 使用客户管理的加密密钥 |
| Cloud TPU | 永久性磁盘 | 否 | 使用客户管理的加密密钥 (CMEK) 加密 TPU 虚拟机启动磁盘 |
| Cloud Workstations | 虚拟机磁盘上的数据 | 是 | 加密工作站资源 |
| Colab Enterprise | 运行时和笔记本文件 | 否 | 使用客户管理的加密密钥 |
| Compute Engine | 永久性磁盘 | 是 | 使用 Cloud KMS 密钥保护资源 |
| Compute Engine | 快照 | 是 | 使用 Cloud KMS 密钥保护资源 |
| Compute Engine | 自定义映像 | 是 | 使用 Cloud KMS 密钥保护资源 |
| Compute Engine | 机器映像 | 是 | 使用 Cloud KMS 密钥保护资源 |