我计划使用Amazon S3让用户从iPhone上传照片,然后允许公开查看。
我在理解如何在Bucket Policy中设置这些安全约束方面遇到了一些问题:
- 每个人都可以读取每个文件。
- 每个人都可以上传最大为256K的新文件。
- 没有人可以删除任何文件。
- 没有人可以修改任何文件。
我计划使用Amazon S3让用户从iPhone上传照片,然后允许公开查看。
我在理解如何在Bucket Policy中设置这些安全约束方面遇到了一些问题:
好的,最后我算是弄清楚了。唯一的问题是您无法对添加文件和更新文件设置不同的权限。它们都由 s3:PutObject 涵盖。此外,似乎无法限制文件大小。
{
"Version": "2008-10-17",
"Id": "policy",
"Statement": [
{
"Sid": "allow-public-read",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket/*"
},
{
"Sid": "allow-public-put",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::bucket/*"
}
]
}
{
"Statement": [
{
"Effect": "Allow",
"Principal":"*",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectAcl",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::mybucket/*",
"Condition": {}
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketAcl"
],
"Resource": "arn:aws:s3:::mybucket",
"Condition": {}
}
]
}