对于有权访问它的用户,Google云端存储无法在浏览器中显示存储桶

时间:2017-12-19 17:12:34

标签: google-cloud-storage

在我们的项目中,我们有一群人应该可以完全访问只有一个桶,他们不应该看到其他存储桶或其他存储桶上的对象。 因此,我更改了存储桶的权限,并将用户添加为该特定存储桶的存储管理(不是整个项目)。

在这种情况下,当他们使用console / Storage时,他们会看到以下消息: enter image description here

但是当他们打开云Shell并使用 Gsutil 时,他们可以访问存储桶对象(无法访问其他存储桶)。

这是控制台/存储界面的错误吗?

1 个答案:

答案 0 :(得分:0)

这不是错误,但 是控制台的一个微妙之处。为了从控制台访问存储桶,您通常使用浏览器导航到它,这是您在屏幕截图中尝试的内容。但是,这样做会失败,因为要做到这一点,你需要为项目提供 permission to list buckets ,即使你有其他人可以自由地统治工作。

有三种方法可以解决这个问题:

1)为您的用户提供包含存储桶的项目的 Viewer 权限。这有利有弊。我会说这可能不值得走这条路线(虽然没那么多因为你的用户会看到其他的桶 - bucket namespace is publicly viewable但是因为这样做会带来一些additional permission nuances你可能不想处理)。

2)直接链接到所需的存储桶,从而避免控制台的“列表存​​储桶”部分。存储桶的URL格式为:console.cloud.google.com/storage/browser/ [BUCKET_NAME]。我相信这样做无需对您的权限进行任何其他修改。

3)创建仅包含storage.buckets.list权限的custom role,并在项目中为受影响的用户使用该角色。