有一个在Writing IAM Policies: How to Grant Access to an Amazon S3 Bucket
只需复制并粘贴相应的规则,将“资源”关键是你斗的ARN中的所有语句官方AWS文档。
对于programamtic访问的政策应该是:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::bar"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::bar/*"]
}
]
}
而对于控制台访问访问应该是:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::bar*"
},
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::bar"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::bar/*"]
}
]
}
一些细微差别:似乎'bar/*'需要访问'bar'桶中的对象,而'bar'则需要列出/修改存储桶本身。 – phyzome
使用Cyberduck通过上述许可访问S3似乎不起作用。 CyberDock可能需要@Suman提及的ListAllMyBuckets。但是,如果您使用[timkay.com](http://www.timkay.com/aws/)中的命令行工具,则此功能完美无缺。 –
非常感谢。我F $%#@^ING讨厌s3,其繁琐的政策。只是浪费了2个小时,直到我终于找到解决方案。 – Nimo