信頼できるトークン発行者によるアプリケーションの使用 - AWS IAM Identity Center

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

信頼できるトークン発行者によるアプリケーションの使用

信頼できるトークン発行者は、 の外部で認証するアプリケーションで信頼できる ID 伝達を使用できます AWS。信頼できるトークン発行者があれば、これらのアプリケーションに、ユーザーに代わって AWS マネージドアプリケーションへのアクセスをリクエストすることを許可できます。

以下のトピックでは、信頼できるトークン発行者の仕組みを説明し、設定ガイダンスを提供します。

信頼できるトークン発行者の概要

信頼できる ID の伝播は、 の外部で認証するアプリケーションが AWS 、信頼できるトークン発行者を使用してユーザーに代わってリクエストを実行できるようにするメカニズムを提供します。信頼できるトークン発行者は、署名付きトークンを作成する OAuth 2.0 認証サーバーです。これらのトークンは、 AWS サービス (受信側アプリケーション) へのアクセスリクエストを開始するアプリケーション (受信側アプリケーション) を承認します。リクエスト元アプリケーションは、信頼できるトークン発行者が認証するユーザーに代わってアクセス要求を開始します。ユーザーは、信頼できるトークン発行者と IAM Identity Center の両方に知られています。

AWS リクエストを受信する サービスは、Identity Center ディレクトリで表されるユーザーとグループのメンバーシップに基づいて、リソースに対するきめ細かな承認を管理します。 AWS services は、外部トークン発行者からのトークンを直接使用することはできません。

これを解決するために、 IAM Identity Center は、リクエスト元のアプリケーション、またはリクエスト元のアプリケーションが使用する AWS ドライバーが、信頼できるトークン発行者によって発行されたトークンを IAM Identity Center によって生成されたトークンと交換する方法を提供します。IAM Identity Center によって生成されるトークンは、対応する IAM Identity Center ユーザーを参照します。リクエスト元のアプリケーションまたはドライバーは、新しいトークンを使用して受信側のアプリケーションへのリクエストを開始します。新しいトークンは IAM Identity Center の対応するユーザーを参照するため、受信側アプリケーションは Identity IAM Center で表されるユーザーまたはそのグループのメンバーシップに基づいて、リクエストされたアクセスを許可できます。

重要

信頼できるトークン発行者として追加する OAuth 2.0 認証サーバーを選択することは、慎重に検討する必要があるセキュリティ上の決定です。以下のタスクを実行するには、信頼できるトークン発行者のみを選択してください。

  • トークンに指定されているユーザーを認証します。

  • そのユーザーによる受信側のアプリケーションへのアクセスを許可します。

  • Identity Center が IAM Identity IAM Center が作成したトークンと交換できるトークンを生成します。

信頼できるトークン発行者の前提条件と考慮事項

信頼できるトークン発行者を設定する前に、次の前提条件と考慮事項を確認します。

  • 信頼できるトークン発行者の設定

    2.0 OAuth 認証サーバー (信頼できるトークン発行者) を設定する必要があります。信頼できるトークン発行者は、通常、Identity Center の ID ソースとして使用する IAM ID プロバイダーですが、その必要はありません。信頼できるトークン発行者を設定する方法については、関連する ID プロバイダーのドキュメントを参照してください。

    注記

    信頼できるトークン発行者の各ユーザーのアイデンティティを IAM Identity Center の対応するユーザーにマッピングする限り、Identity Center で使用する信頼できるトークン発行者を最大 10 IAM 人まで設定できます。

  • トークンを作成する OAuth2.0 認証サーバー (信頼できるトークン発行者) には、IAMアイデンティティセンターがトークン署名を検証するためにパブリックキーを取得するために使用できる OpenID Connect (OIDC) 検出エンドポイントが必要です。詳細については、「OIDC 検出エンドポイント URL (発行者 URL)」を参照してください。

  • 信頼できるトークン発行者が発行したトークン

    信頼できるトークン発行者からのトークンは、次の要件を満たしている必要があります。

    • トークンは、 RS256アルゴリズムを使用して署名され、JSONウェブトークン (JWT) 形式である必要があります。

    • トークンには、次のクレームが含まれている必要があります。

      • 発行者 (iss) – トークンを発行したエンティティ。この値は、信頼できるトークン発行者のOIDC検出エンドポイント (発行者URL) で設定されている値と一致する必要があります。

      • 件名 (サブ) – 認証されたユーザー。

      • 対象者 (音声) — トークンの受取人。これは、トークンが IAM Identity Center からトークンと交換された後にアクセスされる AWS サービスです。詳細については、「Aud クレーム」を参照してください。

      • 有効期限 (exp) — トークンの有効期限が切れるまでの時間。

    • トークンは、ID トークンでもアクセストークンでもかまいません。

    • トークンには、1 人の IAM Identity Center ユーザーに一意にマッピングできる 属性が必要です。

  • オプションのクレーム

    IAM Identity Center は、7523 RFC で定義されているすべてのオプションクレームをサポートします。詳細については、「セクション 3: この のJWT形式と処理要件」を参照してくださいRFC。

    例えば、トークンには JTI (JWT ID) クレーム を含めることができます。このクレームが存在する場合、同じ を持つトークンがトークン交換に再利用されるJTIのを防ぎます。JTI クレームの詳細については、「」を参照してくださいJTI クレームの詳細

  • IAM 信頼できるトークン発行者と連携するための Identity Center 設定

    また、IAMIdentity Center を有効にし、Identity Center の IAM ID ソースを設定し、信頼できるトークン発行者の ディレクトリ内のユーザーに対応するユーザーをプロビジョニングする必要があります。

    これを行うには、次のいずれかを実行する必要があります。

    • System for Cross-domain IAM Identity Management (SCIM) 2.0 プロトコルを使用して、ユーザーを Identity Center に同期します。

    • IAM Identity Center でユーザーを直接作成します。

    注記

    Active Directory ドメイン サービスを ID ソースとして使用する場合、信頼できるトークン発行者はサポートされません。

JTI クレームの詳細

IAM Identity Center が、IAMIdentity Center が既に交換したトークンの交換リクエストを受け取った場合、リクエストは失敗します。トークン交換のためのトークンの再利用を検出して防止するには、 JTIクレームを含めることができます。IAM Identity Center は、トークン内のクレームに基づいてトークンの再生から保護します。

すべての 2.0 OAuth 認証サーバーがトークンにJTIクレームを追加するわけではありません。一部の 2.0 OAuth 認証サーバーでは、カスタムクレームJTIとして を追加できない場合があります。OAuth JTIクレームの使用をサポートする 2.0 認証サーバーは、このクレームを ID トークンのみ、アクセストークンのみ、またはその両方に追加する場合があります。詳細については、2.0 OAuth 認証サーバーのドキュメントを参照してください。

トークンを交換するアプリケーションの構築については、IAMIdentity Center のAPIドキュメントを参照してください。正しいトークンを取得して交換するようにカスタマーマネージドアプリケーションを設定する方法については、そのアプリケーションのドキュメントを参照してください。

信頼できるトークン発行者の構成設定

次のセクションでは、信頼できるトークン発行者をセットアップして使用するために必要な設定について説明します。

OIDC 検出エンドポイント URL (発行者 URL)

信頼できるトークン発行者を IAM Identity Center コンソールに追加するときは、OIDC検出エンドポイント を指定する必要がありますURL。これは一般的にURL、相対 URL、 によって参照されます/.well-known/openid-configuration。IAM Identity Center コンソールでは、これは発行者 URLURLと呼ばれます。

注記

検出エンドポイントURLの を まで貼り付け、 なしで貼り付ける必要があります.well-known/openid-configuration.well-known/openid-configuration が に含まれている場合URL、信頼できるトークン発行者の設定は機能しません。IAM Identity Center はこの を検証しないためURL、 URL が正しく形成されていない場合、信頼できるトークン発行者の設定は通知なしで失敗します。

OIDC 検出エンドポイントは、ポート 80 および 430 経由でのみ到達可能であるURL必要があります。

IAM Identity Center はこれを使用してURL、信頼できるトークン発行者に関する追加情報を取得します。例えば、IAMIdentity Center はこれURLを使用して、信頼できるトークン発行者が生成するトークンを検証するために必要な情報を取得します。信頼できるトークン発行者を IAM Identity Center に追加するときは、この を指定する必要がありますURL。を見つけるにはURL、アプリケーションのトークンの生成に使用する 2.0 OAuth 認証サーバープロバイダーのドキュメントを参照するか、プロバイダーに直接お問い合わせください。

属性マッピング

属性マッピングにより、IAMIdentity Center は、信頼できるトークン発行者が発行したトークンで表されるユーザーを IAM Identity Center の単一のユーザーに一致させることができます。信頼できるトークン発行者を IAM Identity Center に追加するときは、属性マッピングを指定する必要があります。この属性マッピングは、信頼できるトークン発行者が生成するトークンのクレームに使用されます。クレームの値は Identity Center IAM の検索に使用されます。検索では、指定された属性を使用して IAM Identity Center の単一のユーザーを取得し、そのユーザーを 内のユーザーとして使用します AWS。選択したクレームは、IAMIdentity Center ID ストアで使用可能な属性の固定リスト内の 1 つの属性にマッピングする必要があります。ユーザー名、E メール、外部 ID のいずれかの IAM Identity Center ID ストア属性を選択できます。IAM Identity Center で指定する属性の値は、ユーザーごとに一意である必要があります。

Aud クレーム

Aud クレームは、トークンの対象となる対象者 (受信者) を識別します。アクセスをリクエストするアプリケーションが Identity Center にフェデレーションされていない ID プロバイダーを介して認証する場合、その ID IAM プロバイダーを信頼できるトークン発行者として設定する必要があります。アクセスリクエストを受信するアプリケーション (受信側アプリケーション) は、信頼できるトークン発行者によって生成されたトークンを IAM Identity Center によって生成されたトークンと交換する必要があります。

信頼できるトークン発行者に登録されている受信側アプリケーションの aud クレーム値を取得する方法については、信頼できるトークン発行者のドキュメントを参照するか、信頼できるトークン発行者の管理者に支援を問い合わせてください。

信頼できるトークン発行者の設定

Identity Center の外部で認証するアプリケーションの信頼できる IAM ID 伝達を有効にするには、1 人以上の管理者が信頼できるトークン発行者を設定する必要があります。信頼できるトークン発行者は、リクエストを開始するアプリケーション (リクエストするアプリケーション) OAuth にトークンを発行する 2.0 認証サーバーです。トークンは、これらのアプリケーションがユーザーに代わって受信側アプリケーション ( AWS サービス) へのリクエストを開始することを承認します。

管理者の役割と責任の調整

場合によっては、単独の管理者が、信頼できるトークン発行者の設定に必要なすべてのタスクを実行することもあります。複数の管理者がこれらのタスクを実行する場合は、緊密な調整が必要です。次の表は、複数の管理者が連携して信頼できるトークン発行者を設定し、それを使用するように AWS サービスを設定する方法を示しています。

注記

アプリケーションは、 IAM Identity Center と統合され、信頼できる ID の伝播をサポートする任意の AWS サービスにすることができます。

詳細については、「信頼できるトークン発行者を設定するタスク」を参照してください。

[Role] (ロール) これらのタスクを実行する コーディネートする
IAM Identity Center 管理者

外部 IdP を信頼できるトークン発行者として IAM Identity Center コンソールに追加します。

IAM Identity Center と外部 IdP 間の正しい属性マッピングを設定するのに役立ちます。

信頼できるトークン発行者が IAM Identity Center コンソールに追加されると、 AWS サービス管理者に通知します。

外部 IdP (信頼できるトークン発行者) 管理者

AWS サービス管理者

外部 IdP (信頼できるトークン発行者) 管理者

トークンを発行するように外部 IdP を設定します。

IAM Identity Center と外部 IdP 間の正しい属性マッピングを設定するのに役立ちます。

対象者名 (Aud 要求) を AWS サービス管理者に提供します。

IAM Identity Center 管理者

AWS サービス管理者

AWS サービス管理者

AWS サービスコンソールで信頼できるトークン発行者を確認します。信頼できるトークン発行者は、IAMIdentity Center 管理者が Identity Center コンソールに追加した後、 AWS サービスIAMコンソールに表示されます。

信頼できるトークン発行者を使用するように AWS サービスを設定します。

IAM Identity Center 管理者

外部 IdP (信頼できるトークン発行者) 管理者

信頼できるトークン発行者を設定するタスク

信頼できるトークン発行者を設定するには、IAMIdentity Center 管理者、外部 IdP (信頼できるトークン発行者) 管理者、およびアプリケーション管理者が次のタスクを完了する必要があります。

注記

アプリケーションは、 IAM Identity Center と統合され、信頼できる ID の伝播をサポートする任意の AWS サービスにすることができます。

  1. 信頼できるトークン発行者を IAM Identity Center に追加する – IAM Identity Center 管理者は、IAMIdentity Center コンソールまたは を使用して、信頼できるトークン発行者を追加しますAPIs。この設定では、以下を指定する必要があります。

    • 信頼できるトークン発行者の名前。

    • OIDC 検出エンドポイント URL (IAMIdentity Center コンソールでは、これは発行者 URLURLと呼ばれます)。検出エンドポイントは、ポート 80 および 430 経由でのみ到達可能である必要があります。

    • ユーザー検索用の属性マッピング。この属性マッピングは、信頼できるトークン発行者が生成するトークンのクレームに使用されます。クレームの値は Identity Center IAM の検索に使用されます。検索では、指定された属性を使用して IAM Identity Center で 1 人のユーザーを取得します。

  2. AWS サービスを IAM Identity Center に接続する – AWS サービス管理者は、アプリケーション のコンソールまたはアプリケーション を使用してアプリケーションを IAM Identity Center に接続する必要がありますAPIs。

    信頼できるトークン発行者が IAM Identity Center コンソールに追加されると、 AWS サービスコンソールにも表示され、 AWS サービス管理者が選択できます。

  3. トークン交換の使用を設定する – AWS サービスコンソールでは、 AWS サービス管理者は、信頼できるトークン発行者が発行したトークンを受け入れるように AWS サービスを設定します。これらのトークンは、IAMIdentity Center によって生成されたトークンと交換されます。これには、ステップ 1 で信頼されたトークン発行者の名前と、 AWS サービスに対応する Aud クレーム値を指定する必要があります。

    信頼できるトークン発行者は、発行するトークンに Aud クレーム値を入れて、そのトークンが AWS サービスによる使用を目的としていることを示します。この値を取得するには、信頼できるトークン発行者の管理者に問い合わせてください。

信頼できるトークン発行者を IAM Identity Center コンソールに追加する方法

複数の管理者を持つ組織では、このタスクは IAM Identity Center 管理者が実行します。IAM Identity Center 管理者の場合は、信頼できるトークン発行者として使用する外部 IdP を選択する必要があります。

信頼できるトークン発行者を IAM Identity Center コンソールに追加するには
  1. IAM Identity Center コンソール を開きます。

  2. [設定] を選択します。

  3. [設定] ページで、[認証] タブを選択します。

  4. [信頼できるトークン発行者] で [信頼できるトークン発行者を作成] を選択します。

  5. 信頼できるトークンを発行するための外部 IdP を設定する」ページの「信頼できるトークン発行者の詳細」で、次の操作を行います。

    • 発行者 URLには、信頼できる ID URLの伝播のためにトークンを発行する外部 IdP OIDCの検出を指定します。検出エンドポイントURLの は、 を使用するまで指定する必要があります.well-known/openid-configuration。外部 IdP の管理者は、この を提供できますURL。

      注記

      これは、信頼できる ID の伝播用に発行されたトークンURLの発行者 (iss) クレームの と一致するURL必要があります。

    • 信頼できるトークン発行者名 には、Identity Center とアプリケーションコンソールでこの信頼できるトークン発行者を識別する名前を入力します。 IAM

  6. [マップ属性] で、次の操作を行います。

    • ID プロバイダー属性 で、リストから属性を選択して Identity Center IAM ID ストアの属性にマッピングします。

    • IAM Identity Center 属性 で、属性マッピングに対応する属性を選択します。

  7. [タグ (オプション)] で [新しいタグを追加] を選択し、[キー] と任意で [値 (オプション)] の値を指定します。

    タグの詳細については、「AWS IAM Identity Center リソースのタグ付け」を参照してください。

  8. [信頼できるトークン発行者を作成] を選択します。

  9. 信頼できるトークン発行者の作成が完了したら、アプリケーション管理者に連絡して信頼できるトークン発行者の名前を伝えて、管理者が信頼できるトークン発行者が該当するコンソールに表示されることを確認できるようにします。

  10. アプリケーション管理者は、該当するコンソールでこの信頼できるトークン発行者を選択する必要があります。これにより、信頼できる ID が伝播されるように構成されたアプリケーションからユーザーがアプリケーションにアクセスできるようになります。

IAM Identity Center コンソールで信頼できるトークン発行者設定を表示または編集する方法

信頼できるトークン発行者を IAM Identity Center コンソールに追加すると、関連する設定を表示および編集できます。

信頼できるトークン発行者の設定を編集する予定がある場合は、その信頼できるトークン発行者を使用するように設定されているアプリケーションにユーザーがアクセスできなくなる可能性があることに注意してください。ユーザーアクセスを妨げないように、設定を編集する前に、信頼できるトークン発行者を使用するように構成されているアプリケーションの管理者と連絡を取ることをお勧めします。

IAM Identity Center コンソールで信頼できるトークン発行者の設定を表示または編集するには
  1. IAM Identity Center コンソール を開きます。

  2. [設定] を選択します。

  3. [設定] ページで、[認証] タブを選択します。

  4. [信頼できるトークン発行者] で、表示または編集する信頼できるトークン発行者を選択します。

  5. [Actions] (アクション) を選択して、[Edit] (編集) を選択します。

  6. [信頼できるトークンの発行者を編集] ページで、必要に応じて設定を表示または編集します。信頼できるトークンの発行者名、属性マッピング、およびタグを編集することができます。

  7. [変更の保存] を選択します。

  8. [信頼できるトークン発行者を編集] ダイアログボックスに、変更を加えるかどうかを確認するメッセージが表示されます。[確認] を選択します。

信頼できるトークン発行者を使用するアプリケーションのセットアッププロセスおよびリクエストフロー

このセクションでは、信頼できるトークン発行者を使用して信頼できる ID の伝播を行うアプリケーションのセットアッププロセスとリクエストフローについて説明します。次の図は、このプロセスの概要を示しています。

信頼できるトークン発行者を使用して信頼できる ID を伝達するアプリケーションのセットアッププロセスとリクエストフロー

次の手順で、このプロセスに関する追加情報を提供します。

  1. 信頼できるトークン発行者を使用するように IAM Identity Center と受信側の AWS マネージドアプリケーションをセットアップします。詳細については、「信頼できるトークン発行者を設定するタスク」を参照してください。

  2. リクエストフローは、ユーザーがリクエスト元のアプリケーションを開くと開始されます。

  3. リクエスト元のアプリケーションは、信頼できるトークン発行者からトークンをリクエストして、受信側の AWS マネージドアプリケーションへのリクエストを開始します。ユーザーがまだ認証されていない場合、このプロセスによって認証フローがトリガーされます。このトークンには次の情報が含まれます。

    • ユーザーのサブジェクト (Sub)。

    • IAM Identity Center が IAM Identity Center で対応するユーザーを検索するために使用する属性。

    • 信頼できるトークン発行者が受信側の AWS マネージドアプリケーションに関連付ける値を含む対象者 (Aud) クレーム。他のクレームが存在する場合、IAMIdentity Center では使用されません。

  4. リクエスト元のアプリケーションまたは使用する AWS ドライバーは、トークンを IAM Identity Center に渡し、トークンを IAM Identity Center によって生成されたトークンと交換するようリクエストします。 AWS ドライバーを使用する場合は、このユースケースに合わせてドライバーを設定する必要がある場合があります。詳細については、関連する AWS マネージドアプリケーションのドキュメントを参照してください。

  5. IAM Identity Center は OIDC Discovery エンドポイントを使用して、トークンの信頼性を検証するために使用できるパブリックキーを取得します。IAM その後、Identity Center は以下を実行します。

    • このトークンを検証します。

    • Identity Center ディレクトリを検索します。そのために、 IAM Identity Center はトークンで指定されたマッピングされた属性を使用します。

    • ユーザーが受信側のアプリケーションにアクセスする権限を持っていることを確認します。 AWS マネージドアプリケーションがユーザーおよびグループへの割り当てを要求するように設定されている場合、ユーザーはアプリケーションへの直接またはグループベースの割り当てを持っている必要があります。そうでない場合、リクエストは拒否されます。 AWS マネージドアプリケーションがユーザーとグループの割り当てを必要としないように設定されている場合、処理は続行されます。

      注記

      AWS サービスには、ユーザーとグループへの割り当てが必要かどうかを決定するデフォルト設定があります。これらのアプリケーションを信頼できる ID の伝播と組み合わせて使用する予定の場合は、これらのアプリケーションの [割り当ては必須です] 設定を変更しないことをお勧めします。特定のアプリケーションリソースへのユーザーアクセスを許可するきめ細かいアクセス許可を設定した場合でも、[割り当ては必須です] 設定を変更すると、これらのリソースへのユーザーアクセスが中断されるなど、予期しない動作が発生する可能性があります。

    • リクエスト元のアプリケーションが、受信側の AWS マネージドアプリケーションに有効なスコープを使用するように設定されていることを確認します。

  6. 前の検証ステップが成功すると、IAMIdentity Center は新しいトークンを作成します。新しいトークンは、IAMIdentity Center の対応するユーザーのアイデンティティ、受信側の AWS マネージドアプリケーションの対象者 (Aud)、受信側の AWS マネージドアプリケーションにリクエストを行うときにリクエスト元のアプリケーションが使用できるスコープを含む不透明な (暗号化された) トークンです。

  7. リクエスト元のアプリケーションまたは使用するドライバーは、受信側アプリケーションにリソースリクエストを開始し、IAMIdentity Center が生成したトークンを受信側アプリケーションに渡します。

  8. 受信側アプリケーションは IAM Identity Center を呼び出して、トークンにエンコードされたユーザーの ID とスコープを取得します。Identity Center ディレクトリからユーザー属性またはユーザーのグループメンバーシップを取得するようにリクエストする場合もあります。

  9. 受信側のアプリケーションは、その認証設定を使用して、リクエストされたアプリケーションリソースへのアクセスがユーザーに許可されているかどうかを判断します。

  10. リクエストされたアプリケーションリソースへのアクセスがユーザーに許可されている場合、受信側のアプリケーションはそのリクエストに応答します。

  11. ユーザーの ID、ユーザーに代わって実行されるアクション、および受信側のアプリケーションログと CloudTrailイベントに記録されたその他のイベント。この情報を記録する具体的な方法は、アプリケーションによって異なります。