GCS 存储桶权限“所有用户”和“所有经过身份验证的用户”以及组意味着什么?

Ris*_*hit 5 google-app-engine google-cloud-storage

我已经为我的 Google 云项目创建了一个存储桶,该存储桶具有“所有用户”、“所有经过身份验证的用户”和 3 个预定义组的默认权限。这一切意味着什么?

我想向所有人(公共)授予对存储桶内对象的读取权限,并仅向我的应用程序和应用程序编辑器授予存储桶写入权限。我怎么做?

Ash*_*ish 4

3 个预定义组如下:

  1. 项目业主

  2. 项目编辑

  3. 所有项目团队成员

另外两个组是:

  1. 所有用户- 这授予公共访问权限

  2. 所有经过身份验证的用户- 这意味着所有使用 Google 帐户登录的用户。

有关更多详细信息,请参阅: https ://developers.google.com/storage/docs/accesscontrol#defaultbuckets

当您想要完全控制项目时,您需要从应用程序传递项目所有者组和客户端 API 中的密钥。

要向公众授予读取权限,您可以针对存储桶中的“所有用户”选择“读取”。如果在创建对象时未指定,则对象应采用存储桶的默认权限。

  • 我已将“**存储对象查看器**”角色分配给我的对象的“allAuthenticatedUsers”。但是,当我使用对象的“**公共 URL**”从同一浏览器查看对象时,我收到“访问被拒绝”错误 - “匿名调用者没有 storage.objects.get 访问 Google 云存储的权限目的。” 但是,当我将该角色更改为“allUsers”时,它就可以工作了。我确信我是从同一个浏览器登录到我的谷歌帐户的。为什么当我将“**存储对象查看器**”角色设置为“allAuthenticatedUsers”时它不起作用,但当我将角色设置为“allUsers”时它起作用。 (3认同)