概要

AWS Organizations のアカウント評価では、AWS 組織内のすべての AWS アカウントを一元的に管理および評価できるため、AWS 組織の依存関係をよりよく理解してナビゲートするのに役立ちます。AWS Organizations の依存関係を手動で評価するプロセスには時間がかかり、個々のアカウントの数十、場合によっては数百の AWS リソースのレビューが必要になることがあります。3 種類のスキャンを実行して、委任管理者アカウント、ID ベースおよびリソースベースのポリシー、AWS 組織で信頼できるアクセスが有効になっている AWS サービスをすべて簡単な UI から検索できるようになりました。
メリット

直感的なウェブ UI でスキャン結果を表示、調査、トラブルシューティングできます。
信頼されたアクセスが有効な25以上の AWS サービスを使用して、AWS 組織のすべての AWS アカウントで操作を実行できます。
リソースベースのポリシー、委任された管理者アカウント、信頼されたアクセスを Web UI でスキャンします。
技術的な詳細情報

このアーキテクチャは、実装ガイドと関連する AWS CloudFormation テンプレートを使用して自動的にデプロイできます。
ステップ 1
ユーザーはウェブ UI を使用してハブアカウントにログインし、Amazon Cognito ユーザープールが各ユーザーを認証します。Amazon CloudFront が、Amazon Simple Storage Service (Amazon S3) バケットからウェブ UI コンテンツを提供します。
ステップ 2
S3 バケットは、ウェブ UI をホストします。
ステップ 3
スキャンを開始すると、ウェブ UI は Amazon Cognitoからトークンを取得し、Amazon API Gatewayにリクエストを送信します。AWS WAF は、アプリケーションプログラミングインターフェイス (API) を攻撃から保護します。
このソリューションでは、ウェブアクセスコントロールリスト (ACL) と呼ばれる一連のルールを設定して、設定可能なユーザー定義のウェブセキュリティルールと条件に基づき、ウェブリクエストを許可、ブロック、またはカウントします。
注: スキャンの種類ごとにステップ 3~6 を繰り返します。
ステップ 4
API Gatewayが、ソリューションの API レイヤーを提供します。
注: スキャンの種類ごとにステップ 3~6 を繰り返します。
ステップ 5
Amazon Cognitoが API リクエストのヘッダーにあるトークンを認証します。
注: スキャンの種類ごとにステップ 3~6 を繰り返します。
ステップ 6
AWS Lambda がマイクロサービスを提供し、API リクエストを各マイクロサービスにルーティングします。ジョブ管理マイクロサービスは、ウェブ UI でユーザーが開始した各スキャンジョブの作成、削除、および履歴を処理します。
注: スキャンの種類ごとにステップ 3~6 を繰り返します。
委任管理者アカウントスキャン
ステップ 7
委任管理者アカウントスキャンのマイクロサービスは、有効になっているすべての AWS のサービスの委任管理者アカウント情報を検索し、Amazon DynamoDB テーブルに保存します。これらのアカウントは、組織内の他のメンバーアカウントの AWS アカウント管理 API オペレーションを呼び出すことができます。
委任管理者アカウントスキャン
ステップ 8
このマイクロサービスは、Organizations 管理アカウントから情報を取得します。
信頼されたアクセススキャン
ステップ 9
信頼されたアクセススキャンのマイクロサービスは、信頼されたアクセスを行える AWS Organizations 内のサービスを検索して保存します。これにより、サービスがユーザーに代わって組織とそのアカウントでタスクを実行できるようになります。このマイクロサービスは、サービスプリンシパルを DynamoDBテーブルに保存します。
信頼されたアクセススキャン
ステップ 10
このマイクロサービスは、AWS Organizations 管理アカウントから情報を取得します。
リソースベースのポリシースキャン
ステップ 11
リソースベースのポリシースキャンのマイクロサービスは、Lambda 関数を使用して非同期ジョブを開始し、AWS Step Functionsを呼び出します。
リソースベースのポリシースキャン
ステップ 12
Step Functionsステートマシンは、複数のアカウントと AWS リージョンを並行してスキャンし、リソースの詳細を検索して DynamoDBテーブルに保存します。このマイクロサービスは、組織内のアカウント全体で最大 25 の AWS のサービスをスキャンし、リソースの依存関係を特定できます。
リソースベースのポリシースキャン
ステップ 13
ステートマシンで反復するたびにLambda 関数が呼び出され、各スポークアカウントでロールを引き継ぎます。このマイクロサービスは、組織 ID または組織ユニット ID を含む可能性のあるポリシーの条件をチェックします。