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

从Google Bucket拉取文件遇ACCESS DENIED EXCEPTION:403如何解决?

解决Google Cloud Storage 403权限拒绝问题的步骤

这个报错说明你的账号tim@gmail.com没有对存储桶dcct_-dcm_account870执行storage.objects.list的权限,咱们一步步排查解决:

1. 先确认当前使用的访问身份是否正确

首先得搞清楚批处理文件是用哪个账号访问GCS的:

  • 如果用的是gcloud CLI,运行gcloud auth list查看当前活跃的账号是不是tim@gmail.com,有没有其他账号的凭证干扰访问?
  • 如果批处理里用的是服务账号密钥文件,那要确认这个密钥对应的服务账号是否有权限,而不是默认用了你的个人邮箱账号。

2. 检查存储桶的IAM权限配置

登录Google Cloud控制台,找到dcct_-dcm_account870这个存储桶,进入「权限」标签页:

  • 搜索tim@gmail.com,看看有没有给这个账号分配包含storage.objects.list权限的角色:
    • 常用的合适角色:Storage Object Viewer(包含list和get对象的权限,适合只读场景)、Storage Admin(全权限,不建议生产环境随意使用),或者自定义精细权限的角色
    • 如果搜索不到这个账号,说明还没添加权限,直接点击「添加权限」,输入邮箱,选择对应的角色保存即可。

3. 检查存储桶的政策限制

有些存储桶可能启用了Bucket Policy Only模式,这种模式下ACL权限会被忽略,所有权限都通过IAM管理:

  • 在存储桶的「权限」页面顶部看看有没有相关提示,如果启用了这个模式,确保IAM的配置是正确的
  • 另外排查组织层面的政策,比如有没有设置限制特定账号访问存储桶的规则。

4. 验证批处理里的命令是否正确

检查批处理文件里的GCS访问命令:

  • 确认存储桶路径拼写正确,比如gs://dcct_-dcm_account870/有没有打错字符?
  • 如果是用服务账号密钥,命令里是不是指定了--key-file参数,且密钥文件的路径正确、文件没损坏?
  • 手动运行批处理里的单条命令,看看是不是同样报错,排除脚本本身的逻辑问题。

5. 刷新或重新获取访问凭证

如果是用gcloud CLI的个人账号凭证:

  • 运行gcloud auth refresh刷新凭证,或者重新登录gcloud auth login tim@gmail.com
    如果是用服务账号密钥:
  • 检查密钥是否过期或被删除,必要的话在Cloud控制台重新生成一个新的密钥文件,替换批处理里的路径。

补充说明:storage.objects.list权限是用来列出存储桶内对象的,哪怕你只是拉取单个文件,有些命令(比如gsutil cp gs://bucket/* ./)也会先执行list操作,所以必须要有这个权限才能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:43:51