我的服务帐户被授予存储权限,没有storage.objects.list访问Google Cloud storage桶.



我在谷歌云上的虚拟机上使用Ubuntu。我有一个.sh脚本,它将文件备份到存储桶中。当我试图运行这个脚本时,它给了我一个错误:

AccessDeniedException: 403 blank@blank.iam.gserviceaccount.com does not have storage.objects.list access to the Google Cloud Storage bucket.

我给了服务帐户admin存储权限。账户已经激活了。我该如何解决这个问题?

因为你是从Ubuntu VM执行脚本,而Ubuntu VM通常有只读访问范围。这可能是阻止上传备份文件到GCS桶。

要更改实例的服务帐户和访问范围,必须暂时停止实例。要停止实例,请阅读停止实例的文档。更改服务帐户或访问范围后,请记住重新启动实例。使用以下方法之一来更改已停止实例的服务帐户或访问范围。

也可以使用gcloud命令更改访问范围。

gcloud compute instances set-service-account [INSTANCE_NAME] 
[--service-account [SERVICE_ACCOUNT_EMAIL] | --no-service-account] 
[--no-scopes | --scopes [SCOPES,...]]

一旦您的实例关闭,您可以将存储的访问范围设置为完整,我认为它将为您工作,因为您已将存储管理角色分配给服务帐户。

相关内容

最新更新