如何通过Terraform配置GCP组织策略约束实现存储桶公共访问防护
请注意,本问题属于Terraform相关技术问题。
GCP存储桶公共访问阻止的Terraform实现方案
(a) 项目全局层面通用配置
项目级配置通过GCP组织策略实现,启用后会对当前项目下所有未单独配置的存储桶生效,配置示例如下:
resource "google_project_organization_policy" "public_access_prevention" { project = "替换为你的GCP项目ID" constraint = "constraints/storage.publicAccessPrevention" rule { enforce = "TRUE" } }
说明:将enforce设为TRUE即强制开启整个项目的存储桶公共访问阻止,默认不允许项目下任何存储桶对外开放公共访问权限。
(b) 针对单个存储桶的专属配置
如果只需要对特定存储桶开启公共访问阻止,不需要影响项目下其他存储桶,直接在存储桶资源中添加public_access_prevention参数即可,配置示例如下:
resource "google_storage_bucket" "example_bucket" { name = "替换为你的存储桶名称" location = "替换为存储桶部署区域,例如asia-east1" public_access_prevention = "enforced" # 其余存储桶配置项,例如存储类别、版本控制、生命周期规则等 }
说明:public_access_prevention参数支持三个取值:
enforced:强制开启当前存储桶的公共访问阻止inherited:继承项目/组织级的公共访问阻止配置unspecified:未明确配置,默认不开启公共访问阻止
内容的提问来源于stack exchange,提问作者Wellspring
相关产品推荐
相关产品推荐

