我在Amazon Cognito标识池下设置了未经认证的角色。我的目标是,我的移动应用程序的访客用户将能够将调试日志(小文本文件)上传到我的S3存储桶,以便解决问题。我注意到如果我不修改我的S3存储桶权限,我会从S3中获得“拒绝访问”。如果我添加允许“每个人”具有“上传/删除”权限,则文件上传成功。我担心的是有人能够将大文件上传到我的存储桶并导致安全问题。上面我的需求是什么建议配置?我是S3和Cognito的新手。未授权认证角色的Amazon S3存储桶权限用户
我正在使用适用于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>/*"]
}
]
}
{ “版本”: “2012年10月17日”, “声明”: [ { “效果”: “允许”, “行动”: “IAM:的getUser”, “资源”: “*” },{ “效果”: “允许”, “操作”:[ “S3:ListAllMyBuckets” ], “资源”: “*” }, { “效果”: “允许”, “操作”: [ “S3:CreateBucket”, “S3:DeleteBucket”, “S3:DeleteObject的”, “S3:GetBucketLocation”, “S3:GetObject的”, “S3:ListBucket”, “S3:PutObject” ], “Resource”:[“arn:aws:s3 ::: import-to-ec2- *”,“arn:aws:s3 :::/*”] } ] } –
2014-10-31 03:58:56
以上是我的政策,但文件上传仍然失败。 – 2014-10-31 04:01:44
如果您使用AWSCognitoCredentialsProvider,它将缓存使用的凭证。您可以强制刷新以确保您的凭据反映新政策。如果您仍然遇到问题,请包括代码以及您收到的特定错误,以便我们可以更好地帮助诊断问题。 – 2014-10-31 15:47:59