View a markdown version of this page

AWS Well-Architected Agent アクセスモデル - AWS Well-Architected

AWS Well-Architected Agent はプレビューリリースにあり、変更される可能性があります。

AWS Well-Architected Agent アクセスモデル

AWS Well-Architected Agent は、サービスにリンクされたロールではなく、お客様管理の IAM ロールを使用します。この設計により、お客様の環境で AWS WA Agent が持つアクセス許可を完全に制御でき、マルチアカウントインフラストラクチャ分析に必要なクロスアカウントアクセスパターンをサポートします。

3 つのプリンシパルが IAM を介して AWS WA Agent とやり取りします。

  • 管理者ユーザーは、プロファイルの作成と管理、範囲と目標の定義、クロスアカウントアクセスの設定、および追加のお客様コンテキストの提供を行います。管理者ユーザーには、wellarchitected:CreateAgentProfile や wellarchitected:DeleteAgentProfile などのプロファイル管理アクションのアクセス許可が必要です。

  • 通常のユーザーは、生成された推奨事項にアクセスし、推奨事項のライフサイクルを更新し (完了または抑制としてマーク)、フィードバックを提供します。通常のユーザーには、アクションに対するアクセス許可 (wellarchitected:ListAgentRecommendations や wellarchitected:GetAgentRecommendation など) が必要です。

  • AWS サービスとしての AWS WA Agent は、AWS インフラストラクチャ (アカウント、リソース、アプリケーションなど) にアクセスし、コンテキスト (ビジネス目標など) を理解して推奨事項を生成します。このアクセスは、独自の IAM ロールを作成および管理するためのロールの引き渡しメカニズムを通じて実装されます。

実行ロール

プロファイルを作成するときは、実行ロールを AWS WA Agent に渡します。実行ロールは、プロファイルと同じ AWS アカウントの IAM ロールです。AWS WA Agent はこのロールを引き受けて、設定されたすべてのアカウント間でリソース検出をオーケストレーションします。実行ロールには、wellarchitected.amazonaws.com サービスプリンシパルによる引き受けを許可する信頼ポリシーと、ターゲットアカウントのアクセスロールに sts:AssumeRole を付与するアクセス許可ポリシーが必要です。AWS WA Agent は、プロファイルの作成時にロールの引き渡しチェックを実行して、指定されたロールをサービスに渡すアクセス許可が呼び出し元にあることを確認します。

クロスアカウントアクセス

AWS WA Agent は IAM ロールの連鎖を使用して、複数のアカウントのリソースにアクセスします。

  1. 管理者アカウント (プロファイルアカウント): AWS WA Agent プロファイルと実行ロールが含まれます。AWS WA Agent はこのアカウントの実行ロールを引き受けます。

  2. ターゲットアカウント: 各ターゲットアカウントには、実行ロールが引き受けることができるアクセスロールが含まれています。アクセスロールは、リソースを検出および分析するための AWS WA Agent 読み取り専用アクセス許可を付与します。

  3. ロールチェーン: AWS WA Agent は実行ロールを引き受け、次に各ターゲットアカウントのアクセスロールを引き受けます。

各アクセスロールには以下が必要です。

  • 実行ロールによる引き受けを許可する信頼ポリシー。

  • アタッチされた WellArchitectedAgentResourceScanning マネージドポリシー (推奨)、または AWS WA Agent で実行するアクションのみに範囲が限定されたカスタムポリシー。

アクセスロールには、次の信頼ポリシーテンプレートを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ProfileOwningAccountID:role/service-role/ExecutionRoleName" }, "Action": "sts:AssumeRole" } ] }

ProfileOwningAccountID を AWS WA Agent プロファイルが作成された AWS アカウント ID に置き換え、ExecutionRoleName を実行ロールの名前に置き換えます。AWS WA Agent コンソールが実行ロールを作成すると、そのロールが service-role/ パスの下に配置されます。プロファイルの詳細ページから正確な ARN を確認します。オンボーディングはアカウントごとのオプトインです。ロールのセットアップの詳細については、「AWS Well-Architected Agent の開始方法」を参照してください。

混乱した代理の防止

AWS WA Agent は、プロファイル ARN をロールの引き受けチェーンの外部 ID として使用し、設定されたプロファイルのコンテキスト外で実行ロールが使用されないようにします。また、AWS WA Agent はプロファイルの作成時にロールの引き渡しチェックを実行し、呼び出し元のプリンシパルに実行ロールをサービスに渡すアクセス許可があることを確認します。

アクセスの取り消し

お客様は、AWS WA Agent のアクセスに対するフルコントロールを常に保持します。アクセスロールから信頼ポリシーを削除するか、アクセスロールを完全に削除するか、アクティブなセッションを取り消して進行中のデータ収集を終了します。推奨事項の生成中に AWS WA Agent でアクセス許可が拒否された場合、詳細は生成レコードに表示されます。

ベストプラクティス

本番ワークロードなしで専用 AWS アカウントから AWS WA Agent プロファイルを実行します。アクセスロールの信頼ポリシーで、(ルートプリンシパルではなく) 実行ロール ARN を使用します。AWS WA Agent API アクティビティについて AWS CloudTrail をモニタリングします。アクセスロールのアクセス許可を定期的に確認し、分析が不要になったアカウントを削除します。