小编Dan*_*ley的帖子

创建一个 IAM 策略,允许除 IAM 之外的所有内容(PassRole 除外)

我正在尝试修改 IAM 策略,以便用户可以将 IAM 角色与允许对我们的 S3 存储桶具有只读权限的 EC2 实例相关联。

我们的团队使用 AWS 进行了大量研发,因此我不愿意限制对除 IAM 之外的任何 AWS 服务的访问,因为 IAM 会允许权限升级。

我已使用此问题中的信息添加了 iam:PassRole,但该策略无法在模拟器中验证。

{
"Statement": [
    {
        "Effect": "Allow",
        "NotAction": "iam:*",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": "iam:PassRole",
        "Resource": "arn:aws:iam::ACCOUNTID:role/MYROLE"
    }
]
}
Run Code Online (Sandbox Code Playgroud)

如果我将第二条语句的 Resource 更改为"Resource": "*"验证成功并且模拟器显示明确允许 PassRole,则 IAM 中的所有其他内容都被隐式拒绝,而 S3 中的所有内容都被明确允许。

我在命名角色上做错了什么?允许所有人都使用 PassRole 会带来什么安全隐患(我假设策略模拟器不是骗人的)。有没有更好的方法来实现我想要的?

amazon-ec2 amazon-web-services amazon-iam

6
推荐指数
1
解决办法
3996
查看次数