【问题标题】:Configure AWS Role to switch between Organization Accounts配置 AWS 角色以在组织账户之间切换
【发布时间】:2021-03-12 21:19:00
【问题描述】:

我正在尝试按照How can I allow a Group to assume a Role? 中的说明进行操作,但在尝试切换角色时遇到以下错误:

一个或多个字段中的信息无效。检查您的信息或联系您的管理员。


在这种情况下,我有三个 example ids 的 AWS 账户

  • CompanyMain - 000000000001
  • CompanyProd - 000000000002
  • CompanyDev - 000000000003

主账户的组织包括 prod 和 dev 账户

我想做的是在主账户上设置一组 IAM 用户,并允许他们登录并在两个子账户中的任何一个之间切换,而不是强制每个人分别进行三个登录。

这是我迄今为止在CompanyMain 帐户上所做的全部工作:

  1. 创建用于访问 Prod 帐户的角色

    将可信实体设置为“另一个 AWS 账户”

    将权限策略设置为AdministratorAccess

    所以当我转到角色>“信任关系”>显示策略文档时 - 它看起来像这样:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::000000000002:root"
          },
          "Action": "sts:AssumeRole",
          "Condition": {}
        }
      ]
    }
    

    名称为“company-prod-admin”,因此 ARN 如下所示:

    arn:aws:iam::000000000001:role/company-prod-admin
    

    这里还附带了切换角色的链接,如下:

    https://signin.aws.amazon.com/switchrole?roleName=company-prod-admin&account=000000000001

  2. 创建担任此角色的策略

    服务:STS 动作:AssumeRole 角色 ARN:arn:aws:iam::000000000001:role/company-prod-admin

    所以政策文件看起来像这样:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "sts:AssumeRole",
          "Resource": "arn:aws:iam::000000000002:root"
        }
      ]
    }
    
  3. 创建管理员组

    在名为admin 的主帐户上创建一个组并附加我们刚刚创建的策略

  4. 创建 IAM 用户

    在主账号上创建用户并放入admin

以 IAM 用户身份登录

我现在可以通过主账户以 IAM 用户身份登录

从那里,我想通过使用角色链接或转到https://signin.aws.amazon.com/switchrole 并输入帐户/角色信息来切换角色

但是,我收到以下信息无效的错误

组织设置问题

如何创建跨组织的角色?我对角色/权限需要在三个帐户之间源自何处感到有些困惑,但理想情况下,我希望有人可以登录到整个组织的一组权限。

【问题讨论】:

标签: amazon-web-services amazon-iam amazon-policy


【解决方案1】:

如果您希望能够从 CompanyMain 访问 CompanyProd,则需要以相反的方式执行 IAM 策略,然后您需要在 CompanyProd 中创建一个 IAM 策略,如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::000000000001:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}

接下来您登录 MainCompany 并切换角色。 在 Account 中输入 000000000002,在 Role 字段中输入 root。

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 2018-09-06
    • 2014-01-05
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多