2.4. Financial-grade API (FAPI) サポート
Red Hat build of Keycloak を使用すると、管理者はクライアントが以下の仕様に準拠していることを簡単に確認できます。
このコンプライアンスは、Red Hat build of Keycloak サーバーが、これらの仕様に記載されている認可サーバーの要件を検証することを意味します。Red Hat build of Keycloak アダプターには FAPI に対する特別なサポートがないため、クライアント (アプリケーション) 側で必要な検証は、引き続き手動で行うか、その他のサードパーティーソリューションを介して実行する必要がある場合があります。
2.4.1. FAPI クライアントプロファイル リンクのコピーリンクがクリップボードにコピーされました!
クライアントを FAPI に準拠させるには、サーバー管理ガイド の説明に従って、レルムでクライアントポリシーを設定し、FAPI サポート用のグローバルクライアントプロファイルにリンクします。このプロファイルは、各レルムで自動的に使用可能になります。クライアントが準拠する必要のある FAPI プロファイルに基づいて、fapi-1-baseline または fapi-1-advanced プロファイルのいずれかを使用できます。FAPI 2.0 仕様に準拠するために、プロファイル fapi-2-security-profile、fapi-2-dpop-security-profile、fapi-2-message-signing、および fapi-2-dpop-message-signing も使用できます。
Pushed Authorization Request (PAR) を使用する場合は、クライアントで fapi-1-baseline プロファイルと fapi-1-advanced の両方を PAR リクエストに使用することを推奨します。具体的には、fapi-1-baseline プロファイルには pkce-enforcer executor が含まれています。これは、クライアントがセキュアな S256 アルゴリズムを使用した PKCE を確実に使用するように強制するものです。これは、FAPI Advanced クライアントが PAR リクエストを使用しない限り、必須ではありません。
FAPI に準拠する方法で CIBA を使用する場合は、クライアントが fapi-1-advanced および fapi-ciba クライアントプロファイルの両方を使用していることを確認してください。fapi-ciba プロファイルには CIBA 固有のエグゼキューターのみが含まれているため、fapi-1-advanced プロファイル、または要求されるエグゼキューターを含む他のクライアントプロファイルを使用する必要があります。FAPI CIBA 仕様の要件を実施する場合は、機密クライアントまたは証明書をバインドしたアクセストークンの適用など、より多くの要件が必要になります。
2.4.2. Open Finance Brasil Financial-grade API Security Profile リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は、Open Finance Brasil Financial-grade API Security Profile 1.0 Implementers Draft 3 に準拠しています。この仕様は、一部の要件が FAPI 1 Advanced 仕様よりも厳格であるため、一部の要件を適用するには、より厳格な方法で クライアントポリシー を設定する必要が出てくる場合があります。以下の場合は、特にその必要があります。
-
クライアントが PAR を使用しない場合は、クライアントが暗号化された OIDC リクエストオブジェクトを必ず使用するようにしてください。これは、
Encryption Requiredを有効にして設定されたsecure-request-objectエグゼキューターを持つクライアントプロファイルを使用して実現できます。 -
JWS の場合は、クライアントが
PS256アルゴリズムを使用していることを確認してください。JWE の場合、クライアントはA256GCMによるRSA-OAEPを使用する必要があります。これらのアルゴリズムが適用可能なすべての クライアント設定 で、これを設定する必要がある場合があります。
2.4.3. Australia Consumer Data Right (CDR) Security Profile リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は、Australia Consumer Data Right Security Profile に準拠しています。
Australia CDR セキュリティープロファイルを適用する場合、fapi-1-advanced プロファイルを使用する必要があります。Australia CDR セキュリティープロファイルは FAPI 1.0 Advanced セキュリティープロファイルに基づいているためです。クライアントが PAR も適用する場合は、クライアントが RFC 7637 Proof Key for Code Exchange (PKCE) を適用することを確認してください。Australia CDR セキュリティープロファイルでは、PAR を適用するときに PKCE を適用することが要求されるためです。これは、pkce-enforcer エクゼキューターでクライアントプロファイルを使用することで実現できます。
2.4.4. TLS に関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
機密情報が交換されるため、すべての対話は TLS (HTTPS) で暗号化される必要があります。さらに、使用される暗号スイートおよび TLS プロトコルバージョンの FAPI 仕様にはいくつかの要件があります。これらの要件に合致するには、許可された暗号を設定することを検討してください。これは、https-protocols および https-cipher-suites オプションで設定できます。Red Hat build of Keycloak はデフォルトで TLSv1.3 を使用し、このデフォルト設定は変更する必要がないこともあります。ただし、何らかの理由で下位の TLS バージョンにフォールバックする必要がある場合は、暗号化を調整する必要がある場合があります。詳細は、TLS の設定 の章を参照してください。