我在 Amazon Cognito 身份池下设置了一个未经身份验证的角色。我的目标是我的移动应用程序的来宾用户能够将调试日志(小文本文件)上传到我的 S3 存储桶,以便我可以解决问题。我注意到如果我不修改我的 S3 存储桶权限,我会从 S3 收到“拒绝访问”。如果我添加允许“所有人”拥有“上传/删除”权限,则文件上传成功。我担心有人可以将大文件上传到我的存储桶并导致安全问题。我上面需要的推荐配置是什么?我是 S3 和 Cognito 的新手。
我正在使用适用于 iOS 的 Amazon AWS SDK,但我认为这个问题是平台中立的。
编辑:我的政策如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:DeleteObject",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": ["arn:aws:s3:::import-to-ec2-*", "arn:aws:s3:::<my bucket name>/*"]
}
]
}