GCS 存储桶应仅可由特定人员访问

问题描述

我在我的 GCP 项目中创建了一个 GCS 存储桶,我将在其中保存一些 html 文件用户将使用对象 URL 从浏览器访问该 html 文件

我希望只有属于我组织的特定人员才能访问该 html url。即使外部人员访问了该 URL,他们也不应该访问数据。

有什么方法可以做到这一点?

解决方法

在 (1) 中,您可以找到两种可用的方法来控制对 Google Cloud Storage 存储分区内对象的访问:

-统一:您将为不同的用户提供访问权限,具体取决于您授予他们的 IAM 角色 (2)。同一个bucket内的所有对象将共享相同的策略(你也可以定义一组具有相同前缀的对象而不是整个bucket)

-细粒度:除了 IAM 角色之外,您还可以使用访问控制列表 (3) 为每个对象定义特殊策略。这样,用户只能访问您存储桶中的部分对象。

根据要授予每个用户的所需权限定义适当的策略后,您将需要与他们共享对象的 Authenticated URL,并且根据 GCS UI,“只有授予权限的用户才能访问带有此链接的对象”。

相反,如果您想让 Internet 上的每个人都可以公开访问某个对象,您可以按照 (4) 为某个对象创建一个公共 URL。这也在 (5) 中描述:

您在 Cloud Storage 中执行的大多数操作必须是 认证。唯一的例外是对对象的操作 允许匿名访问。对象可以匿名访问,如果 allUsers 组具有 READ 权限。