当前位置: 首页 > 知识库问答 >
问题:

Google云存储为ACL中的用户返回403

龙星辰
2023-03-14

我有一个谷歌云存储桶,我想给个人用户访问个人文件的权限。因此,我有一个uri为:gs://my bucket/my file的文件,在该对象的ACL列表中,我有myuser@gmail.com列为具有“读取”权限的“用户”。

但是,任何使用url访问该文件的尝试:<代码>https://storage.cloud.google.com/my-bucket/myfile即使我已登录,也会通过浏览器返回一个简短页面,说明“403禁止”。如果我打开“匿名”选项卡,当我转到该URL时,系统会提示我登录google,但一旦我完成登录,就会收到相同的消息。

使用相同的凭据,我可以使用gsutil或从google开发人员控制台轻松下载文件。但我似乎无法通过Web链接使用经过身份验证的用户下载它。

编辑:要明确的是,此对象不是公开的,它应该只对项目所有者/编辑以及对象ACL中指定的任何人可用。我要离开这份文件。

EDIT2:这是对象ACL中用户的条目

{
    "email": "myuser@gmail.com",
    "entity": "user-myuser@gmail.com",
    "role": "READER"
 }

共有1个答案

柯子琪
2023-03-14

您还必须向该用户提供bucket权限。

 类似资料:
  • 我在我创建的谷歌云存储上有一个存储桶。我想测试一些内置ACL,如public read、public read write等。但是,一旦我使用gsutil setacl命令更改了ACL,例如:

  • 我一直在通过与云存储桶直接关联的App Engine制作具有以下ACL属性的文件。 如果我想编辑和查看应用程序引擎脚本中的文件,这很好。然而,我希望能够从一个完全不同的Google App Engine项目ID.甚至是一个计算引擎访问这些文件。 由于当前ACL设置为private,我意识到这可能是不可能的。 在具有这些私有ACL文件的bucket中,我将不同项目ID的bucket权限设置为owne

  • 我是一个谷歌云项目的所有者,里面有一个谷歌云存储桶。我们所有的备份都被移到这个桶中。当我试图检索一些备份时,我得到了一个被拒绝的权限。我什么也做不了,只能把桶列出来。 当我尝试用 CommandException:未能为gs://abc/1234.sql设置acl。请确保您拥有对此资源的所有者角色访问权限。 这毫无意义,因为我是项目和桶的所有者。

  • 我运行的确切命令是:gsutil getacl gs://bucket/folder/>acl.txt 如何获取和设置文件夹的权限?

  • 我不能以这种方式设置acl:(同时拥有公共读取和所有者完全控制) 这里的解决方案是什么?

  • 在实验过程中,我意外地为一个不应该是公共的bucket中的所有用户添加了默认的读访问权限。我使用了以下命令: 在意识到我的错误后,我尝试使用以下命令删除默认的读取访问: 还有其他方法可以改变谷歌云存储桶的所有用户的默认访问权限吗?如果有其他方法,请告诉我,谢谢!