【问题标题】:Assume AWS Role From User in Same Account从同一账户中的用户承担 AWS 角色
【发布时间】:2019-11-30 01:24:29
【问题描述】:

我对在同一 AWS 账户从 IAM 用户担任角色的要求有点困惑。

根据本文档:https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html:

如果用户与角色在同一个帐户中,那么您可以执行以下任一操作 以下内容:

  • 将策略附加到用户(与之前的用户相同) 不同的帐户)。

  • 直接在角色的信任策略中将用户添加为委托人。

我向授予我的用户的组显式添加了承担角色策略,但它无法承担指定的角色:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::123456789:role/some-role-name"
  }
}

一旦我将帐号作为委托人添加到目标角色的信任策略中,它就开始工作了:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com",
        "AWS": "arn:aws:iam::123456789:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

所以,我很困惑有两个原因:

  1. 鉴于我引用的文档,为什么单靠第一个策略不起作用?
  2. 文档中的第二个项目符号是“将用户添加为主体”。我想我添加了整个帐户而不是用户。仅添加此用户的语法是什么?我在阅读的文件中没有发现它。

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    1) 鉴于帐户 ID 和角色名称是正确的,我觉得这很好。你能添加你得到的确切错误吗?

    这是我的一个策略的实际示例,它允许被授予此策略的用户在帐户 acc1acc2acc3 中担任角色 developer

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "",
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Resource": [
                    "arn:aws:iam::acc1:role/developer",
                    "arn:aws:iam::acc2:role/developer",
                    "arn:aws:iam::acc3:role/developer"
                ]
            }
        ]
    }
    

    2) IAM 用户使用arn 而不是root。类似于"arn:aws:iam::123456789:user/John"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多