IAM ロールを準備する
IAM アイデンティティセンターのユーザーとグループに IAM ロールを割り当てる前に、以下の内容を行う必要があります。
-
対象のアカウントに関連する IAM ロールを特定し、
-
IAM ロールの信頼ポリシーに以下に示されるステートメントが含まれていることを確認してください。
ロールに既存の信頼ポリシーがある場合は、このステートメントをステートメント配列に追加します。新しいロールを作成する場合は、ポリシードキュメント全体を使用できます。このポリシーステートメントにより、アカウントアクセスマネージャーはロールを引き受けて、ユーザーに代わってコンテキストを設定できます。Condition ブロックは、アカウントアクセスマネージャーがご自身のアカウントとアカウントアクセスマネージャーのアプリケーションのみに代わり、ロールを引き受けられるようにすることで、混乱した代理問題への防御を実現します。詳細については、「ロール信頼ポリシーを更新する」を参照してください。
<your-account-id> を AWS アカウント ID に置き換え、<region> を IAM アイデンティティセンターの主なリージョンに置き換え、<application-id> をアカウントアクセスマネージャーのアプリケーション ID に置き換えます。アプリケーション ARN は、アカウントアクセスマネージャーコンソールの設定ページで確認できます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccountAccessManagerIAMRoleTrustPolicyStatement", "Effect": "Allow", "Principal": { "Service": "account-access.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Condition": { "StringEquals": { "aws:SourceAccount": "<your-account-id>", "aws:SourceArn": "arn:aws:account-access:<region>:<your-account-id>:application/<application-id>" } } } ] }
オプション – sts:TagSession。ID プロバイダー (例えば、グループメンバーシップ、部門、コストセンター) のアップストリームアサーション属性が、アカウントアクセスマネージャーが発行するセッションでプリンシパルタグとして伝播する場合、sts:TagSession を Action リストに追加します。このアクションがなくても、ロールの引き受けは成功しますが、セッションタグの伝播のみが抑制されます。ターゲットアカウントのダウンストリーム IAM ポリシーでプリンシパルタグ (aws:PrincipalTag/<key>) が使用される場合に追加し、それ以外の場合は除外してください。同じ Condition ブロックを維持します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccountAccessManagerIAMRoleTrustPolicyStatement", "Effect": "Allow", "Principal": { "Service": "account-access.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceAccount": "<your-account-id>", "aws:SourceArn": "arn:aws:account-access:<region>:<your-account-id>:application/<application-id>" } } } ] }
注記
必要に応じてこの信頼ポリシーステートメントが自動的に追加されるように、IAM ロール作成ワークフローを更新することをお勧めします。