信頼できるトークン発行者の設定
IAM アイデンティティセンターの外部認証を行うアプリケーションに対し、信頼できる ID を伝播きるようにするには、1 人以上の管理者が、信頼できるトークン発行者を設定する必要があります。信頼できるトークン発行者とは、リクエストを開始するアプリケーション (リクエスト元アプリケーション) にトークンを発行する OAuth 2.0 認可サーバーです。トークンは、これらのアプリケーションがユーザーに代わって受信側アプリケーション (AWS サービス) へのリクエストを開始することを承認します。
トピック
管理者の役割と責任の調整
場合によっては、単独の管理者が、信頼できるトークン発行者の設定に必要なすべてのタスクを実行することもあります。複数の管理者がこれらのタスクを実行する場合は、緊密な調整が必要です。以下の表は、複数の管理者がどのように連携して信頼できるトークン発行者を設定し、それを使用するように AWS サービスを設定するかを説明するものです。
注記
アプリケーションには、IAM アイデンティティセンターと統合されていて、信頼できる ID の伝播をサポートしている AWS サービスであればどれでもかまいません。
詳細については、「信頼できるトークン発行者を設定するタスク」を参照してください。
[Role] (ロール) | これらのタスクを実行する | コーディネートする |
---|---|---|
IAM アイデンティティセンター管理者 |
外部 IdP を、信頼できるトークン発行者として、IAM アイデンティティセンターコンソールに追加します。 IAM アイデンティティセンターと外部 IdP 間の正しい属性マッピングを設定するのに役立ちます。 信頼できるトークン発行者が IAM アイデンティティセンターコンソールに追加されたことを AWS サービス管理者に通知します。 |
外部 IdP (信頼できるトークン発行者) 管理者 AWS サービス管理者 |
外部 IdP (信頼できるトークン発行者) 管理者 |
トークンを発行するように外部 IdP を設定します。 IAM アイデンティティセンターと外部 IdP 間の正しい属性マッピングを設定するのに役立ちます。 対象者名 (Aud 要求) を AWS サービス管理者に提供します。 |
IAM アイデンティティセンター管理者 AWS サービス管理者 |
AWS サービス管理者 |
AWS サービスコンソールで信頼できるトークン発行者をチェックします。信頼できるトークンの発行者は、IAM アイデンティティセンター管理者が IAM アイデンティティセンターコンソールにそれを追加すると、AWS サービスコンソールに表示できるようになります。 信頼できるトークン発行者を使用するように AWS サービスを設定します。 |
IAM アイデンティティセンター管理者 外部 IdP (信頼できるトークン発行者) 管理者 |
信頼できるトークン発行者を設定するタスク
信頼できるトークン発行者を設定するには、IAM アイデンティティセンター管理者、外部 IdP (信頼できるトークン発行者) 管理者、およびアプリケーション管理者が次のタスクを完了する必要があります。
注記
アプリケーションには、IAM アイデンティティセンターと統合されていて、信頼できる ID の伝播をサポートしている AWS サービスであればどれでもかまいません。
-
信頼できるトークン発行者を IAM アイデンティティセンターに追加する — IAM アイデンティティセンターの管理者は、IAM アイデンティティセンターコンソールまたは API を使用して信頼できるトークン発行者を追加します。この設定では、以下を指定する必要があります。
-
信頼できるトークン発行者の名前。
-
OIDC ディスカバリーエンドポイント URL (IAM アイデンティティセンターコンソールでは、この URL は 発行者 URL と呼ばれます)。検出エンドポイントは、ポート 80 および 443 を介してのみ到達可能である必要があります。
-
ユーザー検索用の属性マッピング。この属性マッピングは、信頼できるトークン発行者が生成するトークンのクレームに使用されます。このクレームの値は IAM アイデンティティセンターの検索に使用されます。検索では、指定された属性を使用して IAM アイデンティティセンター内の 1 人のユーザーを取得します。
-
-
AWS サービスを IAM アイデンティティセンターに接続する — AWS サービス管理者は、アプリケーション用のコンソールまたはアプリケーション API を使用して、そのアプリケーションを IAM アイデンティティセンターに接続する必要があります。
信頼できるトークン発行者が IAM アイデンティティセンターコンソールに追加されると、AWS サービスコンソールにも表示され、AWS サービス管理者が選択できるようになります。
-
トークン交換の使用を設定する — AWS サービスコンソールでは、AWS サービス管理者は、信頼できるトークン発行者が発行したトークンを受け入れるように AWS サービスを設定します。これらのトークンは IAM アイデンティティセンターによって生成されたトークンと交換されます。これには、ステップ 1 の信頼できるトークン発行者の名前と、AWS サービスに対応する Aud クレーム値を指定する必要があります。
信頼できるトークン発行者は、発行するトークンに Aud クレーム値を入れて、そのトークンが AWS サービスによる使用を目的としていることを示します。この値を取得するには、信頼できるトークン発行者の管理者に問い合わせてください。
IAM アイデンティティセンターコンソールに信頼できるトークン発行者を追加する方法
複数の管理者がいる組織では、このタスクは IAM アイデンティティセンター管理者が実行します。IAM アイデンティティセンター管理者である場合は、信頼できるトークン発行者として使用する外部 IdP を選択する必要があります。
IAM アイデンティティセンターコンソールに信頼できるトークン発行者を追加するには
-
IAM Identity Center コンソール
を開きます。 -
[設定] を選択します。
-
[設定] ページで、[認証] タブを選択します。
-
[信頼できるトークン発行者] で [信頼できるトークン発行者を作成] を選択します。
-
「信頼できるトークンを発行するための外部 IdP を設定する」ページの「信頼できるトークン発行者の詳細」で、次の操作を行います。
-
[発行者 URL] には、信頼できる ID の伝播用のトークンを発行する外部 IdP の OIDC ディスカバリー URL を指定します。ディスカバリーエンドポイントの URL は、
.well-known/openid-configuration
まで、これを含まず貼り付ける必要があります。外部 IdP の管理者がこの URL を提供できます。注記
注: この URL は、信頼できる ID 伝搬のために発行されたトークン内の発行者 (iss) クレームの URL と一致する必要があります。
-
[信頼できるトークンの発行者名] には、IAM アイデンティティセンターとアプリケーションコンソールで、この信頼できるトークン発行者を識別する名前を入力します。
-
-
[マップ属性] で、次の操作を行います。
-
[ID プロバイダー属性] では、IAM アイデンティティセンターID ストアの属性にマップする属性をリストから選択します。
-
[IAM アイデンティティセンター属性] では、属性マッピングに対応する属性を選択します。
-
-
[タグ (オプション)] で [新しいタグを追加] を選択し、[キー] と任意で [値 (オプション)] の値を指定します。
タグの詳細については、「AWS IAM Identity Center リソースのタグ付け」を参照してください。
-
[信頼できるトークン発行者を作成] を選択します。
-
信頼できるトークン発行者の作成が完了したら、アプリケーション管理者に連絡して信頼できるトークン発行者の名前を伝えて、管理者が信頼できるトークン発行者が該当するコンソールに表示されることを確認できるようにします。
-
アプリケーション管理者は、該当するコンソールでこの信頼できるトークン発行者を選択する必要があります。これにより、信頼できる ID が伝播されるように構成されたアプリケーションからユーザーがアプリケーションにアクセスできるようになります。
IAM アイデンティティセンターコンソールで信頼できるトークン発行者の設定を表示または編集する方法
IAM アイデンティティセンターコンソールに信頼できるトークン発行者を追加すると、関連設定を表示および編集できます。
信頼できるトークン発行者の設定を編集する予定がある場合は、その信頼できるトークン発行者を使用するように設定されているアプリケーションにユーザーがアクセスできなくなる可能性があることに注意してください。ユーザーアクセスを妨げないように、設定を編集する前に、信頼できるトークン発行者を使用するように構成されているアプリケーションの管理者と連絡を取ることをお勧めします。
IAM アイデンティティセンターコンソールで信頼できるトークン発行者の設定を表示または編集するには
-
IAM Identity Center コンソール
を開きます。 -
[設定] を選択します。
-
[設定] ページで、[認証] タブを選択します。
-
[信頼できるトークン発行者] で、表示または編集する信頼できるトークン発行者を選択します。
-
[Actions] (アクション) を選択して、[Edit] (編集) を選択します。
-
[信頼できるトークンの発行者を編集] ページで、必要に応じて設定を表示または編集します。信頼できるトークンの発行者名、属性マッピング、およびタグを編集することができます。
-
[Save changes] (変更の保存) をクリックします。
-
[信頼できるトークン発行者を編集] ダイアログボックスに、変更を加えるかどうかを確認するメッセージが表示されます。[確認] を選択します。
信頼できるトークン発行者を使用するアプリケーションのセットアッププロセスおよびリクエストフロー
このセクションでは、信頼できるトークン発行者を使用して信頼できる ID の伝播を行うアプリケーションのセットアッププロセスとリクエストフローについて説明します。次の図は、このプロセスの概要を示しています。
次の手順で、このプロセスに関する追加情報を提供します。
-
IAM アイデンティティセンターと受信側の AWS マネージドアプリケーションが、信頼できるトークン発行者を使用するように設定します。詳細については、信頼できるトークン発行者を設定するタスク を参照してください。
-
リクエストフローは、ユーザーがリクエスト元のアプリケーションを開くと開始されます。
-
リクエスト元のアプリケーションは、信頼できるトークン発行者からトークンをリクエストして、受信側の AWS マネージドアプリケーションへのリクエストを開始します。ユーザーがまだ認証されていない場合、このプロセスによって認証フローがトリガーされます。このトークンには次の情報が含まれます。
-
ユーザーのサブジェクト (Sub)。
-
IAM アイデンティティセンターが IAM アイデンティティセンター内の対応するユーザーを検索するために使用する属性。
-
信頼できるトークン発行者が受信側の AWS マネージドアプリケーションに関連付ける値を含む対象者 (Aud) クレーム。他のクレームが存在する場合、これらは IAM アイデンティティセンターでは使用されません。
-
-
リクエスト元のアプリケーションまたは使用する AWS ドライバーは、トークンを IAM アイデンティティセンターに渡し、そのトークンを IAM アイデンティティセンターが生成するトークンと交換するようリクエストします。AWS ドライバーを使用する場合、このユースケースに合わせてドライバーを設定する必要がある場合があります。詳細については、関連する AWS マネージドアプリケーションのドキュメントを参照してください。
-
IAM アイデンティティセンターは OIDC Discovery エンドポイントを使用して、トークンの信頼性を検証するために使用できるパブリックキーを取得します。次に IAM アイデンティティセンターは次の処理を行います。
-
このトークンを検証します。
-
Identity Center ディレクトリを検索します。これを行うには、IAM アイデンティティセンターはトークンで指定されたマッピングされた属性を使用します。
-
ユーザーが受信側のアプリケーションにアクセスする権限を持っていることを確認します。AWS マネージドアプリケーションがユーザーとグループへの割り当てを要求するように設定されている場合、ユーザーはアプリケーションに対して直接またはグループベースの割り当てを行う必要があります。また、そうでない場合は、要求は拒否されます。AWS マネージドアプリケーションがユーザーとグループの割り当てを必要としないように設定されている場合、処理は続行されます。
注記
AWS サービスには、ユーザーとグループへの割り当てが必要かどうかを決定するデフォルト設定の構成があります。これらのアプリケーションを信頼できる ID の伝播と組み合わせて使用する予定の場合は、これらのアプリケーションの [割り当ては必須です] 設定を変更しないことをお勧めします。特定のアプリケーションリソースへのユーザーアクセスを許可するきめ細かいアクセス許可を設定した場合でも、[割り当ては必須です] 設定を変更すると、これらのリソースへのユーザーアクセスが中断されるなど、予期しない動作が発生する可能性があります。
-
リクエスト元のアプリケーションが、受信側の AWS マネージドアプリケーションに対して有効なスコープを使用するように構成されていることを確認します。
-
-
前の検証ステップが成功すると、IAM アイデンティティセンターは新しいトークンを作成します。新しいトークンは不透明 (暗号化された) トークンで、これには IAM アイデンティティセンター内の対応するユーザーの ID、受信側の AWS マネージドアプリケーションの対象者 (Aud)、およびリクエスト元のアプリケーションが受信側の AWS マネージドアプリケーションにリクエストする際に使用できるスコープが含まれます。
-
リクエスト元のアプリケーションまたはそれが使用するドライバーは、受信アプリケーションへのリソースリクエストを開始し、IAM アイデンティティセンターが生成したトークンを受信アプリケーションに渡します。
-
受信側のアプリケーションは IAM アイデンティティセンターを呼び出して、ユーザーの ID とトークンにエンコードされたスコープを取得します。Identity Center ディレクトリからユーザー属性またはユーザーのグループメンバーシップを取得するようにリクエストする場合もあります。
-
受信側のアプリケーションは、その認可設定を使用して、リクエストされたアプリケーションリソースへのアクセスがユーザーに許可されているかどうかを判断します。
-
リクエストされたアプリケーションリソースへのアクセスがユーザーに許可されている場合、受信側のアプリケーションはそのリクエストに応答します。
-
ユーザーの ID、ユーザーに代わって実行されたアクション、および受信側のアプリケーションログと CloudTrail イベントに記録されたその他のイベント。この情報を記録する具体的な方法は、アプリケーションによって異なります。