使用Cloud CDN后端存储桶遇授权问题:如何添加服务账号至ACL?
我来帮你搞定这个问题!你之前给AllUsers开全权限的思路不对,Cloud CDN需要的是它专属的服务账号权限,而不是开放给所有人(而且这样做还会带来安全风险)。下面一步步教你正确配置:
1. 找到Cloud CDN对应的服务账号
Cloud CDN访问存储桶用的是项目专属的服务账号,格式固定为:service-<你的项目编号>@gcp-sa-cloudcdn.iam.gserviceaccount.com
你可以通过两种方式获取项目编号:
- 控制台方式:打开Google Cloud控制台,进入「项目设置」页面,就能看到项目编号
- 命令行方式:用gcloud工具执行以下命令(替换
YOUR_PROJECT_ID为你的项目ID):gcloud projects describe YOUR_PROJECT_ID --format="value(projectNumber)"
2. 给存储桶添加ACL权限
拿到服务账号后,去Cloud Storage控制台配置权限:
- 打开目标存储桶的详情页,切换到「权限」标签
- 点击「添加权限」按钮
- 在「新成员」输入框中粘贴刚才获取的Cloud CDN服务账号
- 在「角色」下拉菜单里,选择 Cloud Storage > Storage Object Viewer(CDN只需要读取对象的权限,不需要写入权限,最小权限原则更安全)
- 点击「保存」完成配置
额外提醒
- 立即移除
AllUsers的全权限,这会让你的存储桶内容完全公开,极易被滥用 - 权限生效可能有1-2分钟的延迟,配置完别急着测试,稍等一会儿再验证CDN的访问
- 如果还是报错,检查下CDN的后端配置是否正确关联了这个存储桶,有没有选错项目
内容的提问来源于stack exchange,提问作者Cardiak
相关产品推荐
相关产品推荐

