ResumableUploadAbortException:403权限不足

sup*_*rdo 15 google-app-engine google-cloud-storage google-compute-engine gsutil

我正在使用Google云端存储和Google Compute Engine,并尝试从我的虚拟机上传到我的存储桶.我的存储桶具有读/写权限,任何有权访问它的人都有.他们被标记为所有者.我可以从我的桶下载很好.当我尝试上传到我的桶时,这是我得到的错误.ResumableUploadAbortException: 403 Insufficient Permission.我不确定为什么会这样?有线索吗?

Dan*_*den 54

更改VM的Cloud API访问范围以允许对存储进行读/写.这位于VM设置的"访问范围"部分.您的VM需要停止才能执行此操作.

https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes

请注意相关帖子上的这条评论,您可能需要~/.gsutil在定义新范围后删除凭据.

  • Upvote删除`〜/ .gsutil`修复 (34认同)
  • 倾斜度:rm -rf〜/ .gsutil (2认同)

Nan*_*mar 12

在 GCE 实例上运行以下设置:无需重启 Compute Engine,

gcloud init
Run Code Online (Sandbox Code Playgroud)

输出将是这样的。

Choose the account you would like to use to perform operations for  this configuration:
 [1] 533893300998-compute@developer.gserviceaccount.com
 [2] Log in with a new account
Please enter your numeric choice: 1
Run Code Online (Sandbox Code Playgroud)

选择数字 1 以使用服务帐户。如果这是一台共享机器并且您使用您的个人帐户登录,则您的凭据可能会被该机器上的任何其他人使用。有关更多详细信息,请阅读此处

如果您已经初始化 gcloud,则您不想重新初始化。

gcloud auth login 
Run Code Online (Sandbox Code Playgroud)

  • 如果您不想重新启动虚拟机,这是一个很好的有效答案。 (3认同)

Tra*_*rla 5

您是否使用虚拟机上的默认服务帐户来访问存储桶?默认情况下只有读取范围。尝试创建具有读/写范围的虚拟机。