Google cloud storage Google VM没有足够的权限在装载的bucket上写入

Google cloud storage Google VM没有足够的权限在装载的bucket上写入,google-cloud-storage,google-compute-engine,gcsfuse,Google Cloud Storage,Google Compute Engine,Gcsfuse,我正在运行一个Google Compute实例,它必须能够连接到本地装载的bucket进行读写 目前,当ssh插入机器时,我有权读取目录中的所有文件,但不能写入它们 以下是更多细节: gcloud init account: PROJECT_NUMBER-compute@developer.gserviceaccount.com 在google平台上查看IAM时,此IAM具有专有角色,因此它应该能够访问项目中的所有资源 gcsfuse -o allow_other --file-mode 77

我正在运行一个Google Compute实例,它必须能够连接到本地装载的bucket进行读写

目前,当ssh插入机器时,我有权读取目录中的所有文件,但不能写入它们

以下是更多细节:

gcloud init
account: PROJECT_NUMBER-compute@developer.gserviceaccount.com
在google平台上查看IAM时,此IAM具有专有角色,因此它应该能够访问项目中的所有资源

gcsfuse -o allow_other --file-mode 777 --dir-mode 777 --o nonempty BUCKET LOCAL_DIR
现在看看权限,所有文件都有(如预期的那样)

但是,当运行一个非常简单的python代码将pickle保存到其中一个目录中时,我得到以下错误

OSError: [Errno 5] Input/output error: FILENAME
如果我使用--foreground标志运行gcsuse,它产生的错误是

fuse: 2018/07/02 12:31:05.353525 *fuseops.GetXattrOp error: function not implemented
fuse: 2018/07/02 12:31:05.362076 *fuseops.SetInodeAttributesOp error: SetMtime: \
UpdateObject: googleapi: Error 403: Insufficient Permission, insufficientPermissions
这很奇怪,因为虚拟机上的帐户具有专有角色


有没有关于如何克服这一问题的猜测?

您的实例需要适当的作用域来访问GCS存储桶。您可以通过控制台或使用gcloud compute instances description[instance_name]| grep scopes-A 10查看范围


您必须具有存储器读/写或

我不是原始用户,但我看到类似的错误。但在为我的实例列出的范围中显示。关于我应该调查的其他内容,有什么建议吗?上述范围提供了对GCS API的访问,您还必须确保实例服务帐户对装载的bucket具有读/写权限(检查ACL)
fuse: 2018/07/02 12:31:05.353525 *fuseops.GetXattrOp error: function not implemented
fuse: 2018/07/02 12:31:05.362076 *fuseops.SetInodeAttributesOp error: SetMtime: \
UpdateObject: googleapi: Error 403: Insufficient Permission, insufficientPermissions