所以这就是我想要做的-我有三个不同的账户——账户A、账户B和账户C。
我从账户a中的一个角色开始。这个角色可以在账户B中扮演另一个角色。账户B中的这个角色可以访问账户C中的s3 bucket。
这就是我的问题所在。我能通过首先在账户B中扮演角色来描述账户C中的bucket吗?然后使用此凭证,在账户C中扮演角色以描述3个bucket?
我曾考虑过可能使用STS两次。这可行吗?我确实意识到这是可能的,在另一个问题中有两个账户。但从三个不同的账户来看,这可能吗?
像这个问题中的例子会起作用吗?如何从另一个AWS角色扮演AWS角色?
我的疑问是,账户发送到C账户的地方是A账户还是B账户
帐户C当前的角色只允许帐户B承担。而帐户B的角色仅允许帐户a访问它。
是。您可以从已承担的角色中承担一个角色。
账户C将扮演信任账户B的角色。账户B将扮演信任帐户a的角色。
每个角色还必须对帐户所扮演的角色拥有sts:AssumeRole的权限。
帐户A的角色可以在帐户B的角色上sts:AssumeRole,并信任EC2或您的IAM用户或其他任何人。
账户B的角色可以在账户C的角色上sts:AssumeRole,并信任账户A。
账户C的角色可以s3:ListBuckets并信任账户B。
当您担任一个角色时,您将放弃当前的身份和权限,而采用新的身份和新的权限,而不是额外的权限。
如果你的目标是访问三个bucket,那么你所扮演的角色需要访问这三个bucket。