我创建了一个包含可公开访问的文件的存储桶。我想确保查看者可以直接访问单个对象,但我不希望他们能够列出存储桶或单个文件夹的内容。
我创建了一个名为 allUsers
的用户
我查看了 Storage Object Viewer
角色,它被定义为“对 GCS 对象的读取权限”。在做了更多研究之后,这个角色确实允许列出存储桶中的对象:“授予查看对象及其元数据的访问权限,不包括 ACL。还可以列出存储桶中的对象。” - https://cloud.google.com/iam/docs/understanding-roles#storage-roles
我看到另一个名为 Storage Legacy Object Reader
的角色,它被描述为“无需列出对象的读取权限”。 - 正是我需要的。但它是遗留问题,鉴于谷歌出人意料的公告记录,我预计它会在很短的时间内被弃用。
如何以非传统方式获得与 Storage Legacy Object Reader
相同的权限?
谢谢
最佳答案
Note: roles/storage.objectViewer includes permission to list the objects in the bucket. If you don't want to grant listing publicly, use roles/storage.legacyObjectReader.
角色 Storage Legacy Object Reader
仅包含权限 storage.objects.get
,因此您至少可以考虑 2 个选项:
使用这个遗留角色,它不打算被弃用,并且继续被官方文档推荐,特别是制作一个 link with ACL .
创建 custom role有了这个独特的许可。
关于google-cloud-platform - Google Storage Bucket 允许查看对象但不能列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59098444/