AWS Control Tower (v2.8) 環境で用意されている IAMロールを整理する
はじめにまとめ
AWS Control Tower では以下のような IAMロールが用意されます。
全てを把握する必要は無いです。多くは Control Tower の基盤(Landing Zone や AWS Config, AWS CloudTrail) の 維持に使われています。
赤字で書いたIAMロール 3つは把握しておくといいでしょう。 アカウントの「ベースライン/共通サービスのデプロイ」や「セキュリティ対応」に活用できる IAMロールです。 これら IAMロールを以降で説明していきます。
※そもそもの 「AWS Control Tower とは?」は以下ブログを参照ください
管理(Management) アカウント
AWSControlTowerStackSetRole が重要です。 これは CloudFormation(CFn) StackSets で利用します。 メンバーアカウントに対して、管理アカウントから CFnスタックを展開できます。 下図にこのロールの利用フローを示します。
図のとおり、このロールは AWS Control Tower が基盤作成のためにも使用していますが、 AWS管理者自身で活用することも可能です。
新規アカウント作成時の ベースライン作成や、共通サービスの展開などが主な利用用途です。 以下に活用例を1つ載せます。
監査(Audit) アカウント
aws-controltower-AuditReadOnlyRole および aws-controltower-AuditAdministratorRole が重要です。 これらは Lambda 実行ロール です。 このロールを使って メンバーアカウントへアクセスできます。 下図にこれらロールの利用フロー を示します。
このロールは主にセキュリティ周りの対応(修復) を行うためのものです。 EventBridge や Step Functions と組み合わせることで、 「セキュリティリスクのあるリソースの自動修復」など 日々のセキュリティ運用に活用できます。
以下ブログで、これらロールを使ってクロスアカウントアクセスを試しています。
メンバーアカウント全般
ログアーカイブ(Log Archive)アカウント 含む、その他メンバーアカウント には特別なIAMロールはありません。 全て「Landing Zone の維持のためのIAMロール」もしくは 「管理アカウントもしくは監査アカウントからのアクセス用IAMロール」です。
まとめ
改めてはじめの図を載せます。
- 管理アカウントの AWSControlTowerStackSetRole でメンバーアカウントに CFnスタックを展開できる
- 監査アカウントの aws-controltower-AuditReadOnlyRole でメンバーアカウントへの Lambdaアクセス(ReadOnly) ができる
- 監査アカウントの aws-controltower-AuditAdministratorRole でメンバーアカウントへの Lambdaアクセス(Read and Write) ができる
上記抑えておくと良いでしょう。