客户管理的加密密钥 (CMEK)

本主题简要介绍了客户管理的加密密钥 (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 服务的文档。您需要按照以下步骤操作:

  1. 您可以创建 Cloud KMS 密钥环或选择现有的密钥环。创建密钥环时,请选择地理位置靠近您要保护的资源的位置。该密钥环可以与您正在保护的资源位于同一项目中,也可以位于不同的项目中。使用不同的项目可以更好地控制 Identity and Access Management (IAM) 权限。

  2. 您可以在所选的密钥环中创建或导入 Cloud KMS 密钥。 此密钥是 CMEK 密钥。

  3. 您将 CMEK 密钥的 CryptoKey Encrypter/Decrypter IAM 角色 (roles/cloudkms.cryptoKeyEncrypterDecrypter) 授予该服务的服务帐号。

  4. 您可以将服务配置为使用 CMEK 密钥来保护其数据。例如,您可以将 GKE 集群配置为使用 CMEK 保护节点启动磁盘上的静态数据。

只要服务帐号具有 CyptoKey Encrypter/Decrypter 角色,服务就可以加密和解密其数据。如果您撤消此角色,或者停用或销毁 CMEK 密钥,将无法访问相应数据。

CMEK 合规性

某些服务不直接存储数据,或者只将数据存储一小段时间(作为长时间运行的操作的中间步骤)。对于这种类型的工作负载,单独加密每次写入是不现实的。这些服务不提供 CMEK 集成,但可以提供 CMEK 兼容性,通常无需您进行任何配置。

兼容 CMEK 的服务使用仅存在于内存中且从不写入磁盘的临时密钥来加密临时数据。当不再需要临时数据时,系统会从内存中清空临时密钥。如果没有临时密钥,将无法访问加密的数据,即使存储资源仍存在也是如此。

兼容 CMEK 的服务可能支持将其输出发送到具有 CMEK 集成的服务,例如 Cloud Storage。

CMEK 组织政策

Google Cloud 提供了两种组织政策限制条件,以帮助确保在整个组织资源中使用 CMEK。这些限制条件可让组织管理员控制是否要求使用 CMEK,并限制将哪些 Cloud KMS 密钥用于 CMEK 保护。如需了解详情,请参阅 CMEK 组织政策

后续步骤