アウトバウンド使用のためのJWTアサーションの構成
JWTアサーションを使用するには、次の前提条件を実行します。
- 「JWTユーザー・アサーション・セキュリティ・ポリシーを使用するための機密アプリケーションの構成」で生成した秘密キーを取得し、証明書ページにアップロードします。 「外部サービスに接続するための証明書のアップロード」を参照してください。
通常、サービス・プロバイダは、署名キーおよび形式の生成方法について説明します。 例については、「必要なキーとOCID」を参照してください。
- JWTヘッダーおよびJWTペイロードJSONファイルを作成します。 JWTアサーションをサポートするようにアダプタを構成するときに、「接続」ページで両方のファイルをアップロードします。
JWTペイロードJSONファイルに関する次の詳細に注意してください:
iss、exp、subおよびaud要求は必須です。Oracle Integrationは、これらの要求が存在することを検証します。 アップロードする内容は、コールしようとしているプロバイダによって異なります。 たとえば、NHSでは追加の請求が必要になる場合があります。iat(発行場所)、exp(有効期限)、nbf(前以外)およびjti(JWT ID)クレームは、JWTペイロードJSONファイルに存在する場合、動的に計算されます。 これらの要求の値を手動で指定すると、動的に計算された値に置き換えられます。- 残りの請求はオプションであり、コールしているプロバイダによって異なります。
たとえば:
JWTヘッダーJSONファイルの例 JWTペイロードJSONファイルの例 { "alg" : "RS256", "typ": "JWT", "kid": "fajwt2" }説明:
alg: 使用するアルゴリズム。typ: JWTアサーションは通常、JWTに設定されます。kid: 一意に生成され、アップロードされた署名キーに関連付けられているキー識別子。
{ "iss": "f6c9d437eed64e2a8f2b045e39e2e03f", "sub": "admin.user", "aud": "https://identity.oraclecloud.com/", "exp": "1739412427" "iat": "1727372629" "jti": "12345" }説明:
- JWT発行者(
iss): アサーションを発行したエンティティの一意の識別子。 これは通常、アサーションの署名または整合性の保護に使用されるキー・マテリアルを保持するエンティティです。 発行者の例は、OAuthクライアント(アサーションが自己発行されている場合)およびサード・パーティのセキュリティ・トークン・サービスです。 アサーションが自己発行の場合、発行者の値はクライアント識別子(client_id)になります。 アサーションがセキュリティ・トークン・サービス(STS)によって発行された場合、発行者は、認可サーバーによって認識される方法でSTSを識別する必要があります。 アサーションには発行者が含まれている必要があります。 - JWTサブジェクト(
sub): 通常、サブジェクトは、アクセス・トークンがリクエストされている認可されたアクセサ(リソース所有者または認可された委任者)を識別します。 場合によっては、匿名ユーザーを示す疑似匿名識別子やほかの値になることがあります。 クライアントが自身のかわりに動作している場合、サブジェクトはクライアントclient_idの値である必要があります。 アサーションにはサブジェクトが含まれている必要があります。 - JWTオーディエンス(
aud): アサーションを処理するパーティを識別する値。 アサーションには、認可サーバーを目的のオーディエンスとして識別するオーディエンスが含まれている必要があります。 認可サーバーは、目的のオーディエンスとして独自のアイデンティティを含まないアサーション(この場合は、Oracle Cloud Infrastructure Identity and Access Managementアイデンティティ・ドメインの場合はhttps://identity.oraclecloud.com/)を拒否する必要があります。 - 有効期限(
exp): アサーションが期限切れになる時間。 シリアライズはアサーション形式によって異なる場合がありますが、時間はタイムゾーン・コンポーネントなしでUTC形式で表す必要があります。 アサーションには、アサーションを使用できる期間を制限する期限切れエンティティが含まれている必要があります。 認可サーバーは期限切れのアサーションを拒否する必要があります(システム間で許容されるクロック・スキューに従います)。 認可サーバーは、今後不合理な属性値でexpires-atのアサーションを拒否することがあります。 - (
iat)で発行: JWTが発行された時間。 - JWT識別子(
jti): JWTの一意の識別子。 これにより、リプレイ攻撃を防止し、トークンを1回のみ使用できるようになります。