GCloud gcsfuse permission denied
有人成功使用gcsfuse吗?
我试图删除存储桶的所有默认权限,
并设置一个服务帐户:
1 | gcloud auth activate-service-account to activate serviceaccname |
然后运行:
1 | gcsfuse --debug_gcs --foreground cloudbuckethere /backup |
gcs: Req 0x0: -> ListObjects() (307.880239ms): googleapi: Error 403: [email protected] does not have storage.objects.list access
奇怪的是,抱怨不是我激活的服务帐户的用户
1 | gcloud auth list |
确实显示我当前的服务帐户处于活动状态...
我还授予了管理员,管理员对象所有者,写入对象,将对象读取到我的
如果我将具有所有权限(包括旧版权限)的存储桶授予
1 | googleapi: Error 403: Insufficient Permission, insufficientPermissions |
有人运气好吗?
我找到了一个解决方案,不确定这是否是一个好的解决方案,但是它可以工作。
设置服务帐户并下载JSON文件。
使用上述服务帐户名称,以存储桶管理员的身份授予存储桶访问权限。
然后运行add into环境变量,指向服务JSON文件的路径。
1 | GOOGLE_APPLICATION_CREDENTIALS=/path-to-json/gcloud.json gcsfuse --debug_gcs --foreground bucketname /path-to-mount |
另请注意,默认情况下,它可能会在tmp目录中使用大量空间。 添加标志:
1 | ... --temp-dir=/someotherpath |
如果您在/ tmp中的空间有限,那将真的有帮助。