阻止 gcloud public 存储桶列出所有对象

Ser*_*nko 5 acl google-cloud-storage gcloud

我在谷歌云存储中有一个桶<my-bucket>。它具有公共访问权限,并为我们网站提供所有资产和静态文件。一切正常。但我不喜欢在 url 上https://storage.googleapis.com/<my-bucket>显示包含存储桶中所有对象的文档树。我该如何预防?我尝试将 index.html 文件放入存储桶根目录,但它不起作用。

geo*_*ldc 8

您应该能够为所有用户应用“Cloud Storage Legacy - Storage Legacy Object Reader”角色,而不是“Cloud Storage - Storage Object Viewer”,因为前者不包含列出存储桶中的对象的权限。

https://cloud.google.com/storage/docs/access-control/making-data-public#buckets


Lio*_*oss 5

一种方法是使用旧的“Storage Legacy Object Reader”权限,该权限仅允许“storage.objects.get”: https://cloud.google.com/storage/docs/access-control/iam-roles

就我个人而言,我不喜欢使用旧规则,因此我为此创建了自己的规则:IAM & Admin -> Roles -> + Create role 我只授予它对象获得权限: 在此输入图像描述

然后在存储桶权限中,我将该规则分配给“allUsers”: 在此输入图像描述

此外,如果您使用此方法有多个公共存储桶,您可以稍后在一处更改该规则的权限