修改 EC2 服务角色,使其可以由同一账户中的 IAM 用户代入
Modify EC2 service role so that it can be assumed by an IAM user in the same account
我有一个 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
要启动带有附加角色的 Amazon EC2 实例,发出请求的 IAM 用户需要对给定角色具有 iam:PassRole
权限。
这是防止潜在的 "elevation of authority" 情况所必需的,例如:
- 用户权限有限
- 他们启动一个 EC2 实例,指定一个具有提升权限的角色
- 他们登录到 EC2 实例并使用 Role 的权限来执行他们通常不允许执行的功能
因此,用户必须具有给定角色的 iam:PassRole
权限(至少)才能启动使用该角色的实例。
参见:Granting a User Permissions to Pass a Role to an AWS Service - AWS Identity and Access Management
我有一个 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
要启动带有附加角色的 Amazon EC2 实例,发出请求的 IAM 用户需要对给定角色具有 iam:PassRole
权限。
这是防止潜在的 "elevation of authority" 情况所必需的,例如:
- 用户权限有限
- 他们启动一个 EC2 实例,指定一个具有提升权限的角色
- 他们登录到 EC2 实例并使用 Role 的权限来执行他们通常不允许执行的功能
因此,用户必须具有给定角色的 iam:PassRole
权限(至少)才能启动使用该角色的实例。
参见:Granting a User Permissions to Pass a Role to an AWS Service - AWS Identity and Access Management