无域名使用Google Cloud Bucket部署静态站点出现403权限错误如何解决
GCP Cloud Bucket 搭配负载均衡器访问403权限错误排查方案
一、Bucket IAM权限排查
- 确认Bucket已为
allUsers授予roles/storage.objectViewer角色,仅授予Bucket级别的列表权限不会返回对象内容,可通过以下命令验证配置:gcloud storage buckets get-iam-policy gs://<你的Bucket名称> - 检查Bucket公共访问预防(Public Access Prevention)配置是否为已停用状态,该配置会强制覆盖所有公共权限配置,即使手动为allUsers授权也会被拦截返回403。
- 抽查Bucket内对象的权限配置,确认没有单独的对象级权限覆盖Bucket的公共权限规则。
二、负载均衡配置排查
- 确认负载均衡后端服务绑定的目标Bucket正确,不存在绑定错Bucket的情况。
- 校验URL重定向规则的目标路径,确认
build/index.html文件确实存在于Bucket对应路径下,GCS对象路径大小写敏感,需完全匹配。 - 为负载均衡专用服务账户授予目标Bucket的
roles/storage.objectViewer权限,服务账户格式为service-<你的GCP项目ID>@gcp-sa-lb.iam.gserviceaccount.com,该账户权限缺失是公开Bucket搭配负载均衡时出现403的高频原因。
三、缓存与附加配置排查
- 若开启了负载均衡关联的CDN服务,先清除CDN缓存后再测试,避免之前的错误响应被缓存导致误判。
- 若开启了Bucket的静态网站托管功能,确认主页配置路径与重定向目标路径一致。
相关截图


内容的提问来源于stack exchange,提问作者user3201492
相关产品推荐
相关产品推荐

