首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google VM没有足够的权限写入已挂载的存储桶

Google VM没有足够的权限写入已挂载的存储桶
EN

Stack Overflow用户
提问于 2018-07-02 20:33:01
回答 1查看 1K关注 0票数 0

我正在运行一个Google Compute实例,它必须能够连接到本地挂载的存储桶中进行读取和写入。

此时,当ssh-ed进入机器时,我有权读取目录中的所有文件,但不能写入它们。

这里有更多的细节:

代码语言:javascript
复制
gcloud init
account: PROJECT_NUMBER-compute@developer.gserviceaccount.com

在google平台上查看IAM时,此IAM具有专有角色,因此它应该能够访问项目中的所有资源。

代码语言:javascript
复制
gcsfuse -o allow_other --file-mode 777 --dir-mode 777 --o nonempty BUCKET LOCAL_DIR

现在看一下权限,所有文件都具有(如预期的)

代码语言:javascript
复制
ls -lh LOCAL_DIR/
drwxrwxrwx 1 ubuntu ubuntu 0 Jul  2 11:51 folder

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

代码语言:javascript
复制
OSError: [Errno 5] Input/output error: FILENAME

如果我使用--foreground标志运行gcsuse,它产生的错误是

代码语言:javascript
复制
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

这很奇怪,因为VM上的帐户具有专有角色。

有没有想过如何克服这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-07-28 01:21:57

您的实例需要适当的作用域才能访问GCS存储桶。您可以通过控制台或使用gcloud计算实例describe instance_name | grep scopes 10查看作用域

您必须具有存储读/写或https://www.googleapis.com/auth/devstorage.read_write

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51136336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档