View a markdown version of this page

複数の AWS アカウントを接続する - AWS DevOps エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

複数の AWS アカウントを接続する

セカンダリ AWS アカウントを使用すると、 AWS DevOps Agent は組織内の複数の AWS アカウントのリソースを調査できます。アプリケーションが複数のアカウントにまたがる場合、セカンダリアカウントを追加すると、エージェントはインシデント調査中にすべての関連リソースを可視化できます。アプリケーションを構成するアカウントとリソースへのアクセスを増やすと、調査の精度が向上します。

前提条件

セカンダリ AWS アカウントを追加する前に、以下があることを確認してください。

  • プライマリアカウントの AWS DevOps エージェントコンソールへのアクセス

  • セカンダリ AWS アカウントへの管理アクセス

  • セカンダリアカウントでロールを作成する IAM アクセス許可

  • プライマリアカウントで IAM ロール (iam:PassRole) を渡すアクセス許可。「プライマリアカウントで必要なアクセス許可」を参照してください。

プライマリアカウントで必要なアクセス許可

セカンダリ AWS アカウントに接続または更新すると、 AWS DevOps Agent は呼び出し元のプリンシパルが IAM ロールを渡すことができることを確認します。プリンシパルは、プライマリアカウントでリクエストを行う IAM ユーザーまたはロールです。プリンシパルに がない場合iam:PassRole、リクエストは AccessDeniedExceptionという名前の HTTP 403 で失敗しますiam:PassRole。これは、プリンシパルが既に AWS DevOps エージェントへのフルアクセスを持っている場合でも発生します (例: aidevops:*)。セカンダリアカウントiam:PassRoleを追加する前に、プライマリアカウントの ID ポリシーに を追加します。

次のポリシーは、チェックに必要な最小限のアクセス許可のセットを付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<primary-account-id>:role/*", "Condition": { "StringEquals": { "iam:PassedToService": "aidevops.amazonaws.com" } } } ] }

以下に留意してください。

  • 自分のアカウントのロールワイルドカードResourceの範囲を指定します: arn:aws:iam::<primary-account-id>:role/* (または *)。特定のロール ARNs を使用しないでください。このチェックではワイルドカードリソースが使用され、個々の ARNs を対象とするポリシーでは満たされません。

  • 最小特権アクセスaidevops.amazonaws.comには、 に設定されたiam:PassedToService条件を使用します。条件のないロールワイルドカードに対するiam:PassRole許可もチェックを満たします。すでに特定のサービスiam:PassRoleの範囲を指定している場合は、 aidevops.amazonaws.comを既存の条件に追加します。

  • チェックは、セカンダリアカウントを追加するときと、セカンダリアカウントを更新するたびに実行されることに注意してください。すでに接続されているセカンダリアカウントは、次回更新するまで動作し続けます。

セカンダリ AWS アカウントの追加

以下のステップに加えて、 を使用してセカンダリアカウントAWS DevOps エージェント CLI オンボーディングガイドをプログラムで追加できます。

ステップ 1: セカンダリアカウント設定を開始する

  1. AWS マネジメントコンソールにサインインし、 AWS DevOps エージェントコンソールに移動します。

  2. エージェントスペースを選択する

  3. 機能タブに移動する

  4. クラウドセクションで、セカンダリソースサブセクションを見つけます。

  5. [Add] を選択します。

ステップ 2: ロール名を指定する

  1. ロールの名前フィールドに、セカンダリアカウントで作成するロールの名前を入力します。

  2. この名前に注意してください。セカンダリアカウントでロールを作成するときに再度使用します。

  3. コンソールで提供された信頼ポリシーをコピーし、スクラッチスペースに保存します。

ステップ 3: セカンダリアカウントにロールを作成する

  1. 新しいブラウザタブを開き、セカンダリ AWS アカウントの IAM コンソールにサインインします。

  2. IAM > ロール > ロールの作成に移動する

  3. カスタム信頼ポリシーの選択

  4. ステップ 2 からコピーした信頼ポリシーを貼り付ける

  5. [次へ] を選択します。

ステップ 4: AWS 管理ポリシーをアタッチする

  1. アクセス許可ポリシーセクションで、AIDevOpsAgentAccessPolicy を検索します。

  2. AIDevOpsAgentAccessPolicy 管理ポリシーの横にあるチェックボックスをオンにします。

  3. [次へ] を選択します。

ステップ 5: ロールに名前を付けて作成する

  1. ロール名フィールドに、ステップ 2 で指定したのと同じロール名を入力します。

  2. (オプション) ロールの目的を特定するのに役立つ説明を追加します。

  3. 信頼ポリシーとアタッチされたアクセス許可を確認する

  4. [ロールの作成] を選択します。

ステップ 6: インラインポリシーをアタッチする

  1. IAM コンソールで、先ほど作成したロールを見つけて選択します。

  2. アクセス許可タブに移動する

  3. [アクセス許可を追加][インラインポリシーを作成] の順に選択します。

  4. JSON タブに切り替える

  5. ステップ 2 で保存したポリシーを貼り付ける

  6. IAM コンソールの JSON エディタにポリシーを貼り付ける

  7. [次へ] を選択します。

  8. インラインポリシーの名前を指定します (DevOpsAgentInlinePolicy」など)。

  9. [ ポリシーの作成 ] を選択します。

ステップ 7: 設定を完了する

  1. プライマリアカウントの AWS DevOps エージェントコンソールに戻る

  2. 次へ を選択してセカンダリアカウント設定を完了します。

  3. 接続ステータスがアクティブと表示されることを確認する

必要なポリシーについて

AWS DevOps Agent では、セカンダリアカウントのリソースにアクセスするために 3 つのポリシーコンポーネントが必要です。

  • 信頼ポリシー – AWS DevOps エージェントサービスプリンシパル (aidevops.amazonaws.com) がセカンダリアカウントのロールを直接引き受けることを有効にします。このポリシーでは、混乱した代理防止を使用します。このセキュリティコントロールは、権限のないサービスが ロールを使用して リソースにアクセスするのを防ぎます。これらの条件により、プライマリアカウントのエージェントスペースのみがアクセスを開始できます。

  • AIDevOpsAgentAccessPolicy (AWS 管理ポリシー) – セカンダリアカウントのリソースを調査するために AWS DevOps Agent が必要とするコア読み取り専用アクセス許可を提供します。このポリシーは によって維持 AWS され、新機能が追加されると更新されます。

  • インラインポリシー – エージェントスペース設定に固有の追加のアクセス許可を提供します。このポリシーは、エージェントスペースの設定に基づいて生成され、特定の統合または機能のアクセス許可が含まれる場合があります。

AWS DevOps エージェントサービスは、サービスプリンシパルを通じてセカンダリアカウントのロールを直接引き受けます。信頼ポリシー条件により、プライマリアカウントのエージェントスペースのみがこのクロスアカウントアクセスを開始できます。

セカンダリアカウントの管理

  • 接続されたアカウントの表示機能タブで、セカンダリソースサブセクションは接続ステータスを持つすべての接続されたセカンダリアカウントを一覧表示します。

  • IAM ロールの更新 – アクセス許可を変更する必要がある場合は、セカンダリアカウントのロールにアタッチされているインラインポリシーを更新します。変更は即時適用されます。

  • セカンダリアカウントの削除 – セカンダリアカウントを切断するには、セカンダリソースリストでセカンダリアカウントを選択し、削除を選択します。これにより、セカンダリアカウントの IAM ロールは削除されません。