我在我的一个帐户(比如帐户A)中创建了一个跨帐户IAM角色,并希望将该角色附加到另一个帐户(帐户B)中的ec2实例 .
我尝试在帐户B中使用sts创建一个新角色:AssumeRole指向A中的角色并将其附加到B中的ec2实例 . 似乎不起作用 .
ec2实例如何在A中承担交叉帐户角色?
您无法直接将跨帐户IAM角色附加到EC2实例 . 拥有 sts:AssumeRole 权限不会自动使一个角色承担另一个角色 .
sts:AssumeRole
代替:
在帐户A中创建跨帐户角色 .
为帐户B中的EC2实例创建IAM角色 . 授予此角色执行 sts:AssumeRole 的权限 .
将IAM角色从#2分配给您的EC2实例 .
然后,当您想要从EC2实例访问AWS API时:
执行 sts:AssumeRole 以承担帐户A的跨帐户角色,以获取临时凭证 .
使用这些临时凭证执行其余的API方法 .
1 回答
您无法直接将跨帐户IAM角色附加到EC2实例 . 拥有
sts:AssumeRole
权限不会自动使一个角色承担另一个角色 .代替:
在帐户A中创建跨帐户角色 .
为帐户B中的EC2实例创建IAM角色 . 授予此角色执行
sts:AssumeRole
的权限 .将IAM角色从#2分配给您的EC2实例 .
然后,当您想要从EC2实例访问AWS API时:
执行
sts:AssumeRole
以承担帐户A的跨帐户角色,以获取临时凭证 .使用这些临时凭证执行其余的API方法 .