与其他 gmail 用户共享的 GCP 存储桶的访问被拒绝

问题描述 投票:0回答:1

我正在努力让第三方访问 GCP 存储桶,他们可以通过

https://storage.googleapis.com/<bucketname>/
访问该存储桶。我一直在遵循为GCP 验证的浏览器下载设定的步骤。

存储桶具有统一的访问级别,并且公共访问设置为关闭。此存储桶和关联的项目不在组织内 - 这是通过私人帐户运行的。

我已使用控制台向存储桶添加了两个具有

Storage Object Viewer
权限的用户。但是,如果我作为这些用户之一登录(使用不同的浏览器),我会收到“访问被拒绝”消息。

我想知道权限错误是否是由于使用

gsutil
上传内容后才添加用户造成的,所以我尝试在存储桶上添加读取权限:

gsutil acl ch -r -u <gmailuser>:R gs://<bucketname>/
CommandException: Failed to set acl for gs://<bucketname>/subdir/. Please ensure you have OWNER-role access to this resource.

自从我作为项目和存储桶所有者运行

gsutil
以来,也许我以某种方式弄乱了权限。非常感谢您的见解。

google-cloud-storage google-iam
1个回答
0
投票

根据预定义的 ACL 准则,通过将预定义的 ACL 应用于现有存储桶或对象,您可以将现有的存储桶或对象 ACL 完全替换为预定义的 ACL。在某些情况下,此更改可能会导致您失去对存储桶或对象 ACL 的访问权限。这可能会删除存储桶所有者权限,并且在尝试访问它时会询问所有者权限。

您可以使用 IAM 角色 storage.objectAdmin,以便您拥有更新对象的 ACL 并更正更改所需的权限。在 IAM 中授予

Storage Legacy Bucket Owner
并尝试授予“存储管理员”和“存储对象管理员/创建者/查看者”权限,从而为存储桶授予所有者角色。

您还可以使用以下命令授予所有者权限:

gsutil acl ch -p owners-example-project:W gs://example-bucket

请参阅此doc了解更多示例。

更新答案:

  • 似乎您可能正在使用可能运行的免费套餐帐户 超出免费限制。那么,您可以尝试将您的帐户升级到 付费的也将有一个计费帐户。
  • 出现此错误也可能是因为您使用的 Cloud Storage 存储桶 尝试使用不存在。您可以通过单击来验证这一点 标题为 打开云存储浏览器
  • 的蓝色按钮
  • 如需计费帐户帮助,请使用此处提供的计费支持请求表格打开计费支持请求。
© www.soinside.com 2019 - 2024. All rights reserved.