AWS S3 - 如何将IAM用户限制为单个存储桶?
我一直在努力挣扎几个小时,无法弄清楚。AWS S3 - 如何将IAM用户限制为单个存储桶?
我创建了一个新的用户,口是心非,我做了一个新的水桶叫鲍勃 - 房子,产生了以下政策:(任何数字我不知道我应该分享的xxx'd出)
{
"Version": "2012-10-17",
"Id": "Policyxxx",
"Statement": [
{
"Sid": "Stmtxxx",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::xxx:user/duplicity"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bobs-house/*"
}
]
}
我去策略模拟器,并运行一些测试。果然,它表示我可以做任何我想做的用户复制品,但只能在bobs-house上。如果虚度试图做任何涉及其他桶的事情,它就会被拒绝。大!
现在我启动我的FTP客户端并使用重复的IAM访问密钥和密钥连接到s3.amazonaws.com(使用传输的S3协议当然,而不是FTP协议)。我得到“访问被拒绝”。我无法弄清楚我做错了什么。任何帮助,将不胜感激!
编辑:
明白了,感谢约翰的答案如下。我可以使用传输连接和仅查看桶的内容,添加文件等,但口是心非(备份软件)抱怨:
PermanentRedirect. The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. bobs-house.s3.amazonaws.com
所以我切换格式在口是心非的配置到:
s3://bops-house.s3.amazonaws.com/test
然后我得到这个错误:
The request signature we calculated does not match the signature you provided. Check your key and signing method.
我的访问密钥&秘密密钥是绝对正确的。
如果您希望为特定用户授予Amazon S3权限,最好针对IAM用户本身而不是桶策略创建策略。
一个桶政策好分配普遍权限,而政策IAM有利于赋予权限的用户的特定用户或组。
谢谢!这工作。我编辑了我的帖子..还有一个问题 – ffxsam
我不知道AWS做FTP –
你尝试'在策略模拟器列表buckets'?因为我不确定Transmit在底层做了什么,但是它很可能会尝试一些你没有批准的操作,而不涉及特定的存储桶(在这种情况下,你真的需要提交一个bug报告他们)。 –