組織アカウントの管理アカウントのIAMユーザで、追加した組織アカウントを一元管理する手順を記載します。
仕組みは以下の通りで、管理アカウントと追加した組織アカウント双方にAssumeRoleを可能とする設定を入れるようになります。
※AssumeRoleに使うロールは、デフォルトのOrganizationAccountAccessRoleとして記載しています。
・管理アカウント:追加アカウントの「OrganizationAccountAccessRole」へAssumeRoleできるようにするポリシーを作成する。
・追加の組織アカウント:管理アカウントからのAssumeRoleを受け入れるロール(OrganizationAccountAccessRole)を作成する。
※追加の組織アカウント側は、アカウント作成時に自動作成される為、権限を見直しする場合は変更すること。
※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といってもGUIで行います。
①右上メニューから、[ロールの切り替え]をクリックします。
②ロールの切り替え画面に遷移するので、以下の情報を入力して[ロールの切り替え]をクリックします。
・アカウント:追加した組織アカウントID
・ロール:OrganizationAccountAccessRole ※デフォルト設定は左記の通り
・表示名:好きな文字列
・色:好きな色を選択
③ロールの切り替えが終わると下記画面が表示され、同時にアカウントも切り替わります。
権限は勿論、ロールの切り替えで選択したロール(OrganizationAccountAccessRole)の権限となりますので、権限が過剰にならないよう気を付けてください。
ロールの[信頼関係]タブのポリシー設定になります。参考にしてください。
{ "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" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{管理アカウントID}:root" }, "Action": "sts:AssumeRole", "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } } } ] }