为Google Cloud Storage REST APIs授予目录级别权限

3
我的目标是能够使用OAuth令牌调用Google存储REST API,并授予已认证的Google用户对储存桶中名为“directoryName”的目录的读/写权限。 到目前为止,我已经成功地在将用户添加到Bucket的ACL后使用Storage API。然而,我不想授予用户完整Bucket的读取或写入权限,而仅限于用户在Bucket内的目录中,例如Bucket/directoryName。 例如,我想要调用storage.objects.list获取Bucket内目录的内容,而无需为用户提供Bucket的权限,而只提供该目录(和子目录)的权限。 迄今为止我尝试了:当我尝试在将用户添加到目录的ACL(作为所有者)后调用GET方法https://www.googleapis.com//storage/v1/b/bucket/o?fields=kind%2Citems%28name%29&maxResults=150&prefix=directoryName时,我得到错误响应:“code”:403,“message”:“myEmail@gmail.com无法访问myBucketName.appspot.com的storage.objects.list”。 是否有可能在Google Cloud Storage中提供目录级别的权限,并仅列出该目录的内容?
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
3
文档所述,Cloud Storage中不存在目录。 在Storage看来,只有存储桶以及其中的对象/文件,它们可能有也可能没有名称中的“ / ”。 由于这种设计选择,Cloud Storage中没有为“目录”设置权限的选项。 请注意,您可以免费创建任意数量的存储桶。 您可以根据要求为每个用户创建一个存储桶。

谢谢你的回答。我明白了,桶中没有目录,我是指以“/”结尾的对象作为目录。我可以向用户添加桶级别的权限,但是根据 https://cloud.google.com/storage/quotas ,我每2秒只能创建1个存储桶。这严重限制了我的应用程序,因为我预计每2秒将添加多于1个用户。你知道有什么解决方法吗? - Abhi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,