无法将AWS资源级别权限添加到特定EC2实例

时间:2017-10-05 05:29:32

标签: amazon-web-services amazon-ec2 amazon-iam

参考此Doc 我创建了IAM策略,只允许访问一个EC2实例。我创建了一个具有该策略策略的IAM用户。但是当我使用该用户登录我的AWS账户时,我收到错误“获取实例数据时出错:您无权执行此操作。”

政策文件:

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

1 个答案:

答案 0 :(得分:1)

您必须添加EC2 describe来描述所有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": "*"
    }
  ]
}