【问题标题】:GCP Storage Authenticated Browser DownloadsGCP 存储经过身份验证的浏览器下载
【发布时间】:2018-05-10 03:16:00
【问题描述】:

我一直在尝试为我们的 GCS 存储桶中的文件设置经过身份验证的浏览器下载,但无法成功。具有 READER ACL 权限的用户始终会收到 Forbidden/403。

Cookie-based authentication 上的部分声明这应该可以工作,Authenticated Browser Downloads 上的内容也一样。

我尝试使用存储对象查看器为 user@domain.com 创建一个项目级 IAM 条目,并为storage.objects.get 权限创建一个自定义角色。

然后尝试直接通过控制台和通过:直接设置存储桶和文件的user@domain.com READ权限:

gsutil acl ch -u user@domain.com:R gs://<bucket>
gsutil acl ch -u user@domain.com:R gs://<bucket>/file

我也尝试过设置默认 ACL。

我正在测试来自不同浏览器的下载(尝试了 Chrome 和 Safari)。

当我请求 https://storage.cloud.google.com/&lt;bucket&gt;/file 时,系统会提示我进行身份验证,但总是收到 Forbidden/403。

有没有办法查看权限被拒绝的位置/原因? 我错过了什么?

【问题讨论】:

标签: google-cloud-storage gsutil


【解决方案1】:

以下设置适合我。

Bucket Name: bb1
Object Name: test1.txt
Test Account: sample@gmail.com  
  1. IAM 和管理员

    • 转到 IAM 并添加“sample@gmail.com”。
    • 将角色“项目->查看者”赋予此新帐户。
  2. 角色

    • 转到角色并创建自定义角色“示例下载角色”。
    • 授予权限: storage.buckets.get storage.buckets.list storage.objects.get storage.objects.list
    • 转到存储桶 bb1 并从存储桶旁边的菜单中选择“编辑存储桶权限”。
    • 您会看到已添加为“查看者”的示例帐户,并继承了权限。
    • 添加示例帐户并分配我们在上面创建的自定义角色。
  3. 测试

    • 在新浏览器中,注销所有 google 帐户并尝试 URL:https://storage.cloud.google.com/bb1/test1.txt
    • 这是假设对象直接位于存储桶下方。
    • 您将被重定向到 google 页面进行登录。

    • 确保您之前为此 google 帐户的安全配置不会与此新配置发生冲突。

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 2018-06-23
    • 2018-06-13
    • 1970-01-01
    • 2020-08-04
    • 2011-10-01
    • 2016-12-14
    • 2017-04-03
    • 2013-06-26
    相关资源
    最近更新 更多