我将策略附加到 AWS 中的角色。
"AssumeRolePolicyDocument": {
"Version": "2012-11-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com",
"AWS": [
"arn:aws:iam::123:root",
]
},
"Action": "sts:AssumeRole"
}
]
}
因此此策略有两种类型:主体 aws 帐户和 aws 服务。
我在文档中没有找到的东西,这些负责人是在一起还是重叠?
是ec2+123账号的所有用户,还是只有123账号的ec2服务?
答案 0 :(得分:0)
EC2 实例不可能直接从另一个账户代入角色。您可以改为允许 EC2 实例的角色代入 EC2 实例中的另一个角色。在这种情况下,您可以使用 aws-sdk 或 cli 代入该角色。
为 EC2 分配一个角色,为该角色附加一个策略,允许该角色代入该角色
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "*"
}
]
}
在目标账户中,创建一个具有信任关系的 IAM 角色,允许源角色代入。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::012345678901:root"
},
"Action": "sts:AssumeRole"
}
]
}
使用代入角色 api 调用从实例访问目标角色。 aws sts 假设角色 --role-arn arn:aws:iam::123456789012:role/xaccounts3access --role-session-name s3-access-example