繁体   English   中英

AWS S3-如何将IAM用户限制为一个存储桶?

[英]AWS S3 - How to restrict an IAM user to just a single bucket?

我已经为此苦苦挣扎了数小时,无法解决。

我创建了一个新用户,称为双重身份,并创建了一个名为bobs-house的新存储桶,并生成了以下策略:(我不确定应该共享的任何数字都被xxx'了)

{
    "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/*"
        }
    ]
}

我转到策略模拟器,然后运行一些测试。 果然,它说我可以做任何我想做的事情,但是只能在鲍勃的房子里做。 如果重复性试图做任何涉及其他存储桶的操作,则会被拒绝。 大!

现在,我启动FTP客户端并使用重复的IAM访问密钥和秘密密钥连接到s3.amazonaws.com(当然使用Transmit的S3协议,而不是FTP协议)。 我得到“访问被拒绝”。 我不知道我在做什么错。 任何帮助,将不胜感激!

编辑:

知道了,这要感谢下面约翰的回答。 我可以使用Transmit连接并仅查看该存储桶的内容,添加文件等。但是,重复性(备份软件)在抱怨:

永久重定向。 您尝试访问的存储桶必须使用指定的端点进行寻址。 请将所有将来的请求发送到此端点。 bobs-house.s3.amazonaws.com

因此,我将重复性配置中的格式切换为:

s3://bops-house.s3.amazonaws.com/test

然后我得到这个错误:

我们计算出的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法。

我的访问密钥和秘密密钥绝对正确。

如果您希望向特定用户授予Amazon S3权限,则最好针对IAM用户本身创建策略,而不是对存储桶策略进行创建。

存储桶策略适合分配通用权限,而IAM中的策略则适合向特定用户或用户组授予权限。

请参阅: 用户策略示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM