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 密钥的所有现有资源将继续存在,并且可以正常访问。
控制台
打开组织政策页面。
在过滤条件字段中,输入
constraints/gcp.restrictNonCmekServices
,然后点击限制哪些服务可以在没有 CMEK 的情况下创建资源。点击
管理政策。在修改政策页面,选择覆盖父资源的政策。
选择添加规则。
在政策值下方,选择自定义。
在政策类型下,选择拒绝。
在自定义值字段中,输入
is:file.googleapis.com
。点击完成,然后点击设置政策。
gcloud
创建临时文件
/tmp/policy.yaml
以存储政策:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:file.googleapis.com
将 PROJECT_ID 替换为您要使用的项目的项目 ID。
运行
org-policies set-policy
命令:gcloud org-policies set-policy /tmp/policy.yaml
如需验证政策是否已成功应用,您可以尝试在项目中创建实例或备份。除非您指定一个 Cloud KMS 密钥。
限制 Filestore 项目的 Cloud KMS 密钥
您可以使用 constraints/gcp.restrictCmekCryptoKeyProjects
限制条件来限制可用于保护 Filestore 项目中的资源的 Cloud KMS 密钥。
您可以指定规则,例如“对于 projects/my-company-data-project 中的所有 Filestore 资源,此项目中使用的 Cloud KMS 密钥必须来自 projects/my-company-central-keys 或 projects/team-specific-keys”。
控制台
打开组织政策页面。
在过滤条件字段中,输入
constraints/gcp.restrictCmekCryptoKeyProjects
,然后点击限制哪些项目可以为 CMEK 提供 KMS CryptoKey。点击
管理政策。在修改政策页面,选择覆盖父资源的政策。
选择添加规则。
在政策值下方,选择自定义。
在政策类型下,选择拒绝。
在自定义值字段中,输入以下内容:
under:projects/KMS_PROJECT_ID
将 KMS_PROJECT_ID 替换为您要使用的 Cloud KMS 密钥所在的项目 ID。
例如
under:projects/my-kms-project
。点击完成,然后点击设置政策。
gcloud
创建临时文件
/tmp/policy.yaml
以存储政策:name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
其中:
- PROJECT_ID 是您要检查的项目的 ID 。
- KMS_PROJECT_ID 是 Cloud KMS 所在的项目 ID 密钥的位置。
运行 org-policies set-policy 命令:
gcloud org-policies set-policy /tmp/policy.yaml
如需验证政策是否已成功应用,您可以尝试创建一个 实例或备份。该过程将失败。
限制
设置组织政策时,存在以下限制。
CMEK 可用性
请注意,基本 HDD 和基本 SSD 服务层级不支持 CMEK。鉴于这些限制的定义方式,如果您将 组织政策要求使用 CMEK,然后尝试创建 基本层级实例或备份,用于创建操作 失败。
现有资源
现有资源不受新创建的组织政策约束。例如,如果您创建的组织政策要求您指定
CMEK 的每次 create
操作时,此政策不会追溯应用于
现有实例和备份链即使没有 CMEK,您仍然可以访问这些资源。如果您想将该政策应用于现有资源(无论是实例还是备份链),则必须替换这些资源。
设置组织政策所需的权限
出于测试目的,可能难以获取设置或更新组织政策的权限。必须具有 Organization Policy Administrator 角色,该角色只能在组织级层授予。
虽然该角色必须在组织级层授予,但仍然可以指定仅应用于特定项目或文件夹的政策。
Cloud KMS 密钥轮替的影响
Filestore 不会自动轮替资源的加密密钥 在轮替与 Cloud KMS 密钥关联的 Cloud KMS 密钥时触发。
现有实例和备份中的所有数据将继续受到 创建密钥时使用的密钥版本。
任何新创建的实例或备份在创建时都使用指定的主键版本。
轮替密钥时,使用先前密钥版本加密的数据不会 系统会自动重新加密如需使用最新的密钥版本加密数据,您必须解密资源中的旧密钥版本,然后使用新密钥版本重新加密同一资源。此外,轮替密钥不会自动停用或销毁任何现有密钥版本。
有关如何执行上述各项任务的详细说明,请参阅 以下指南:
Filestore 对 Cloud KMS 密钥的访问权限
Cloud KMS 密钥会被视为可供 Filestore:
- 密钥已启用
- Filestore 服务账号拥有该密钥的加密和解密权限
后续步骤
- 了解如何加密 Filestore 实例或备份。
- 了解 CMEK。
- 了解 Google Cloud 中的传输加密。
- 了解组织政策。
- 了解 CMEK 组织政策。