【问题标题】:How can I read anonymously POSTed files on AWS S3?如何在 AWS S3 上读取匿名发布的文件?
【发布时间】:2016-09-18 19:12:03
【问题描述】:

我在 AWS S3 上有一个存储桶(我们称之为 bucket-1),我无法从中读取。我有另一个存储桶(我们称之为 bucket-2),我可以从中读取

我可以列出两个存储桶的内容,但我无法复制存储桶 1 的任何内容。

% aws s3 ls s3://bucket-1/ | grep 0046
2016-03-09 15:39:50    4413909 0046f326-6e7d-4c16-80e4-491fa0b19dd7

% aws s3 cp s3://bucket-1/0046f326-6e7d-4c16-80e4-491fa0b19dd7 .
A client error (403) occurred when calling the HeadObject operation: Forbidden

在试图弄清楚这一点的过程中,我切换回使用 AWS 账户的访问密钥而不是 IAM 用户(假设 AWS 账户基本上拥有所有权限)。

开始挖掘

假设原因是权限,我运行

% aws s3api get-bucket-acl --bucket my-bucket-1
% aws s3api get-bucket-acl --bucket my-bucket-2

常见

它将我的 AWS 账户显示为两个存储桶的所有者。

不同

bucket-2 拥有一项权限:我的 AWS 账户的 FULL_CONTROL。

bucket-1 列出了几个权限,其中 FULL_CONTROL不是。它列出了

  • 阅读
  • READ_ACP
  • WRITE_ACP

我的 AWS 账户。

在 Web 控制台中,bucket-1 中的对象没有任何权限集。 bucket-2中的对象与所在的bucket拥有相同的权限。

很可能使用了不同的方法将文件存储在两个存储桶中。 bucket-2 中的对象可能是通过 API 创建的,而 bucket-1 中的对象来自匿名 POST。 (是的,bucket-1 拥有 WRITE for Everyone 的权限。)

深入挖掘

即使使用我的 AWS 账户的凭证,我也无权查询对象的 acl。

% aws s3api get-object-acl --bucket bucket-1 --key 0046f326-6e7d-4c16-80e4-491fa0b19dd7
A client error (AccessDenied) occurred when calling the GetObjectAcl operation: Access Denied

% aws s3api get-object --bucket bucket-1 --key 0046f326-6e7d-4c16-80e4-491fa0b19dd7 local.file
A client error (AccessDenied) occurred when calling the GetObject operation: Access Denied

% aws s3api head-object --bucket bucket-1 --key 0046f326-6e7d-4c16-80e4-491fa0b19dd7
A client error (403) occurred when calling the HeadObject operation: Forbidden

问题

helpful site on the internet 上,我发现可以使用put-object-acl 将acl 设置为bucket-owner-full-control。我试过了。但是您必须使用文件所有者的凭据来执行此操作 - 如果文件是匿名发布的,您怎么能这样做?

  • 我还能尝试什么?
  • S3 上的对象(如存储桶)是否有所有者?
  • 如果是这样,我可以在 Web 控制台的什么位置找到该信息?

【问题讨论】:

  • 检查存储桶策略应该会有所帮助。

标签: amazon-s3 aws-cli


【解决方案1】:

不允许匿名上传到您的存储桶。如果您这样做了,并且上传者没有正确设置权限,那么唯一 对您可用的操作是删除该对象。

可以设置存储桶策略,以拒绝匿名上传,除非上传者将 ACL 设置为 bucket-owner-full-control,但这仅对以后的上传有用。

万一……是否有合法的匿名上传应用程序?非常可疑。

【讨论】:

  • 感谢您的回答,我同意。我想不出“用于匿名上传的合法应用程序”。在我们当时的情况下,这只是最快的选择,而且一如既往 - 时机至关重要。
猜你喜欢
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 2015-08-30
  • 2019-10-27
  • 1970-01-01
相关资源
最近更新 更多