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

Google Cloud VM执行gsutil cp时报403 OAuth2权限范围不足错误求助

解决gsutil cp时的AccessDeniedException 403权限问题

这个错误我之前处理过好几次,本质就是你的Google Cloud虚拟机实例关联的服务账号没有获得足够的OAuth2权限范围(scope)来操作Cloud Storage存储桶。错误提示里已经明确指出需要https://www.googleapis.com/auth/cloud-platform这个权限,咱们可以通过以下几种方式解决:

方案一:修改虚拟机实例的Cloud API权限范围

这是最直接的方法,不过需要先停止实例(如果业务允许的话):

  • 登录Google Cloud控制台,找到你的虚拟机实例
  • 点击实例名称进入详情页,点击顶部的停止按钮(确保实例没有正在运行的重要任务)
  • 实例停止后,点击编辑按钮,滚动到“Cloud API access scopes”部分
  • 选择Allow full access to all Cloud APIs(最简单直接,适合测试或非生产环境),或者手动勾选Storage下的Full权限,也可以直接选择Cloud Platform这个scope
  • 保存修改后重新启动实例,再执行gsutil cp -r directoryname gs://my-bucket命令试试

方案二:手动为gsutil配置认证凭据

如果不想停止虚拟机实例,可以直接在实例内部手动进行身份认证:

  • 在实例的终端里执行命令:gcloud auth login
  • 按照提示会生成一个授权链接,复制链接到本地浏览器打开,用拥有存储桶读写权限的Google账号登录
  • 登录成功后会得到一个授权码,把授权码复制回终端里粘贴
  • 完成认证后,gsutil会使用你刚才登录的账号权限来执行操作,只要这个账号有目标存储桶的权限(比如Storage Object Creator或Storage Admin角色),就能正常复制文件了

方案三:检查服务账号的IAM角色权限

有时候即使权限范围(scope)设置正确,服务账号本身没有对应的IAM角色也会报错:

  • 进入Google Cloud控制台的IAM页面,找到虚拟机实例关联的服务账号(默认是[项目编号]-compute@developer.gserviceaccount.com)
  • 点击该服务账号的编辑按钮,添加Storage Object Creator(仅上传文件)或Storage Admin(全权限管理存储)角色
  • 保存后等待几分钟让权限生效,再重新执行gsutil命令

以上三种方案任选一种都能解决这个403权限问题,根据你的实际场景选择就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:05:11