修改EC2服务角色,以便同一帐户中的IAM用户可以承担此角色

时间:2019-07-19 08:53:41

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

我在EC2中扮演ssm-role的角色。我希望另一个IAM用户启动附加了ssm-role的EC2实例。

附加有ssm-role的政策:AmazonEC2RoleforSSM

ssm-role的信任关系:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com",
        "AWS": "arn:aws:iam::<ACC_ID>:user/test-user"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

我为想要承担ssm-role的用户添加了以下内联策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "test",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::<ACC_ID>:role/ssm-role"
        }
    ]
}

尽管有这些,test-user无法启动连接了ssm-role的EC2。

任何帮助将不胜感激。

注意:测试用户有EC2FullAccess

1 个答案:

答案 0 :(得分:3)

要启动具有附加角色的Amazon EC2实例,发出请求的IAM用户需要具有给定角色的iam:PassRole权限。

这是为了防止潜在的“权限提升”情况,例如:

  • 用户的权限有限
  • 他们启动EC2实例,指定具有提升特权的角色
  • 他们登录到EC2实例并使用“角色”的特权来执行通常不被允许执行的功能

因此,用户必须(至少)具有给定角色的iam:PassRole权限才能启动使用该角色的实例。

请参阅:Granting a User Permissions to Pass a Role to an AWS Service - AWS Identity and Access Management

相关问题