我在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