如何在AWS S3上读取匿名发布的文件?

分支14

在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

在试图弄清楚这一点的过程中,我转回使用不是IAM用户的AWS账户的访问密钥(假设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控制台中,存储桶1中的对象未设置任何权限。bucket-2中的对象与其所在的具有相同的权限。

可能使用了不同的方法将文件存储在两个存储桶中。bucket-2的对象很可能是通过API创建的,而bucket-1中的对象则源自匿名POST。(是的,bucket-1的权限为“所有人”。)

深层发掘

即使使用我的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

问题

互联网上的一个有用站点上,我发现可以使用put-object-aclacl设置为bucket-owner-full-control我试过了 但是,您必须使用文件所有者的凭据来执行此操作-如果文件是匿名发布的,该怎么办?

  • 我还能尝试什么?
  • S3上的对象(例如存储桶)是否拥有所有者?
  • 如果是这样,我可以在Web控制台的哪里找到该信息?
迈克尔-SQLbot

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

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

万一...有合法的匿名上传申请吗?高度可疑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在AWS S3上附加到json文件

来自分类Dev

定期从AWS S3读取并发布到SQS

来自分类Dev

如何在EMR中从s3读取文件?

来自分类Dev

如何从s3读取文件?

来自分类Dev

如何从s3读取文件?

来自分类Dev

AWS Lambda:如何在S3存储桶中读取CSV文件,然后将其上传到另一个S3存储桶?

来自分类Dev

如何在 aws 上发布公共 SSH?

来自分类Dev

如何在AWS S3上上传多个文件并使用Angular将URL存储到Firebase?

来自分类Dev

在发布到AWS S3之前,如何压缩/ gzip我缩小的.js和.css文件?

来自分类Dev

在R中从AWS S3读取gzip文件的内容

来自分类Dev

pyspark 从 AWS S3 读取文件不起作用

来自分类常见问题

如何在AWS S3中添加缓存控制?

来自分类Dev

如何在AWS S3上管理用户个人资料图片更新?

来自分类Dev

如何在AWS S3上更改默认存储类

来自分类Dev

如何在AWS上获取本地Spark以写入S3

来自分类Dev

如何在AWS S3上根本不设置任何缓存?

来自分类Dev

如何在 aws s3 上上传 html 本地项目?

来自分类Dev

如何判断Spark使用什么AWS凭证读取S3文件?

来自分类Dev

如何在Mapbox gl js中使用AWS S3栅格文件?

来自分类Dev

如何在Ruby中将预签名的POST文件上传到AWS S3?

来自分类Dev

如何从EMR中的s3中读取文件?

来自分类Dev

如何从BufferedReader中S3中读取文件?

来自分类Dev

如何使用uproot从s3读取文件?

来自分类Dev

如何在 AWS lambda 函数执行期间在 AWS S3 存储桶中写入文件?

来自分类Dev

如何在Mac上安装AWS S3API

来自分类Dev

我如何在Amazon S3中读取文件的内容

来自分类Dev

如何在Java中从S3读取Snappy压缩文件

来自分类Dev

如何在 S3 中读取经过训练的数据文件

来自分类Dev

如何从 Sagemaker 读取 AWS S3 图像进行处理

Related 相关文章

热门标签

归档