GCP存储认证浏览器下载

时间:2017-11-26 22:08:00

标签: google-cloud-storage gsutil

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

Cookie-based authentication部分说明这应该有效,Authenticated Browser Downloads就是这样。

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

然后尝试直接通过控制台和通过以下方式直接在存储桶和文件上设置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/<bucket>/file时,系统会提示我进行身份验证,但始终会收到Forbidden / 403.

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

1 个答案:

答案 0 :(得分:0)

以下设置对我有用。

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

    • 转到IAM并添加“sample@gmail.com”。
    • 将角色“Project-&gt; Viewer”赋予此新帐户。
  2. 角色

    • 获取角色并创建自定义角色“示例下载角色”。
    • 授予权限: storage.buckets.get storage.buckets.list storage.objects.get storage.objects.list
  3. 铲斗

    • 转到存储桶bb1并从存储桶旁边的菜单中选择“编辑存储桶权限”。
    • 您会看到它已添加为“查看者”的示例帐户,其权限已继承。
    • 添加示例帐户并指定我们在上面创建的自定义角色。
  4. 测试

    • 在新浏览器中,退出所有Google帐户并尝试使用以下网址:https://storage.cloud.google.com/bb1/test1.txt
    • 这是假设对象直接在桶下。
    • 您将被重定向到google页面进行登录。

    • 确保此Google帐户的先前安全配置不会与此新配置冲突。