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

如何将Backend Bucket连接至私有Cloud Storage Bucket并屏蔽storage.googleapis.com?

解决方案:将Backend Bucket连接到私有Cloud Storage Bucket并隐藏原生API

一、核心实现步骤(替代CDN Private Origins方案)

你可以直接通过Cloud Load Balancer(LB)的原生Backend Bucket功能对接私有Cloud Storage Bucket,完全绕过storage.googleapis.com的直接暴露:

  • 将目标Cloud Storage Bucket设置为私有:移除所有公开访问权限(包括allUsers或allAuthenticatedUsers的权限),确保只有授权实体能访问。
  • 创建Backend Bucket时关联私有存储桶:在GCP控制台或通过gcloud命令创建Backend Bucket时,选择你的私有存储桶,并启用Cloud Storage website configuration选项(若需要使用存储桶的网站特性)。
  • 授权LB服务账号访问存储桶:给LB的专属服务账号service-<你的项目编号>@gcp-sa-cloudloadbalancing.iam.gserviceaccount.com授予roles/storage.objectViewer角色,让LB有权限读取私有桶内的对象。

二、解决响应定制问题

针对你之前遇到的两个痛点,这个方案可以直接解决:

  • 存储桶网站配置生效:只要在Backend Bucket中启用了网站配置关联,存储桶设置的默认首页(如index.html)、自定义404页面等都会直接通过LB生效,无需CNAME重定向。
  • 避免暴露存储桶名称:当请求路径指向不存在的对象时,LB会返回你配置的自定义404页面,而非storage.googleapis.com原生的错误响应(该响应会包含桶名)。确保你已在存储桶的网站设置中指定了自定义404页面即可。

三、定价攻击风险澄清

你的顾虑是合理的,但只要严格按照上述方案配置,就能彻底规避:

  • 所有请求都通过你的LB路由,不会暴露storage.googleapis.com的直接访问路径,第三方无法直接调用原生API消耗你的存储带宽费用。
  • 你可以通过LB的速率限制、WAF规则、配额设置进一步控制请求量,防止恶意请求带来的超额费用。
  • 只要存储桶保持私有状态,且仅授权LB服务账号访问,就不会出现未授权的直接访问消耗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:02:38