本主题简要介绍了客户管理的加密密钥 (CMEK)。 借助 CMEK,您可以控制在 Google Cloud 中保护静态数据的密钥。
默认加密
Google Cloud 中存储的所有数据均使用 Google 用于自身加密数据的同一强化密钥管理系统进行静态加密。这些密钥管理系统提供严格的密钥访问控制和审核,并使用 AES-256 加密标准对静态用户数据进行加密。无需进行任何设置、配置或管理。如果您的组织没有关于加密材料合规性或局部性的特定要求,则默认加密是最佳选择。
如需详细了解 Google Cloud 中的默认加密,请参阅默认静态加密。
客户管理的加密密钥 (CMEK)
客户管理的加密密钥是您使用 Cloud KMS 管理的加密密钥。借助此功能,您可以更好地控制用于加密受支持的 Google Cloud 服务中静态数据的密钥。如需了解服务是否支持 CMEK 密钥,请参阅支持的服务列表。 当您使用 CMEK 保护 Google Cloud 服务中的数据时,CMEK 密钥由您掌控。
使用 CMEK 不一定比默认加密机制更安全。此外,使用 CMEK 会产生与 Cloud KMS 相关的额外费用。通过 CMEK,您可以控制密钥的生命周期和管理的方方面面,包括以下功能:
- 您可以停用用于保护这些数据的密钥,从而阻止 Google 解密静态数据。
- 您可以使用满足特定位置或驻留要求的密钥来保护数据。
- 您可以自动或手动轮替用于保护数据的密钥。
- 您可以使用不同类型的密钥保护您的数据:
- 生成的软件密钥
- Cloud HSM(由硬件支持)密钥
- Cloud External Key Manager(由外部管理)密钥
- 导入 Cloud KMS 中的现有密钥。
- 您可以为每个密钥使用不受限制的密钥版本。使用默认加密时,大多数服务不支持无限密钥版本。
CMEK 集成
如果某项服务支持 CMEK,则称该服务具有 CMEK 集成。某些服务(例如 GKE)具有多个 CMEK 集成,可保护与该服务相关的不同类型的数据。
如需了解启用 CMEK 的确切步骤,请参阅相关 Google Cloud 服务的文档。您可以按照以下步骤操作:
您可以创建 Cloud KMS 密钥环或选择现有的密钥环。创建密钥环时,请选择在地理位置上靠近您保护的资源的位置。密钥环可以位于您要保护的资源所在的项目中,也可以位于不同的项目中。使用不同的项目可以更好地控制 Identity and Access Management (IAM) 权限。
您可以在所选密钥环中创建或导入 Cloud KMS 密钥。此密钥是 CMEK 密钥。
您将 CMEK 密钥的 CryptoKey Encrypter/Decrypter IAM 角色 (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) 授予该服务的服务帐号。您可以将服务配置为使用 CMEK 密钥来保护其数据。例如,您可以将 GKE 集群配置为使用 CMEK 来保护节点启动磁盘上的静态数据。
只要该服务帐号具有 CyptoKey Encrypter/Decrypter 角色,服务就可以加密和解密其数据。如果您撤消此角色,或者停用或销毁 CMEK 密钥,则无法访问相应数据。
CMEK 合规性
某些服务不会直接存储数据,也不会将数据存储短时间作为中间操作(这是长时间运行的操作中的一个中间步骤)。对于这种类型的工作负载,单独加密每次写入是不现实的。这些服务不提供 CMEK 集成,但可以提供 CMEK 兼容性,通常无需您进行任何配置。
兼容 CMEK 的服务使用仅存在于内存中且从不写入磁盘的临时密钥来加密临时数据。当不再需要临时数据时,临时密钥将从内存中清空。如果没有临时密钥,将无法访问加密的数据,即使存储资源仍然存在。
兼容 CMEK 的服务可能支持将其输出发送到具有 CMEK 集成的服务,例如 Cloud Storage。
CMEK 组织政策
Google Cloud 提供了两项组织政策限制,以帮助确保在整个组织资源中使用 CMEK。这些限制条件为组织管理员提供了要求,要求使用 CMEK 并限制哪些 Cloud KMS 密钥用于 CMEK 保护。如需了解详情,请参阅 CMEK 组织政策。
后续步骤
- 请参阅具有 CMEK 集成的服务列表。
- 请参阅符合 CMEK 的服务列表。