【问题标题】:Assume a Role from an Assumed Role?从假定角色中假定角色?
【发布时间】:2019-06-18 15:38:06
【问题描述】:

所以这就是我想要做的 - 我有 3 个不同的帐户 - 帐户 A、帐户 B 和帐户 C。

我从账户 A 中的一个角色开始。允许该角色担任账户 B 中的另一个角色。允许账户 B 中的该角色访问描述账户 C 中的 s3 存储桶。

这就是我的问题所在。我能否通过首先在账户 B 中担任一个角色来描述账户 C 中的存储桶。然后使用此凭证,在账户 C 中担任一个角色来描述 3 个存储桶?

我在考虑可能两次使用 STS。这可行吗?我确实意识到这可以通过另一个问题中的两个帐户来实现。但这可能来自三个不同的帐户吗?

类似这个问题中的例子的东西会起作用吗? How to assume an AWS role from another AWS role?

我的疑问是,将帐户发送到帐户 C 的位置是帐户 A 还是帐户 B?
账户 C 目前的角色是只允许账户 B 代入它。而账户 B 的角色只允许账户 A 访问它。

【问题讨论】:

  • 试试这个很容易。只需确保每个代入角色都有权代入必要的代入角色(具有所需资源的权限,例如 S3 存储桶)。
  • 实际上想要达到什么目的?可能有更好的方法来做到这一点。例如,账户 B 中的存储桶可以向账户 A 中的用户/角色授予访问权限。您可以进行配置,以便一组凭据可以访问所有三个账户中的存储桶。
  • 为了更具体,我在问题末尾添加了一些内容。

标签: amazon-web-services amazon-s3 boto3 amazon-iam


【解决方案1】:

当您担任角色时,您将放弃当前的身份和权限,并承担新的身份和新的权限 - 而不是额外的权限。

如果您的目标是访问三个存储桶,那么您的假定角色需要访问这三个存储桶。

【讨论】:

  • 但是我可以通过账户 C 中的角色来实现这一点,该角色仅允许使用账户 B 的 iD 的 sts 吗?
  • 我不确定你问了什么。您必须授予调用承担角色的权限。您还必须为账户 B 中的角色设置Trust Relationship,说明账户 C 可以担任账户 B 中的角色。账户 C 中的角色至少需要承担角色权限。
【解决方案2】:

是的。您可以从代入角色中代入角色。

帐户 C 将具有信任帐户 B 的角色。帐户 B 将具有信任帐户 A 的角色。

每个角色还必须拥有该帐户所代入角色的 sts:AssumeRole 权限。

账户 A 的角色可以 sts:AssumeRole 在账户 B 的角色上,并且信任 EC2 或您的 IAM 用户或其他任何东西。

账户 B 的角色可以 sts:AssumeRole 在账户 C 的角色上,并且信任账户 A。

账户 C 的角色可以 s3:ListBuckets 并信任账户 B。

【讨论】:

  • 我的疑问是,将帐户发送到帐户 C 的地方是帐户 A 还是帐户 B?
猜你喜欢
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 2020-01-19
  • 2019-11-17
  • 2020-02-23
  • 2021-04-29
  • 2022-11-17
  • 2021-04-13
相关资源
最近更新 更多