2017-10-05 88 views
0

参照这个Doc 我创建了允许访问只有一个EC2 Instance.And我已创建了与策略的策略的IAM用户IAM策略。但是,当我将该用户登录到我的AWS账户时,我收到错误“发生错误提取实例数据:您无权执行此操作。”无法添加AWS资源级权限的特定EC2实例

政策文件:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Action": [ 
       "ec2:*" 
      ], 
      "Condition": { 
       "StringEquals": { 
        "ec2:ResourceTag/test": "test" 
       } 
      }, 
      "Resource": [ 
       "arn:aws:ec2:us-east-1:AccountNumber:instance/* 
      ], 
      "Effect": "Allow" 
     } 
    ] 
} 
+0

不够。您必须添加describe实例,列表实例 –

+0

但我在策略中给出了完整的EC2操作。是否有必要明确添加? –

回答

1

您必须添加EC2描述来形容所有的EC2资源,然后在其他语句基地通过标签筛选资源。
但是,通过此策略,其他IAM帐户仍可在没有任何权限的情况下查看其他EC2实例。

这是您需要的。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1507182214000", 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:*" 
     ], 
     "Condition": { 
     "StringEquals": { 
      "ec2:ResourceTag/TAG_NAME": "TAG_VALUE" 
     } 
     }, 
     "Resource": [ 
     "arn:aws:ec2:AWS_REGION:AWS_ACCOUNT:instance/*" 
     ] 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:DescribeInstances", 
     "ec2:DescribeTags" 
     ], 
     "Resource": "*" 
    }, 
    { 
     "Effect": "Deny", 
     "Action": [ 
     "ec2:CreateTags", 
     "ec2:DeleteTags" 
     ], 
     "Resource": "*" 
    } 
    ] 
} 
+0

感谢@BTaun它的工作,但这将允许用户查看AWS账户中运行的所有实例。我们是否可以限制用户查看标有“TAG_VALUE”的实例? –

+0

林不知道,但我试图对它 –

+0

好吧,我明白了。我想我们不能限制查看其他ec2实例,因为当IAM账户转到EC2控制台时,他们需要'EC2描述:*'来描述所有的EC2实例,然后基于'restrict by tag:value'来限制权限。最好的方法是为'deny remove/create tag'添加更多的语句。我编辑了我的答案 –