~~NOCACHE~~ ~~DISCUSSION~~ ## 組織アカウントの切替 組織アカウントの管理アカウントのIAMユーザで、追加した組織アカウントを一元管理する手順を記載します。 ### はじめに 管理アカウントは、組織構造の赤枠のアカウントになります。 {{:Aws:Organizations:pasted:20210519-230142.png?direct 300x0}} 仕組みは以下の通りで、管理アカウントと追加した組織アカウント双方にAssumeRoleを可能とする設定を入れるようになります。 ※AssumeRoleに使うロールは、デフォルトのOrganizationAccountAccessRoleとして記載しています。 ・管理アカウント:追加アカウントの「OrganizationAccountAccessRole」へAssumeRoleできるようにするポリシーを作成する。 ・追加の組織アカウント:管理アカウントからのAssumeRoleを受け入れるロール(OrganizationAccountAccessRole)を作成する。 ※追加の組織アカウント側は、アカウント作成時に自動作成される為、権限を見直しする場合は変更すること。 {{:Aws:Organizations:pasted:20210519-232513.png?direct 800x0}} ### 管理アカウント #### 下記のポリシーを作成し、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で行います。 ①右上メニューから、[ロールの切り替え]をクリックします。 {{:Aws:Organizations:pasted:20210520-001050.png?direct 200x0}} ②ロールの切り替え画面に遷移するので、以下の情報を入力して[ロールの切り替え]をクリックします。 ・アカウント:追加した組織アカウントID ・ロール:OrganizationAccountAccessRole ※デフォルト設定は左記の通り ・表示名:好きな文字列 ・色:好きな色を選択 {{:Aws:Organizations:pasted:20210520-001315.png?direct 600x0}} ③ロールの切り替えが終わると下記画面が表示され、同時にアカウントも切り替わります。 権限は勿論、ロールの切り替えで選択したロール(OrganizationAccountAccessRole)の権限となりますので、権限が過剰にならないよう気を付けてください。 {{:Aws:Organizations:pasted:20210520-002230.png?direct 600x0}} ### 追加した組織アカウント ロールの[信頼関係]タブのポリシー設定になります。参考にしてください。 #### 自動で設定されますが、信頼関係に下記ポリシーが付与されることで、管理アカウントからの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" } } } ] } {{tag>AWS Organizations}}