微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我被授予存储权限的服务帐户没有对 Google Cloud Storage 存储分区的 storage.objects.list 访问权限

如何解决我被授予存储权限的服务帐户没有对 Google Cloud Storage 存储分区的 storage.objects.list 访问权限

我在 Google 云上的虚拟机中使用 Ubuntu。 我有一个文件备份到存储桶的 .sh 脚本。当我尝试运行脚本时,它会抛出一个错误

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

我授予了服务帐户管理员存储权限。帐户已激活,一切正常。我该如何解决这个问题?

解决方法

由于您是从 Ubuntu VM 执行脚本,因此 Ubuntu VM 通常具有只读访问权限。这可能会阻止将备份文件上传到 GCS 存储桶。

要更改实例的服务帐户和 access scopes,必须暂时停止实例。要停止您的实例,请阅读 Stopping an instance 的文档。更改服务帐号或访问范围后,请记得重启实例。使用以下方法之一更改已停止实例的服务帐户或访问范围。

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

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

一旦您的实例关闭,您就可以将 Storage 的访问范围设置为 Full,我认为这对您有用,因为您已将 Storage Admin 角色分配给服务帐户。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。