职责分离

职责分离是指确保单个主账号不具备完成恶意行为所需的所有必要权限。在 Cloud Key Management Service 中,这样的操作可能是使用密钥来访问和解密该用户没有正当理由访问的数据。

职责分离是大型组织的常用的业务控制手段之一,旨在帮助避免发生安全或隐私事件和错误。 这被认为是最佳实践。

在 Cloud KMS 中,职责分离要求严格区分以下角色:

  • 密钥管理员:有权管理密钥生命周期(包括创建、删除、轮替和状态更改)的主账号,例如具有 Cloud KMS Admin 角色的用户。
  • 密钥用户:获授权可使用密钥(包括加密、解密、签名或签名验证)的主账号,例如具有 Cloud KMS CryptoKey Encrypter/Decrypter 角色的用户。

如果您使用 Cloud KMS 密钥作为客户管理的加密密钥,我们建议您仅授权服务账号使用该密钥进行加密和解密。如需详细了解 CMEK 集成如何处理资源访问权限,请参阅集成 CMEK 的服务如何处理资源访问权限

如果您想创建安全防护措施来强制执行此建议,可以使用 IAM 拒绝政策从服务账号以外的主账号中移除加密和解密权限。如需详细了解如何安全地使用 IAM 角色,请参阅安全使用 IAM

关键治理

密钥治理是指组织中哪些人负责管理 Cloud KMS 资源的生命周期,以及维护哪些安全措施来控制 Cloud KMS 的使用方式。密钥治理方法从集中式治理委托式治理不等:

  • 集中式治理:由专门的安全团队或平台团队负责管理整个组织中所有加密密钥的生命周期。这种模式通常受到合规要求严格的高度监管企业的青睐。
  • 委托治理:中央安全团队使用安全防护栏来强制执行加密标准,但将密钥生命周期运营的责任委托给其项目中的应用所有者。这些安全措施可以包括使用托管式限制和自定义限制的组织政策,以及 IAM 授权和拒绝政策。这消除了中心运营瓶颈。

密钥存储

密钥存储位置是指在组织内创建 Cloud KMS 资源的位置。密钥存储主要有两种方法:专用项目密钥存储和同项目密钥存储。

  • 专用项目密钥存储:专用密钥项目包含用于多个应用的密钥。通常,每个环境文件夹都有自己的密钥项目。您可以将 Autokey 与专用项目密钥存储搭配使用。

  • 同项目密钥存储:密钥存储在与受保护资源相同的Cloud de Confiance 项目中。有时,这种方法会被描述为“密钥随数据而动”。您可以将 Autokey 与同项目密钥存储搭配使用。

统一治理和存储

下表提供了一些示例,说明如何将这些治理和存储模型结合起来,以满足不同的组织需求:

治理模式 专用项目密钥存储 同项目密钥存储
集中式治理

完全集中式方法

建议的使用场景:有严格的监管要求,必须进行项目边界隔离的组织。

运营影响:设置复杂程度高。需要强大的自动化功能(例如“项目工厂”)来防止开发团队出现运营延迟。

受管的所有权

建议使用:需要集中进行安全监督但希望尽可能提高开发者速度的组织。

运营影响:设置复杂度较低。集中式安全功能通过安全防护措施强制执行政策,同时将密钥与其保护的资源同地放置,以便于管理。

委派的治理

不推荐

引入跨项目 IAM 复杂性会违背将密钥管理委托给应用团队的初衷。

自治 DevOps

建议使用场景:高速、去中心化的组织,具有强大的 DevOps 文化。

运营影响:设置复杂性极低。应用团队对其项目边界内的资源和密钥拥有完全自主权。

同项目密钥存储

在同一项目密钥管理中强制执行职责分离需要严格分离 IAM 角色。例如,您可以使用 IAM 拒绝政策从密钥管理员处移除加密和解密权限。

您可以在项目或文件夹中启用 Autokey 和同项目密钥存储,以允许在受保护资源所在的同一项目中自动创建密钥。如需了解详情,请参阅启用 Autokey 并使用同项目密钥存储

专用项目密钥存储

在专用项目密钥存储模型中,专用密钥项目由中央安全团队管理,该团队在密钥项目中拥有密钥管理权限,但无法访问包含受这些密钥保护的资源的项目。

您可以为文件夹启用 Autokey 和专用项目密钥存储,以允许使用集中式密钥存储模型自动创建密钥。如需了解详情,请参阅使用专用项目密钥存储设置 Autokey

自动化和监控合规性

Cloud de Confiance 提供以下工具来自动执行和监控安全边界:

  • Cloud KMS Autokey:Autokey 同时支持专用项目密钥存储和同项目密钥存储。对于这两种情况,它都会自动向所需的服务代理(而不是向请求密钥的人员)授予密钥使用角色,从而自动实现职责分离。Autokey 旨在支持不需要提升权限即可创建密钥的基础设施即代码流水线。
  • Security Command Center:监控 KMS 角色分离发现结果,以检测任何在单个密钥上同时拥有管理权限和加密权限的主体(包括 Project Owner 或 Google 服务账号)。
  • CMEK 加密指标:使用加密指标信息中心验证组织内是否符合职责分离实践。