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 のロールを引き受けます。これは、コントローラ インスタンスが関連付けられるロールです。
手順
- 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"
}
}
- 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>"
}
]
}
- に移動して、[ロールの作成] をクリックします。[AWS サービス] を選択し、ロール タイプとして [Amazon EC2] を選択し、[次へ: 権限] をクリックします。
- [適用 - ポリシー] で、前の手順で作成した Cross-Account-AssumeRole-Policy と、コントローラの内部処理に必要な AviController-EC2-Policy を選択します。
- ロール名として IT-AviController-role を指定して、説明(オプション)を入力し、[ロールの作成] をクリックします。両方のポリシーが適用されるようになったか確認します。