google-cloud-platform - Google Storage Bucket 允许查看对象但不能列出

标签 google-cloud-platform permissions google-cloud-storage roles deprecated

我创建了一个包含可公开访问的文件的存储桶。我想确保查看者可以直接访问单个对象,但我不希望他们能够列出存储桶或单个文件夹的内容。

我创建了一个名为 allUsers 的用户

我查看了 Storage Object Viewer 角色,它被定义为“对 GCS 对象的读取权限”。在做了更多研究之后,这个角色确实允许列出存储桶中的对象:“授予查看对象及其元数据的访问权限,不包括 ACL。还可以列出存储桶中的对象。” - https://cloud.google.com/iam/docs/understanding-roles#storage-roles

我看到另一个名为 Storage Legacy Object Reader 的角色,它被描述为“无需列出对象的读取权限”。 - 正是我需要的。但它是遗留问题,鉴于谷歌出人意料的公告记录,我预计它会在很短的时间内被弃用。

如何以非传统方式获得与 Storage Legacy Object Reader 相同的权限?

谢谢

最佳答案

作为official doc mentionned :

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/

相关文章:

docker - Google Cloud Build for Python 应用程序触发的 docker 构建无法从私有(private) artefact 注册表中提取 pip 要求

c - execvp 在 c 中返回权限被拒绝的错误

"Stop Inheriting Permissions"功能的 SharePoint 2013 事件接收器

google-cloud-storage - 使用 gsutil 删除文件扩展名

google-app-engine - GAE 存储定价与 Google Cloud Storage 定价之间的差异

eclipse - 无法将 Google Cloud 应用程序代码编译为 java 1.7 - 版本始终为 1.8

python - 如何创建有条件的组织政策约束? - GCP

google-cloud-platform - 谷歌云平台: How do I rename a Google Cloud Platform project?

python - 通过 bash 启动 python 脚本时权限被拒绝

kubernetes - 我正在尝试使用 gcs 存储桶作为 gke pod 中的卷