

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

# 信頼できるトークン発行者によるアプリケーションの使用
<a name="using-apps-with-trusted-token-issuer"></a>

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

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

**Topics**
+ [信頼できるトークン発行者の概要](#trusted-token-issuer-overview)
+ [信頼できるトークン発行者の前提条件と考慮事項](#trusted-token-issuer-prerequisites)
+ [JTI クレームの詳細](#trusted-token-issuer-configuration-jti-claim)
+ [信頼できるトークン発行者の構成設定](trusted-token-issuer-configuration-settings.md)
+ [信頼できるトークン発行者の設定](setuptrustedtokenissuer.md)
+ [ID が強化された IAM ロールセッション](trustedidentitypropagation-identity-enhanced-iam-role-sessions.md)

## 信頼できるトークン発行者の概要
<a name="trusted-token-issuer-overview"></a>

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

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

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

**重要**  
OAuth 2.0 認可サーバーを信頼できるトークン発行者として追加するかどうかは、慎重に検討する必要があるセキュリティ上の決定です。以下のタスクを実行するには、信頼できるトークン発行者のみを選択してください。  
トークンに指定されているユーザーを認証します。
そのユーザーによる受信側のアプリケーションへのアクセスを許可します。
IAM アイデンティティセンターが IAM アイデンティティセンターが作成したトークンと交換できるトークンを生成します。

## 信頼できるトークン発行者の前提条件と考慮事項
<a name="trusted-token-issuer-prerequisites"></a>

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

  OAuth 2.0 認可サーバー (信頼できるトークン発行者) を設定する必要があります。信頼されたトークン発行者は、通常、IAM アイデンティティセンターの ID ソースとして使用する ID プロバイダーですが、必ずしもそうである必要はありません。信頼できるトークン発行者を設定する方法については、関連する ID プロバイダーのドキュメントを参照してください。
**注記**  
信頼できるトークン発行者の各ユーザーの ID を IAM アイデンティティセンターの対応するユーザーにマップさえすれば、最大 10 の信頼できるトークン発行者を IAM アイデンティティセンターで使用するように設定できます。
+ トークンを作成する OAuth 2.0 認可サーバー (信頼できるトークン発行者) には、IAM アイデンティティセンターがトークンの署名を検証するためのパブリックキーの取得に使用できる [OpenID Connect (OIDC)](https://openid.net/specs/openid-connect-discovery-1_0.html) ディスカバリーエンドポイントが必要です。詳細については、「[OIDC ディスカバリーエンドポイント URL (発行者 URL)](trusted-token-issuer-configuration-settings.md#oidc-discovery-endpoint-url)」を参照してください。
+ **信頼できるトークン発行者が発行するトークン**

  信頼できるトークン発行者からのトークンは、次の要件を満たす必要があります。
  + トークンは署名済みであり、かつ RS256 アルゴリズムを使用した [JSON Web トークン (JWT)](https://datatracker.ietf.org/doc/html/rfc7519#section-3) 形式である必要があります。
  + トークンには、次のクレームが含まれている必要があります。
    + [発行者](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1) (iss) – トークンを発行したエンティティ。この値は、信頼できるトークン発行者の OIDC 検出エンドポイント (発行者 URL) で設定されている値と一致する必要があります。
    + [対象](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2) (sub) – 認証対象ユーザー。
    + [オーディエンス](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3) (aud) – トークンの意図された受信者。これは、トークンが IAM アイデンティティセンターからトークンと交換された後のアクセス先となる AWS のサービス です。詳細については、「[Aud クレーム](trusted-token-issuer-configuration-settings.md#trusted-token-issuer-aud-claim)」を参照してください。
    + [有効期限](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4) (exp) – トークンの有効期限が切れるまでの時間。
  + トークンは、ID トークンでもアクセストークンでもかまいません。
  + トークンには、1 人の IAM アイデンティティセンターユーザーに一意にマッピングできる属性が必要です。
**注記**  
Microsoft Entra ID からの JWT のカスタム署名キーの使用はサポートされていません。Microsoft Entra ID からのトークンを信頼できるトークン発行者で使用するには、カスタム署名キーを使用できません。
+ オプションのクレーム

  IAM アイデンティティセンターは RFC 7523 で定義されているすべてのオプションのクレームをサポートしています。詳細については、この RFC の「[セクション 3: JWT 形式と処理要件](https://datatracker.ietf.org/doc/html/rfc7523#section-3)」を参照してください。

  例えば、トークンには [JTI (JWT ID) クレーム](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7) を含めることができます。このクレームが存在する場合は、同じ JTI を持つトークンがトークンの交換に再利用されるのを防ぐことができます。JTI クレームの詳細については、「[JTI クレームの詳細](#trusted-token-issuer-configuration-jti-claim)」を参照してください。
+ 信頼できるトークン発行者と連携するための IAM アイデンティティセンターの設定

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

  これを行うには、次のいずれかを実行する必要があります。
  + クロスドメイン ID 管理システム (SCIM) 2.0 プロトコルを使用して、ユーザーを IAM アイデンティティセンターと同期します。
  + IAM アイデンティティセンターでユーザーを直接作成します。

## JTI クレームの詳細
<a name="trusted-token-issuer-configuration-jti-claim"></a>

IAM アイデンティティセンターが既に交換したトークンを交換するリクエストを IAM アイデンティティセンターが受け取った場合、そのリクエストは失敗します。トークン交換のためのトークンの再利用を検出して防止するために、JTI クレームを含めることができます。IAM アイデンティティセンターは、トークン内のクレームに基づいてトークンの再利用を防止します。

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

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