如何设置GCP规则:未启用客户管理密钥加密则禁止创建存储桶
在GCP中强制存储桶使用客户管理密钥(CMK)加密的配置方法
完全可以通过GCP的组织政策约束实现这个需求,确保所有新创建的存储桶必须启用客户管理密钥加密,否则创建操作会被直接阻止。具体配置方式如下:
- 准备Cloud KMS资源:先在目标区域创建KMS密钥环和客户管理密钥(CMK),并确保负责创建存储桶的账号拥有该CMK的
cloudkms.cryptoKeyEncrypterDecrypter权限。 - 配置组织政策约束
constraints/storage.bucketEncryption:- 若要求存储桶必须使用任意客户管理密钥(不指定具体密钥),将约束的
allowedValues设置为["userManaged"]即可。此时创建存储桶时必须指定CMK,使用Google管理密钥的请求会被拒绝。 - 若需要强制使用特定CMK,在约束的配置值中填入目标KMS密钥的完整资源ID,格式为
projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEY_RING]/cryptoKeys/[CRYPTO_KEY]。
- 若要求存储桶必须使用任意客户管理密钥(不指定具体密钥),将约束的
- 设定约束生效范围:可以将该政策应用在组织层级、文件夹层级或单个项目层级,根据你的管控粒度需求选择。
注意事项
- 该约束仅对新创建的存储桶生效,已存在的存储桶不受影响。
- 修改组织政策需要账号拥有
orgpolicy.policyAdmin权限。 - 若指定了特定CMK,需确保创建存储桶的账号对该密钥有加密权限,否则创建操作同样会失败。
内容的提问来源于stack exchange,提问作者Karikaaalan
相关产品推荐
相关产品推荐

