You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GCP GLB从私有GCS桶提供静态资源?

解决方案

一、保持GCS桶私有,通过Cloud CDN提供静态资源

可以通过为负载均衡的服务账号授权GCS访问权限实现,具体操作:

  • 定位负载均衡后端服务的关联服务账号:全球外部LB默认使用的服务账号格式为service-<你的项目数字编号>@gcp-sa-cloud-lb.iam.gserviceaccount.com,可在GCP控制台的负载均衡后端服务详情页查看。
  • 为该服务账号授予GCS桶的Storage Object Viewer角色(或更细粒度的storage.objects.get权限):
    1. 进入GCS桶的IAM权限配置页面
    2. 添加成员,输入上述服务账号邮箱
    3. 选择角色Cloud Storage > Storage Object Viewer
    4. 保存配置
  • 确保GCS桶启用Bucket Policy Only:该设置会禁用旧的ACL权限系统,避免IAM与ACL的权限冲突,确保仅IAM规则生效。
  • 关联Cloud CDN与负载均衡:用户请求通过LB和CDN访问资源时,LB会使用授权的服务账号读取私有GCS桶内容,用户端无需额外权限,资源URL保持固定。

二、若必须设为公开,配置仅允许Google IP访问GCS桶

可通过IAM条件实现IP范围限制,步骤如下:

  • 获取Google的IP范围:执行命令 dig _cloud-netblocks.googleusercontent.com txt,会返回Google所有的IP前缀列表。
  • 在GCS桶的IAM页面添加权限规则:
    1. 添加成员allUsers
    2. 选择角色Cloud Storage > Storage Object Viewer
    3. 点击“添加条件”,设置规则:
      • 条件类型选“IP地址”
      • 运算符选“属于范围”
      • 输入第一步获取的所有Google IP前缀(多范围用逗号分隔)
    4. 保存配置
  • 注意:Google的IP范围会动态更新,需定期检查并更新IAM条件中的IP列表,避免权限失效。

内容的提问来源于stack exchange,提问作者Nagri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 20:42:46