本文档概述了如何使用 Cloud Key Management Service (Cloud KMS) 实现客户管理的加密密钥 (CMEK)。借助 Cloud KMS CMEK,您将获得用于保护静态数据的密钥的 所有权和控制权 Cloud de Confiance by S3NS。
CMEK 与 Google Cloud-powered encryption keys
您创建的 Cloud KMS 密钥是由客户管理的密钥。 Cloud de Confiance 使用您的密钥的服务称为具有 CMEK 集成。 以下 因素将 Cloud de Confiance'的默认静态加密与 客户管理的密钥区分开来:
| 密钥类型 | 由客户管理 | Google Cloud-powered encryption key (Google 默认加密方式) |
|---|---|---|
可以查看密钥元数据 |
是 |
否 |
密钥所有权1 |
客户 |
|
客户,仅限手动控制 |
||
支持客户管理的密钥的监管要求 |
是 |
否 |
密钥共享 |
每位客户专用 |
来自多个客户的数据通常由共享密钥加密密钥 (KEK) 进行保护。 |
控制密钥轮替 |
是 |
|
是 |
否 | |
是 |
否 |
|
通过加密实现逻辑数据分离 |
是 |
否 |
价格 |
保护级别不同,价格也不同 | 免费 |
1 密钥所有者表示谁拥有密钥的权利。您拥有的密钥受到严格的访问权限限制,或者 Google 无法访问这些密钥。
2 管理密钥包括以下任务:
- 创建密钥。
- 选择密钥的保护级别。
- 分配管理密钥的权限。
- 控制对密钥的访问权限。
- 控制密钥的使用情况。
- 设置和修改密钥的轮替周期,或触发密钥轮替。
- 更改密钥状态。
- 销毁密钥版本。
3 对密钥进行控制意味着对密钥的类型和使用方式进行控制,检测差异,并根据需要规划纠正措施。您可以控制密钥,但可以将密钥的管理权委托给第三方。
的默认加密 Google Cloud-powered encryption keys
中存储的所有数据,是使用我们用于自己的 加密数据的同一 强化密钥管理系统进行静态加密的。 Cloud de Confiance Cloud de Confiance 这些密钥管理系统提供严格的密钥访问控制 和审核机制,并使用 AES-256 加密 标准加密用户数据。 Cloud de Confiance 拥有并控制用于加密您的 数据的密钥。您无法查看或管理这些密钥,也无法查看密钥使用情况日志。来自多个客户的数据可能会使用相同的密钥加密密钥 (KEK)。无需进行设置、配置或管理。
客户管理的加密密钥 (CMEK)
客户管理的加密密钥是您拥有的加密密钥。借助此 功能,您可以更好地控制用于在支持的服务中加密静态数据的密钥,并为您的数据提供加密边界。 Cloud de Confiance
支持 CMEK 的服务具有 CMEK 集成。 CMEK 集成是一种 服务器端加密技术,您可以将其用于替代 Cloud de Confiance'的默认加密。设置 CMEK 后,加密和解密资源的操作将由资源服务代理处理。由于与 CMEK 集成的服务会处理对加密资源的访问,因此加密和解密可以透明地进行,而无需最终用户付出任何努力。访问资源的体验 与使用 Cloud de Confiance的默认 加密类似。如需详细了解 CMEK 集成,请参阅 与 CMEK 集成的服务提供的功能。
您可以为每个密钥使用无限数量的密钥版本。
如需了解某项服务是否支持 CMEK,请参阅 支持的服务列表。
使用 Cloud KMS 会产生与密钥版本数量以及使用这些密钥版本执行的加密操作相关的费用。
何时使用客户管理的加密密钥
您可以在兼容的服务中使用 CMEK,以帮助您实现以下目标:拥有加密密钥。
控制和管理加密密钥,包括选择位置、保护级别、创建、访问权限控制、轮替、使用和销毁。
在 Cloud KMS 中生成密钥材料,或导入在外部维护的密钥材料。 Cloud de Confiance
设置有关必须在何处使用密钥的政策。
在离职或补救安全性事件(加密销毁)的情况下,有选择地删除受密钥保护的数据。
创建和使用每位客户专用的密钥,从而为您的数据建立加密边界。
满足当前或未来的法规要求,这些法规要求实现上述任何目标。
与 CMEK 集成的服务提供的功能
与 Cloud de Confiance的默认加密一样,CMEK 是一种服务器端对称信封加密,用于加密客户数据。与 Cloud de Confiance的 默认加密不同的是,CMEK 保护使用由客户控制的密钥。
具有 CMEK 集成 的云服务使用您在 Cloud KMS 中创建的密钥来保护您的资源。
与 Cloud KMS 集成的服务使用对称加密。
您可以选择密钥的保护级别。
所有密钥都是 256 位 AES-GCM。
密钥材料永远不会离开 Cloud KMS 系统边界。
您的对称密钥用于在信封加密模型中进行加密和解密。
与 CMEK 集成的服务处理资源访问
在与 CMEK 集成的服务中创建或查看资源的主账号
不需要
Cloud KMS CryptoKey Encrypter/Decrypter
(roles/cloudkms.cryptoKeyEncrypterDecrypter) 来保护
资源所用的 CMEK。
每个项目资源都有一个特殊的服务帐号,称为 服务代理,该账号使用 客户管理的密钥执行加密和解密。在您授权服务代理访问 CMEK 之后,该服务代理将使用该密钥来保护您选择的资源。
当请求者想要访问使用客户管理的密钥加密的资源时,服务代理会自动尝试解密请求的资源。如果服务代理有权使用密钥进行解密,并且您没有停用或销毁密钥,则服务代理会提供密钥的加密和解密使用。否则,请求将失败。
无需额外的请求者访问权限,并且由于服务代理在后台处理加密和解密,因此访问资源的用户体验与使用 Cloud de Confiance的默认加密类似。
规划和创建 CMEK
使用 CMEK 时,您必须先规划和创建密钥环、密钥和资源位置,然后才能创建受保护的资源。 然后,您可以使用密钥来保护资源。
如需了解启用 CMEK 的确切步骤,请参阅相关 Cloud de Confiance 服务的文档。某些服务(例如 GKE)具有多个 CMEK 集成,可保护与该服务相关的不同类型的数据。您可以按照与以下步骤类似的方式操作:
创建 Cloud KMS 密钥环或选择现有密钥环。创建密钥环时,请选择在地理位置上靠近您要保护的资源的位置。密钥环可以与您要保护的资源位于同一项目中,也可以位于不同的项目中。使用不同的 项目可以更好地控制 IAM 角色,并有助于 支持 职责分离。
您可以在所选密钥环中创建或导入 Cloud KMS 密钥。此密钥是 CMEK。
您可以将 CMEK 的 CryptoKey Encrypter/Decrypter IAM 角色 (
roles/cloudkms.cryptoKeyEncrypterDecrypter) 授予该服务的服务 账号。创建资源时,请将资源配置为使用 CMEK。例如,您可以配置 BigQuery 表来 保护表中的静态数据。
请求者无需直接访问 CMEK 即可访问数据。
只要服务代理具有 CryptoKey Encrypter/Decrypter 角色,该服务就可以加密和解密其数据。如果您撤消此角色,或者停用或销毁 CMEK,则无法访问这些数据。
CMEK 合规性
某些服务具有 CMEK 集成,并允许您自行管理密钥。 某些服务则提供 CMEK 合规性,这意味着临时数据和 临时密钥永远不会写入磁盘。如需查看集成服务和 合规服务的完整列表,请参阅与 CMEK 兼容的服务。
CMEK 组织政策
Cloud de Confiance 提供组织政策限制,以帮助确保在整个组织资源中一致使用 CMEK。这些限制为组织管理员提供了 控制措施,以 要求使用 CMEK,并指定对用于 CMEK 保护的 Cloud KMS 密钥的限制和控制 ,包括 :
后续步骤
- 请参阅具有 CMEK 集成的服务列表。
- 请参阅兼容 CMEK 的服务 列表。
- 请参阅 Autokey 支持的服务列表 。