gcloud gcsfuse权限被拒绝

时间:2018-04-30 18:41:21

标签: google-cloud-storage fuse gcsfuse

是否有人成功使用gcsfuse? 香港专业教育学院试图删除桶的所有默认权限, 并设置服务帐户:

 gcloud auth activate-service-account to activate serviceaccname

然后运行:

gcsfuse --debug_gcs --foreground cloudbuckethere /backup

gcs: Req              0x0: -> ListObjects() (307.880239ms): googleapi: Error 403: xxxxxx-compute@developer.gserviceaccount.com does not have storage.objects.list access

奇怪的是,它抱怨用户xxxxx-compute不是我激活的服务帐号

gcloud auth list 确实显示我当前的服务帐户处于活动状态...

我还将管理员所有者,管理对象所有者,写入对象,读取对象授予了我的serviceaccname

如果我使用所有权限(包括旧版权限)向我的存储桶授予xxxxx-compute,则列表似乎有效。但是使用

将任何文件写入目录失败
googleapi: Error 403: Insufficient Permission, insufficientPermissions

任何人都有运气吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,不确定这是否是一个好的解决方案,但它确实有效。

设置服务帐户并下载json文件。 使用上述服务帐户名称授予对存储桶的访问权限。

然后运行添加到环境变量中,指向服务json文件的路径。

GOOGLE_APPLICATION_CREDENTIALS=/path-to-json/gcloud.json gcsfuse --debug_gcs --foreground bucketname /path-to-mount

另请注意,默认情况下它可能会在tmp目录中占用大量空间。添加标志

... --temp-dir=/someotherpath
如果你在/ tmp

中的空间有限,

会非常有用