目次

組織アカウントの切替

組織アカウントの管理アカウントのIAMユーザで、追加した組織アカウントを一元管理する手順を記載します。

はじめに

管理アカウントは、組織構造の赤枠のアカウントになります。

仕組みは以下の通りで、管理アカウントと追加した組織アカウント双方にAssumeRoleを可能とする設定を入れるようになります。
※AssumeRoleに使うロールは、デフォルトのOrganizationAccountAccessRoleとして記載しています。

・管理アカウント:追加アカウントの「OrganizationAccountAccessRole」へAssumeRoleできるようにするポリシーを作成する。
・追加の組織アカウント:管理アカウントからのAssumeRoleを受け入れるロール(OrganizationAccountAccessRole)を作成する。
※追加の組織アカウント側は、アカウント作成時に自動作成される為、権限を見直しする場合は変更すること。

管理アカウント

下記のポリシーを作成し、AssumeRoleするユーザもしくは、ユーザが所属するグループにアタッチする。

※AssumeRoleするユーザに、[AdministratorAccess]や[PowerUserAccess]がアタッチされている場合は、[“Resource”: “*”]に対して[“Action”: “sts:AssumeRole”]が許可されてしまっている為
 下記ポリシーをアタッチしなくてもAssumeRoleができてしまう。権限が緩くなっていないか確認すること!!!

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": [
                "arn:aws:iam::{追加アカウントID}:role/OrganizationAccountAccessRole"
            ]
        }
    ]
}

AssumeRoleを実施する

AssumeRoleといってもGUIで行います。
①右上メニューから、[ロールの切り替え]をクリックします。

②ロールの切り替え画面に遷移するので、以下の情報を入力して[ロールの切り替え]をクリックします。
・アカウント:追加した組織アカウントID
・ロール:OrganizationAccountAccessRole ※デフォルト設定は左記の通り
・表示名:好きな文字列
・色:好きな色を選択

③ロールの切り替えが終わると下記画面が表示され、同時にアカウントも切り替わります。
権限は勿論、ロールの切り替えで選択したロール(OrganizationAccountAccessRole)の権限となりますので、権限が過剰にならないよう気を付けてください。

追加した組織アカウント

ロールの[信頼関係]タブのポリシー設定になります。参考にしてください。

自動で設定されますが、信頼関係に下記ポリシーが付与されることで、管理アカウントからのAssumeRoleを受け入れています。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{管理アカウントID}:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

管理アカウントのユーザ指定でロールの切り替えを許可したい場合は、下記のように記載します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::{管理アカウントID}:user/{管理アカウントのユーザID}",
          "arn:aws:iam::{管理アカウントID}:user/{管理アカウントのユーザID}"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

MFA認証を有効にしたい場合は、下記のように記載します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{管理アカウントID}:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "Bool": {
          "aws:MultiFactorAuthPresent": "true"
        }
      }
    }
  ]
}