我在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
答案 0 :(得分:3)
要启动具有附加角色的Amazon EC2实例,发出请求的IAM用户需要具有给定角色的iam:PassRole
权限。
这是为了防止潜在的“权限提升”情况,例如:
因此,用户必须(至少)具有给定角色的iam:PassRole
权限才能启动使用该角色的实例。
请参阅:Granting a User Permissions to Pass a Role to an AWS Service - AWS Identity and Access Management