【问题标题】:GCS bucket should be accessible from only specific peopleGCS 存储桶应该只能由特定人员访问
【发布时间】:2021-01-21 08:52:02
【问题描述】:

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

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

这样做的方法是什么?

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage google-iam google-cloud-iam


    【解决方案1】:

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

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

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

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

    相反,如果您想让 Internet 上的每个人都可以使用某个对象,您可以关注 (4) 以便为某个对象创建一个公共 URL。这也在 (5) 中有所描述:

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

    【讨论】:

    • 感谢@rodvictor,从语句“只有被授予权限的用户才能使用此链接访问对象”,您的意思是,如果我将“云对象查看器”权限授予 GCS 存储桶中的特定用户.只有该用户可以点击该存储桶中对象的 URL?
    • 它不一定是角色cloud object viewer。据我了解,任何具有storage.objects.get 权限的角色都可以访问该对象的数据。您可以签入https://cloud.google.com/storage/docs/access-control/iam-permissions#object_permissions 与对象的每种交互类型所需的特定权限。如果您想 100% 确定,您可以设置所需的策略,然后尝试使用另一个 gmail 帐户从隐身模式访问对象的经过身份验证的链接!
    • 我试图给自己“云对象查看器”权限。但是当我尝试点击 URL 时,我得到“Forbidden Error 403”。
    • 如果我向 allUsers / allAuthenticatedUsers 授予相同的权限,我可以访问相同的 URL。
    • 这取决于您在哪个级别获得此权限。例如,您可以单击具有统一访问控制的存储桶的名称,然后单击permissions,然后单击add。如果你在这里给自己角色Storage Object Viewer,你应该能够访问该桶内的任何对象
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 2020-11-15
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    相关资源
    最近更新 更多