应用 CMEK 组织政策

Google Cloud 提供了两种组织政策限制条件,以帮助确保在整个组织中使用 CMEK:

  • constraints/gcp.restrictNonCmekServices 用于要求 CMEK 保护。
  • constraints/gcp.restrictCmekCryptoKeyProjects 用于限制哪些 Filestore 密钥用于 CMEK 保护。

CMEK 组织政策仅适用于受支持的 Google Cloud 服务中新创建的资源。

如需详细了解其工作原理,请参阅 Google Cloud 资源层次结构CMEK 组织政策

使用组织政策控制 CMEK 使用情况

Filestore 集成了 CMEK 组织政策限制条件,可让您为组织中的 Filestore 资源指定加密合规性要求。

借助此集成,您可以执行以下操作:

以下部分将介绍这两种任务。

所有 Filestore 资源都需要 CMEK

常见政策是要求使用 CMEK 保护组织中的所有资源。您可以使用 constraints/gcp.restrictNonCmekServices 限制条件在 Filestore 中强制执行此政策。

如果设置,此组织政策会导致没有指定 Cloud KMS 密钥的所有资源创建请求失败。

设置此政策后,它仅适用于项目中的新资源。未设置 Cloud KMS 密钥的所有现有资源将继续存在,并且可以正常访问。

控制台

  1. 打开组织政策页面。

    转到组织政策

  2. 过滤条件字段中,输入 constraints/gcp.restrictNonCmekServices,然后点击限制哪些服务可以在没有 CMEK 的情况下创建资源

  3. 点击 管理政策

  4. 依次选择自定义替换,然后点击添加规则

  5. 选择自定义,然后点击拒绝

  6. 自定义值字段中,输入 is:file.googleapis.com

  7. 点击完成,然后点击设置政策

gcloud

  gcloud resource-manager org-policies --project=PROJECT_ID \
    deny gcp.restrictNonCmekServices is:file.googleapis.com

如需验证政策是否已成功应用,您可以尝试在项目中创建实例或备份。除非您指定 Cloud KMS 密钥,否则过程将失败。

限制 Filestore 项目的 Cloud KMS 密钥

您可以使用 constraints/gcp.restrictCmekCryptoKeyProjects 限制条件来限制可用于保护 Filestore 项目中的资源的 Cloud KMS 密钥。

您可以指定规则,例如“对于 projects/my-company-data-project 中的所有 Filestore 资源,此项目中使用的 Cloud KMS 密钥必须来自 projects/my-company-central-keys OR projects/team-specific-keys”。

控制台

  1. 打开组织政策页面。

    转到组织政策

  2. 过滤条件字段中,输入 constraints/gcp.restrictCmekCryptoKeyProjects,然后点击限制哪些项目可以为 CMEK 提供 KMS CryptoKey

  3. 点击 管理政策

  4. 依次选择自定义替换,然后点击添加规则

  5. 选择自定义,然后点击允许

  6. 自定义值字段中,输入以下内容:

    under:projects/KMS_PROJECT_ID
    

    替换以下内容:

    • KMS_PROJECT_ID 替换为您要使用的 Cloud KMS 密钥所在的项目 ID。例如 under:projects/my-kms-project
  7. 点击完成,然后点击设置政策

gcloud

  gcloud resource-manager org-policies --project=PROJECT_ID \
    allow gcp.restrictCmekCryptoKeyProjects under:projects/KMS_PROJECT_ID

替换以下内容:

  • KMS_PROJECT_ID 替换为您要使用的 Cloud KMS 密钥所在的项目 ID。例如 under:projects/my-kms-project

如需验证政策是否已成功应用,您可以尝试使用其他项目中的 Cloud KMS 密钥创建实例或备份。此过程将失败。

限制

设置组织政策时,存在以下限制。

CMEK 可用性

在此提醒,基本 HDD 和基本 SSD 服务层级不提供 CMEK 支持。鉴于这些限制条件的定义方式,如果您应用需要使用 CMEK 的组织政策,然后尝试在关联的项目中创建基本层级实例或备份,则创建操作将失败。

现有资源

现有资源不受新创建的组织政策的约束。例如,如果您创建的组织政策要求您为每个 create 操作指定 CMEK,则该政策不会追溯应用于现有实例和备份链。这些资源仍然可以在没有 CMEK 的情况下访问。如果要将政策应用于现有资源(无论是实例还是备份链),必须替换这些资源。

设置组织政策所需的权限

出于测试目的,可能难以获取设置或更新组织政策的权限。您必须具有 Organization Policy Administrator 角色,该角色只能在组织级别授予。

虽然该角色必须在组织级层授予,但仍然可以指定仅应用于特定项目或文件夹的政策。

Cloud KMS 密钥轮替的影响

与某资源关联的 Cloud KMS 密钥轮替时,Filestore 不会自动轮替资源的加密密钥。

  • 现有实例和备份中的所有数据都继续受到创建它们时使用的密钥版本的保护。

  • 任何新创建的实例或备份都将使用其创建时指定的主密钥版本。

轮替密钥时,使用先前的密钥版本加密的数据不会自动重新加密。如需使用最新的密钥版本加密数据,您必须从资源中解密旧密钥版本,然后使用新密钥版本重新加密同一资源。此外,轮替密钥不会自动停用或销毁任何现有密钥版本。

如需详细了解如何执行上述每项任务,请参阅以下指南:

Filestore 对 Cloud KMS 密钥的访问权限

在以下情况下,Cloud KMS 密钥会被视为可供 Filestore 访问:

  • 密钥已启用
  • Filestore 服务帐号拥有该密钥的加密和解密权限

后续步骤