検索

2.7. 非推奨および削除された機能

download PDF

2.7.1. トラストストアの非推奨化

spi-truststore-file-* オプションとトラストストア関連のオプション https-trust-store-* が非推奨になりました。そのため、トラストストアマテリアルの新しいデフォルトの場所である conf/truststores を使用するか、truststore-paths オプションを使用して目的のパスを指定してください。詳細は、送信要求用の信頼済み証明書の設定 を参照してください。

spi-truststore-file-hostname-verification-policy プロパティーの代わりに tls-hostname-verifier プロパティーを使用する必要があります。

変更の副次的な影響として、トラストストアプロバイダーが常に何らかの証明書で設定されるようになりました (少なくとも、デフォルトの Java 信頼済み証明書が存在します)。この新しい動作は、Red Hat build of Keycloak の他の部分に影響を与える可能性があります。

たとえば、attestation conveyance Direct 検証に設定されている場合は、webauthn 登録が失敗する可能性があります。以前は、トラストストアプロバイダーが設定されていないと、受信証明書が検証されませんでした。しかし、現在ではこの検証は常に実行されます。この登録は invalid cert path エラーで失敗します。ドングルによって送信された証明書チェーンが Red Hat build of Keycloak によって信頼されていないためです。アテステーションを正しく実行するには、オーセンティケーターの認証局がトラストストアプロバイダーに存在している必要があります。

2.7.2. --proxy オプションの非推奨化

--proxy オプションは非推奨となり、今後のリリースで削除される予定です。次の表に、非推奨のオプションとサポートされているオプションの対応関係を示します。

非推奨の使用法新しい使用法

kc.sh (proxy オプションが設定されていない)

kc.sh

kc.sh --proxy none

kc.sh

kc.sh --proxy edge

kc.sh --proxy-headers forwarded|xforwarded --http-enabled true

kc.sh --proxy passthrough

kc.sh --hostname-port 80|443 (HTTPS が使用されているかどうかによって異なります)

kc.sh --proxy reencrypt

kc.sh --proxy-headers forwarded|xforwarded

注記

セキュリティーを強化するため、--proxy-headers オプションでは、forwarded 値と xforwarded 値の両方を同時に選択することはできません (以前の --proxy edge および --proxy reencrypt の場合と同様)。

警告

プロキシーヘッダーオプションを使用する場合は、リバースプロキシーによって Forwarded ヘッダーまたは X-Forwarded-* ヘッダーが適切に設定および上書きされることを確認してください。これらのヘッダーを設定するには、リバースプロキシーのドキュメントを参照してください。設定を誤ると、Red Hat build of Keycloak がセキュリティー上の脆弱性にさらされることになります。

Operator を使用するときにプロキシーヘッダーを設定することもできます。

apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  name: example-kc
spec:
  ...
  proxy:
    headers: forwarded|xforwarded
注記

proxy.headers フィールドが指定されていない場合、Operator はデフォルトで proxy=passthrough を暗黙的に設定して、以前の動作にフォールバックします。これにより、サーバーログに非推奨の警告が記録されます。このフォールバックは今後のリリースで削除される予定です。

2.7.3. オフラインセッションのプリロードの非推奨化

Red Hat build of Keycloak のデフォルトの動作では、オンデマンドでオフラインセッションをロードします。起動時にオフラインセッションをプリロードするという従来の動作は、非推奨になりました。起動時にプリロードすると、セッション数の増加に応じて適切にスケールすることができず、Red Hat build of Keycloak のメモリー使用量が増加するためです。古い動作は今後のリリースで削除される予定です。

非推奨でまだ削除されていない古い動作を再度有効にするには、次に示すように機能フラグと SPI オプションを使用します。

bin/kc.[sh|bat] start --features-enabled offline-session-preloading --spi-user-sessions-infinispan-preload-offline-sessions-from-database=true

UserSessionProvider の API で、メソッド getOfflineUserSessionByBrokerSessionId (RealmModel レルム、String brokerSessionId) が非推奨になりました。このメソッドの代わりに、getOfflineUserSessionByBrokerUserIdStream (RealmModel、String brokerUserId) を使用して、ユーザーのセッションを取得してから、必要に応じてブローカーセッション ID でそれらをフィルタリングします。

2.7.4. データプロバイダーおよびモデルのメソッドの非推奨化

  • RealmModel#getTopLevelGroupsStream() およびオーバーロードされたメソッドの非推奨化

2.7.5. Cookie の非推奨化と削除

Red Hat build of Keycloak での Cookie 処理のリファクタリングの一環として、Cookie の設定方法にいくつか変更が加えられています。

  • 要求がセキュアなコンテキストを介して行われる場合は、すべての Cookie にセキュア属性が設定されるようになりました。
  • WELCOME_STATE_CHECKER Cookie が SameSite=Strict に設定されるようになりました。

カスタムエクステンションの場合は、いくつかの変更が必要になることがあります。

  • LocaleSelectorProvider.KEYCLOAK_LOCALE は、Cookie が CookieProvider を通じて管理されるようになったため、非推奨になりました。
  • HttpResponse.setWriteCookiesOnTransactionComplete が削除されました。
  • HttpCookie が非推奨になりました。代わりに NewCookie.Builder を使用してください。
  • ServerCookie が非推奨になりました。代わりに NewCookie.Builder を使用してください。

2.7.6. SAML 暗号化の非推奨モードの削除

バージョン 21 で導入された SAML 暗号化の互換モードが削除されました。システムプロパティー keycloak.saml.deprecated.encryption が、サーバーによって管理されなくなりました。暗号化に古い署名鍵をまだ使用しているクライアントは、新しい IDP 設定メタデータから署名鍵を更新する必要があります。

2.7.7. モデルモジュールの名前変更

マップストアの削除後に、次のモジュールの名前が変更になりました。

  • org.keycloak:keycloak-model-legacy-privateorg.keycloak:keycloak-model-storage-private に変更
  • org.keycloak:keycloak-model-legacy-servicesorg.keycloak:keycloak-model-storage-services に変更

org.keycloak:keycloak-model-legacy モジュールが非推奨になりました。次のリリースで org.keycloak:keycloak-model-storage モジュールに置き換えられて削除される予定です。

2.7.8. RegistrationProfile フォームアクションの削除

フォームアクション RegistrationProfile (認証フローの UI では Profile Validation として表示されます) がコードベースから削除され、すべての認証フローからも削除されました。これはデフォルトですべてのレルムの組み込み登録フローに含まれていました。ユーザー属性の検証と、そのユーザーのすべての属性を含むユーザーの作成は、RegistrationUserCreation フォームアクションによって処理されるため、RegistrationProfile は不要になります。独自のプロバイダーで RegistrationProfile クラスを使用していない限り、通常、この変更に関するさらなる対処は不要です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.