Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 被授予存储权限的我的服务帐户没有对Google云存储桶的storage.objects.list访问权限_Google Cloud Platform_Google Cloud Storage - Fatal编程技术网

Google cloud platform 被授予存储权限的我的服务帐户没有对Google云存储桶的storage.objects.list访问权限

Google cloud platform 被授予存储权限的我的服务帐户没有对Google云存储桶的storage.objects.list访问权限,google-cloud-platform,google-cloud-storage,Google Cloud Platform,Google Cloud Storage,我正在谷歌云上的虚拟机中使用Ubuntu。 我有一个.sh脚本,它将文件备份到一个bucket。当我尝试运行脚本时,它会抛出一个错误: AccessDeniedException: 403 blank@blank.iam.gserviceaccount.com does not have storage.objects.list access to the Google Cloud Storage bucket. 我为服务帐户授予了存储的管理员权限。账户被激活,一切正常。如何修复此问题?因为您

我正在谷歌云上的虚拟机中使用Ubuntu。 我有一个.sh脚本,它将文件备份到一个bucket。当我尝试运行脚本时,它会抛出一个错误:

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存储桶

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

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

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

关闭实例后,您可以将存储的访问范围设置为Full,我认为这将对您起作用,因为您已将存储管理员角色分配给服务帐户。

将服务帐户作为“存储旧存储桶所有者”添加到存储桶中。存储>选择存储桶>权限选项卡>将SA添加为存储旧存储桶所有者,然后给出try@Mahboob,我刚做了,同样的错误仍然存在。根据,为什么用户不能在授予权限后不久访问资源,或者在删除权限后继续访问资源?通常,授予或撤销成员的访问权限所需的时间不到60秒。但是,在某些情况下,这些更改可能需要7分钟才能在整个系统中完全传播。请在谷歌云控制台中检查分配给计算引擎实例的
云API访问范围
。@JohnHanley是对的,我认为您需要在Ubuntu VM上将存储API设置为Full。通常Ubuntu VM对bucket具有只读访问权限。