1
$ gsutil acl get gs://mybucket/xyz.css

GSResponseError: status=403, code=AccessDenied, reason="Forbidden", message="Access denied.", detail="Access denied to mybucket/xyz.css"

我应该如何诊断问题?

我是桶的主人。但正如答案所指出的,我不是该对象的所有者。

4

2 回答 2

2

只有被授予 FULL_CONTROL 访问权限的用户才能读取对象的 ACL。你知道是谁创建了这个对象吗?如果是这样,您可以要求该人对其运行 gsutil acl get 命令;然后你可以看到谁被授予 FULL_CONTROL 访问权限。

于 2013-09-28T06:56:05.593 回答
2

要查看对象的 ACL,您必须具有该对象的 FULL_CONTROL 权限(存储桶权限无关紧要)。有多种原因可能会导致您无法访问此对象,但最明显的原因是您使用 gsutil 的帐户对该对象没有 FULL_CONTROL 权限。拥有对象的帐户始终具有 FULL_CONTROL 权限。

您是否创建了此存储桶?你创建了这个对象吗?您是否使用配置 gsutil 的同一帐户创建它们?也许您已经使用服务帐户设置了 gsutil,但该对象归您的用户帐户所有?

以下是导致这种情况的一些可能原因:

  • 这不是您的存储桶和/或对象。也许你拼错了?
  • 您将 gsutil 用作匿名用户或与此对象的所有者不同的用户。
  • 其他一些用户或服务有权在您的存储桶中创建对象,并使用不包括您的自定义 ACL 创建它。

以下是一些随机的故障排除思路:

  • 尝试使用https://cloud.google.com/console上的云控制台。你能从那里看到对象的 ACL 吗?如果是这样,那是您的 gsutil 配置有问题。
于 2013-09-28T06:57:59.010 回答