gsutil无法为所有者获取特定文件的acl

时间:2013-09-28 05:36:34

标签: google-app-engine acl google-cloud-storage

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

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

我该如何诊断问题?

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

2 个答案:

答案 0 :(得分:2)

只允许授予FULL_CONTROL访问权限的用户读取对象的ACL。你知道是谁创造了这个对象吗?如果是这样,您可以要求该人在其上运行gsutil acl get命令;那么你可以看到谁被授予了FULL_CONTROL访问权限。

答案 1 :(得分:2)

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

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

以下是可能出现这种情况的一些可能原因:

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

以下是一些随机故障排除提示:

  • 尝试在https://cloud.google.com/console使用云控制台。你能从那里看到对象的ACL吗?如果是这样,那么你的gsutil配置就会出现问题。