首先,让我链接你的背景:
https://stackoverflow.com/a/9285074/6347501
我正在尝试为我正在编写的某个应用创建一个公共存储桶。我有一个策略允许PUT和GET在桶中的所有项目。但是,正如您从上面的链接中看到的那样,该策略根本不适用于任何放入存储桶但未授予我所有权的项目。
有什么解决方案吗?实际上是否可以创建一个真正的公共存储桶?
理想情况下,每个人都可以访问此存储桶中的每个对象,无论是谁上传它。
答案 0 :(得分:0)
这是一项工作政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
},
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
它拒绝任何不使用固定ACL“bucket-owner-full-access”的对象,这些对象也是忽略我们的开放GetObject策略的对象。