【发布时间】:2018-03-17 05:00:30
【问题描述】:
我真的很难访问 S3 存储桶中的对象。 我做过的事情:
- IAM 用户已经拥有管理员级别的权限
- 授予 AmazonS3FullAccess
-
将存储桶策略设置为 public allowed get...
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadForGetBucketObjects", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::images.bucketname.com/*" } ]}
我不想公开,但我只是想让它立即发挥作用。我已经为应用程序本身设置了一个新的 IAM 用户,该用户将获取对象作为主体,但由于某种原因,它再次不起作用。
- 我正在使用
putObjectin Node 上传图片。
我是否在这里遗漏了什么,因为我在 S3 中的所有内容都被拒绝完全访问。即使以 root 用户身份登录,我也无法打开图像。我无法下载对象。我无法查看正在上传的图片。
控制台中的所有这些按钮要么抛出空白错误,要么路由到标准 AWS 拒绝访问 XML 页面。
另一方面,我可以使用 root 用户凭据以编程方式成功地将文件上传到存储桶。
我在这里缺少什么?感谢您的帮助。
【问题讨论】:
-
您是对象的所有者吗?见docs.aws.amazon.com/AmazonS3/latest/dev/…。
-
是的,我是店主
-
对象是否经过 KMS 加密?调用 putObject 时您指示什么 ACL?您是否修改了默认 ACL (docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)?
-
嗯,也许就是这样。让我尝试在上传时设置 ACL
-
@PhilAndrews 你是如何上传有问题的对象的?在错误的条件下,您可能不拥有它们——它们可能没有所有者。简单的测试是尝试删除其中一个,如果它是您的存储桶而不是您的对象,它仍然有效。 (如果通过控制台上传,则不会发生这种情况。)
标签: amazon-web-services amazon-s3 amazon-iam