Prod-Xacc-Access を Prod AWS アカウント (112233445566) でセットアップすると、このセクションの手順で説明するように、IT AWS アカウント (123456789012) のすべてのユーザーまたはロールが適切な構成でロールを引き受けることができます。

Cross-Account-AssumeRole-policy という名前のポリシーを作成します。このポリシーは IT-AviController-Role ロールに適用されます。

前提条件

IT AWS アカウント (123456789012) で IT-NSX Advanced Load Balancer Controller-Role ロールを作成して、Prod AWS アカウント (112233445566) の Prod-Xacc-Access のロールを引き受けます。これは、コントローラ インスタンスが関連付けられるロールです。

手順

  1. IAM] > [ポリシー に移動して、ポリシーの作成 をクリックします。sts:AssumeRole アクションを含むポリシーを構成し、Prod-Xacc-Access ロールの ARN のリソース リファレンス(この例では、arn:aws:iam::112233445566:role/Prod-Xacc-Access)を指定します。
    {
              "Version": "2012-10-17",
              "Statement": {
                     "Effect": "Allow",
                     "Action": "sts:AssumeRole",
                     "Resource": "arn:aws:iam::112233445566:role/Prod-Xacc-Access"
                 }
       }
  2. JSON タブに移動して、上記の構文を入力し、ポリシーの確認 をクリックしてポリシーを保存します。複数のアカウントに適用するには、次のポリシー構文を使用します。
          {
     "Version": "2012-10-17",
      "Statement": [
         {
             "Effect": "Allow",
             "Action": "sts:AssumeRole",
             "Resource": "arn:aws:iam::<ACCOUNT-ID1>:role/<Role-Name-1>"
         },
         {
             "Effect": "Allow",
             "Action": "sts:AssumeRole",
             "Resource": "arn:aws:iam::<ACCOUNT-ID1>:role/<Role-Name-2>"
         },
         {
             "Effect": "Allow",
             "Action": "sts:AssumeRole",
             "Resource": "arn:aws:iam::<ACCOUNT-ID2>:role/<Role-Name>"
         }
     ]
      }
  3. [IAM] > [ロール] に移動して、[ロールの作成] をクリックします。[AWS サービス] を選択し、ロール タイプとして [Amazon EC2] を選択し、[次へ: 権限] をクリックします。
  4. [適用 - ポリシー] で、前の手順で作成した Cross-Account-AssumeRole-Policy と、コントローラの内部処理に必要な AviController-EC2-Policy を選択します。
  5. ロール名として IT-AviController-role を指定して、説明(オプション)を入力し、[ロールの作成] をクリックします。両方のポリシーが適用されるようになったか確認します。