IAM策略不允许EC2访问

Phi*_*lip 5 amazon-ec2 amazon-web-services amazon-iam

我有一个政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1429817158000",
            "Effect": "Allow",
            "Action": [
                "ec2:*"
            ],
            "Resource": [
                "arn:aws:ec2:*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是附属于一个群体.该组有一个用户.当我使用该用户的凭据登录myloginthing.signin.aws.amazon.com时,我无法执行与EC2相关的任何操作.它为页面上的每个操作提供了诸如" 您无权描述运行实例 "之类的消息.

IAM策略模拟器告诉我任何操作都被拒绝,因为

隐含否认(未找到匹配的陈述).

我错过了什么?

chr*_*ris 3

这实际上花了我一段时间才弄清楚。

事实证明,您必须将每个操作(在您的示例中,ec2:*)与一组允许的资源(在您的示例中,arn:aws:ec2:*)相匹配。

问题在于,并非每个操作都具有相同的允许资源集 - 因此,虽然您可以为 RunInstances 使用许多不同的资源,但DescribeInstances 仅支持 *.

完整列表可以在这里找到

(注:发布链接是因为 a)列表非常大,b)随着时间的推移,它可能会发生显着变化。