Google 云存储桶的扩展授权
Scaling Authorization for Google Cloud Storage Buckets
我想将 Google Cloud Storage 存储桶的访问权限授予数千甚至数百万用户。我最初的计划是通过 IAM 角色使用其 REST api 授予访问权限。然而,在这个 Quotas & limits page 上,它说
There is a limit of 100 members holding legacy IAM roles per bucket and a limit of 1500 members holding all IAM roles per bucket. Examples of members include individual users, groups, and domains. See IAM identities.
这是否意味着我只能向 1500 人提供读取权限?如果是这样,可以通过什么方式为数千或数百万人授予访问权限?
您不能直接将百万人添加到存储桶 IAM 权限。相反,在这种规模下,请考虑创建一个 google 组并将大量人员添加到该组。根据 this doc 工作区组的大小没有限制。
但是,除了直接将用户添加到 IAM 角色之外,您可能还需要考虑其他选项,例如
- 编写您自己的后端来了解您的用户身份,然后 returns signed urls 客户端可以用来进行上传。
- 使用 firebase storage,它与 GCS 紧密集成,但为最终用户提供 authentication/authorization。
这些方法有一些优点:
- 您不必要求您的用户拥有 Google 个帐户
- 您可以更好地控制每个用户可以做什么(例如阻止他们 reading/writing 彼此数据、限制文件大小、添加速率限制甚至只是验证他们发送的数据)
- 您不需要向他们公开您的云基础设施。
- 选项 (1) 可以用可移植的方式编写,这样您就不会陷入 Google.
我想将 Google Cloud Storage 存储桶的访问权限授予数千甚至数百万用户。我最初的计划是通过 IAM 角色使用其 REST api 授予访问权限。然而,在这个 Quotas & limits page 上,它说
There is a limit of 100 members holding legacy IAM roles per bucket and a limit of 1500 members holding all IAM roles per bucket. Examples of members include individual users, groups, and domains. See IAM identities.
这是否意味着我只能向 1500 人提供读取权限?如果是这样,可以通过什么方式为数千或数百万人授予访问权限?
您不能直接将百万人添加到存储桶 IAM 权限。相反,在这种规模下,请考虑创建一个 google 组并将大量人员添加到该组。根据 this doc 工作区组的大小没有限制。
但是,除了直接将用户添加到 IAM 角色之外,您可能还需要考虑其他选项,例如
- 编写您自己的后端来了解您的用户身份,然后 returns signed urls 客户端可以用来进行上传。
- 使用 firebase storage,它与 GCS 紧密集成,但为最终用户提供 authentication/authorization。
这些方法有一些优点:
- 您不必要求您的用户拥有 Google 个帐户
- 您可以更好地控制每个用户可以做什么(例如阻止他们 reading/writing 彼此数据、限制文件大小、添加速率限制甚至只是验证他们发送的数据)
- 您不需要向他们公开您的云基础设施。
- 选项 (1) 可以用可移植的方式编写,这样您就不会陷入 Google.