AWS Control Tower用のIAMロールを作成してみた
こんにちは!丸屋 正志(Maruya Masashi) です。
今日もブロックを掘ったり積み上げたり匠に壊されたりしていますか?
このブログで実施すること
AWS Control Towerを使用してメンバーアカウントを管理するためには、 AWSControlTowerExecution
というロールを使用する必要があります。
新しいメンバーアカウントを作成する場合、AWS Control Towerは自動的に AWSControlTowerExecution
を設定してくれます。しかし、既存のアカウントをAWS Control Towerの管理下に移動する場合は、事前に各アカウントに AWSControlTowerExecution
を設定しておく必要があります。
毎回IAMロール画面で手動で作成するのは手間ですので、ここではCloudFormationを活用して設定していきたいと思います。
既に別ブログで、CloudFormationテンプレートを用意されているので、そちらを活用します。
やってみた
事前準備
以下のCloudFormationテンプレートを Iam-Role_AWSControlTowerExecution.yaml
というファイルに格納しておきます。
AWSTemplateFormatVersion: 2010-09-09 Description: Configure the Execution Role for Control Tower Parameters: ManagementAccountId: Description: "Control Tower management account ID" Type: String Resources: AWSControlTowerExecutionRole: Type: AWS::IAM::Role Properties: RoleName: "AWSControlTowerExecution" AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: AWS: - !Ref ManagementAccountId Action: - "sts:AssumeRole" Path: / ManagedPolicyArns: - arn:aws:iam::aws:policy/AdministratorAccess
Step 0 : ダッシュボード
下記のURLから、AWS CloudFormation のページにアクセスします。
(※ 【AWS コンソール】 → 【AWS CloudFormation】 → 【スタック】 という手順でも可能です。)
スタックページにて、右上の 【スタックの作成】 から 【新しいリソースを使用(標準)】 をクリックします。
Step 1 : スタックの作成
- 『前提条件 - テンプレートの準備』 : 【テンプレートの準備完了】
- 『テンプレートの指定』 : 【テンプレートファイルのアップロード】
【ファイルの選択】 から「Iam-Role_AWSControlTowerExecution.yaml
」を選択し、【次へ】をクリックします。
Step 2 : スタックの詳細を指定
各項目に値を入力し、 【次へ】 をクリックします。
項目 | 値 |
---|---|
スタックの名前 | CFn-AWSControlTowerExecution |
ManagementAccountId | AWS Control Tower を有効化している管理のAWSアカウントID |
Step 3 : スタックオプションの設定
デフォルト状態のまま、 【次へ】 をクリックします。
Step 4 : レビュー CFn-AWSControlTowerExecution
各種項目の値が合っていることを確認し、『The following resource(s) require capabilities: [AWS::IAM::Role](画面下辺の青枠)』にチェックを入れて、 【送信】 をクリックします。
Step 5 : スタック作成完了の確認
確認 : 1
CloudFormationのスタック画面にて、作成したスタックがCREATE_COMPLETE
になっていることを確認します。
確認 : 2
IAMロール(AWSControlTowerExecution)画面にて、下記の内容になっているかを確認します。
- 『許可』 :
AdministratorAccess
- 『信頼関係』 :
AWS Control Tower を有効化している管理のAWSアカウントID
Q&A
Q, AWSControlTowerExecution already exists
この様なエラーが出ました。
A, 既に同じ名前でIAMロールが作成されていますので、まずは同名のIAMロール名を削除してください。
Q, AWSControlTowerExecutionというロールは、いつから必要になりますか? A, Root直下から、組織単位(OU)配下に移動して、メンバーアカウントを登録する際に必要となります。
Q, AWSControlTowerExecution というロールは、具体的に何をするのですか? A, 下記AWSドキュメントをご参照ください。