如何默认将Cloud Run/Build制品桶设为统一访问策略而非细粒度?
解决方案:强制Cloud Run Jobs/Cloud Build自动创建的制品桶使用统一访问策略
核心结论
目前GCP没有直接的组织/文件夹级开关让这类自动生成的制品桶默认启用统一访问策略,但可以通过组织级约束从源头强制,再配合自动化手段覆盖存量,完全替代手动更新或屏蔽告警的方案。
1. 组织级约束强制新桶启用统一访问策略
使用GCP组织策略(Org Policy)的storage.uniformBucketLevelAccess约束,将其设置为强制启用(Enforced):
- 该约束会要求所有新创建的存储桶必须启用统一访问策略,包括Cloud Run Jobs、Cloud Build自动生成的
us.artifacts.<PROJECT_ID>.appspot.com这类制品桶。 - 若需给特定项目例外(不建议),可在项目层级将该约束设置为不强制(Not Enforced)。
2. 批量修正存量细粒度策略桶
对于约束生效前已创建的桶,可通过以下方式批量启用统一访问策略:
- GCP CLI命令:
gsutil uniformbucketlevelaccess set on gs://us.artifacts.<PROJECT_ID>.appspot.com - 自动化批量处理:结合Cloud Audit Logs监听存储桶创建事件,用Cloud Function自动触发启用UBLA的操作,确保所有新创建的桶(包括约束覆盖不到的边缘情况)都被修正。
3. 合规处理SCC告警
不要直接屏蔽SCC告警,建议:
- 自定义SCC规则,排除已启用UBLA的制品桶;
- 针对
artifacts.*.appspot.com格式的桶设置专属检查逻辑,仅对未启用统一访问策略的桶触发告警。
内容的提问来源于stack exchange,提问作者Pepsi133
相关产品推荐
相关产品推荐

