リリースノート
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat build of Keycloak 22.0
1.1. 概要
Red Hat は、新しい時代の ID およびアクセス管理である Red Hat build of Keycloak を導入できることを誇りに思います。Red Hat build of Keycloak 22.0 のリリースは、Red Hat Single Sign-On 8.0 以降のリリース計画に代わるものです。
Red Hat build of Keycloak は Keycloak プロジェクトをベースとしており、OpenID Connect、OAuth 2.0、SAML 2.0 などの一般的な標準仕様に基づいて Web SSO 機能を提供することで、Web アプリケーションのセキュリティーを保護します。Red Hat build of Keycloak サーバーは OpenID Connect または SAML ベースの ID プロバイダー (IdP) として機能し、エンタープライズユーザーディレクトリーまたはサードパーティー IdP が標準仕様ベースのセキュリティートークンを使用してアプリケーションを保護できるようにします。
Red Hat build of Keycloak は Red Hat Single Sign-on のパワーと機能性を維持しつつ、さらなるスピード、柔軟性、効率性を実現しました。Red Hat build of Keycloak は、Quarkus でビルドされたアプリケーションであり、開発者に柔軟性とモジュール性を提供します。Quarkus は、コンテナーファーストのアプローチに最適化されたフレームワークを提供し、クラウドネイティブアプリケーションを開発するための多くの機能を提供します。
1.2. 26.0.10 の更新
このリリースには、次の CVE に対する 修正された問題 と修正が含まれています。
- CVE-2024-8698 Red Hat build of Keycloak で SAML 応答の不適切な検証により権限昇格が発生する
- CVE-2024-8883 Open Redirect における脆弱なリダイレクト URI 検証結果
1.3. 26.0.10 の更新
このリリースには、次の CVE に対する 修正された問題 と修正が含まれています。
- CVE-2024-4629 攻撃者は、複数のログイン試行を並行して起動することで、ブルートフォース保護をバイパスする可能性があります。
- CVE-2024-7341 Cookie ハイジャックの可能性に対する保護を強化するために、elytron SAML アダプターでセッションを固定します。
- CVE-2024-5967 管理コンソールを介して設定された LDAP バインド認証情報の Leak。適切な権限を持つ攻撃者のマシンに hostURL を変更する可能性があります。
1.4. 26.0.10 の更新
このリリースには、CVE-2024-4540 の修正など、問題の修正 がいくつか含まれています。この修正は、PAR (プッシュされた承認要求) を使用する一部の OIDC 機密クライアントに影響するセキュリティー問題に対して行われました。OIDC 機密クライアントを PAR と一緒に使用し、HTTP リクエスト本文のパラメーターとして送信された client_id
と client_secret
に基づくクライアント認証を使用する場合 (OIDC 仕様で指定されたメソッド client_secret_post
)、このバージョンにアップグレードした後、クライアントのクライアントシークレットをローテーションすることを強く推奨します。
1.5. 22.0.10 の更新
このリリースには、修正された問題が含まれています。詳細は、解決された問題 を参照してください。
1.6. 22.0.9 の更新
このリリースには、Windows システムへのインストールのサポートが含まれています。Windows インストールの場合は、kc.sh
コマンドの代わりに kc.bat
コマンドを使用します。
このリリースには、修正された問題 も含まれています。
1.7. 22.0.8 の更新点
このリリースには、CVE-2023-6927 の修正が含まれています。
このリリースには、修正された問題 も含まれています。
1.8. 22.0.7 の更新
このリリースには、修正された問題が含まれています。詳細は、解決された問題 を参照してください。
1.9. 新機能および機能拡張
次のリリースノートは、Red Hat build of Keycloak 22.0 に適用されます。
1.9.1. Red Hat build of Quarkus をベースとした新しいディストリビューション
Red Hat build of Keycloak 22.0 は、Red Hat JBoss Enterprise Application Platform ではなく、Red Hat build of Quarkus をベースとする合理化されたディストリビューションモデルを使用します。新しいディストリビューションでは設定と操作が簡素化され、Red Hat Single Sign-On と比較して次のような変更が加えられています。
- インタラクティブなコマンドラインヘルプを使用することで、設定手順が簡素化されました。不透明で複雑な XML ファイルを編集する代わりに、ファイル、CLI、環境変数、暗号化されたキーストアなどの複数の設定ソースから選択できます。
- 起動時間が短縮され、メモリー使用量が削減されました。サーバーの分散が小さく、コンテナーイメージに含まれる依存関係が少なく、Red Hat build of Keycloak が複数の最適化を実行するため、実行時のパフォーマンスが向上します。
- PostgreSQL、MariaDB、SQL Server、MySQL 用の JDBC ドライバーがディストリビューションに含まれるようになりました。
- 機能の更新と問題の修正が迅速化されました。Red Hat build of Keycloak のライフサイクルは、Keycloak と緊密に連携しています。つまり、コードベースがアップストリームに近く、イノベーションを伴うアップグレードをより迅速に提供できます。
- ビルトインメトリクスをサポートしました。
次の変更により、コンテナーイメージのセキュリティーが強化されました。
- イメージは、UBI8 ではなく UBI9 ベースになりました。
- -minimal は、-micro に置き換えられました。
1.9.2. 新しい Operator
Red Hat build of Keycloak 22 では、最新のクラウドネイティブ環境で新しい Red Hat build of Quarkus ベースのディストリビューションを最大限に活用するために、再考されたカスタムリソース (CR) を備えた新しい OpenShift Operator が導入されています。その結果として生じる変更により、Operator の機能が拡張され、Red Hat Single Sign-On Operator と比較して最も顕著な制限のいくつかが削除されました。
- Keycloak CR を介した Red Hat build of Keycloak サーバー設定のフルサポート
- Operator の導入をシンプルにする、設定 UX とベアメタルインストールの緊密な調整
- Red Hat build of Keycloak サーバーがサポートするすべてのデータベースのサポート
- Realm Import CR は完全な Realm 表現のキャプチャーをサポート (Red Hat Single Sign-On Operator の Realm CR では限定されたいくつかのフィールドのみ)
1.9.3. 管理コンソール v2
管理コンソール v2 は、より使いやすく、アクセスしやすいように再設計されました。v2 コンソールは、クライアントアプリケーションの作成、ユーザーの管理、セッションの監視などの同じ機能を提供しますが、これらのアクションをはるかに簡単に実行できるようになりました。
1.9.3.1. ページの再編成
管理コンソール v1 には、コントロールの長いリストが埋め込まれた多くのページがありました。そのため、下部にある高度な機能は気付かれにくくなっていました。v2 コンソールではそのようなページが改訂され、一般的なコントロールはグループ化され、高度な機能は独自のタブに移動されました。
コントロールを高度なグループと一般的なグループに分類
1.9.3.2. ツールチップの使いやすさが向上
v1 コンソールでは、フィールドの上にマウスを置くと、設定する必要があるフィールドがツールヒントによってブロックされます。v2 コンソールでは、疑問符 (?) をクリックするとツールチップが表示されます。熟練したユーザーであっても、すべてのコントロールの意味を思い出すことはできないため、このツールチップは重要です。
ツールチップが改善されフィールド名が非表示にならない
1.9.3.4. アクセシビリティの強化
v2 コンソールでは、視覚障害のあるユーザーやスクリーンリーダーを使用するユーザーに優れたユーザーエクスペリエンスを提供するために、アクセシビリティが大幅に改善されました。以下に例を示します。
- 弱視または色覚異常のあるユーザー向けに、テキスト要素が WCAG 2 AA コントラスト比のしきい値を満たすようになりました。これにより、背景色に対して明瞭なコントラストを提供が可能になりました。
- スクリーンリーダーを使用するユーザー向けに、フォーム要素にはラベルが含まれ、すべての入力フィールドにはアクセス可能な名前が付けられました。また、イメージに代替テキストが追加されました。
- インタラクティブコントロールの場合、フォーカス可能な各要素にアクティブな一意の ID が割り当てられました。これにより混乱がなくなり、ナビゲーションが容易になりました。
新しいデザインには多くの改善が盛り込まれ、すべての機能を維持しつつ、フローと仕組みが大幅に改善しました。ただし、OAuth フローを使用しないクライアントである bearer-only クライアントにおいては変更点が 1 つあります。このアクセスタイプはクライアントを作成するときに選択できなくなりましたが、bearer-only スイッチはサーバー側にまだ存在します。詳細は、サーバー管理ガイド を参照してください。
1.9.4. FIPS バージョン 140-2 のサポート
Red Hat build of Keycloak 22.0 を FIPS 140-2 対応環境にデプロイするためのサポートが利用可能です。詳細は、FIPS 140-2 を参照してください。
1.9.5. OpenJDK 17 のサポート
Red Hat build of Keycloak は、サーバーとアダプターの両方で OpenJDK 17 をサポートします。
- Red Hat build of Keycloak サーバーは、OpenJDK 17 でのみサポートされます。
- アダプターは OpenJDK 11 および 17 でのみサポートされます。
1.9.6. アダプターのサポート
Red Hat build of Keycloak 22 以降、以下の Java クライアントアダプターはリリースされなくなりました。
- JBoss EAP 6
- JBoss EAP 7
- Spring Boot
- JBoss Fuse 6
- JBoss Fuse 7
OpenID Connect の初期リリースとは対照的に、このプロトコルは現在 Java エコシステム全体で広くサポートされており、アプリケーションサーバーやフレームワークなどのテクノロジースタックから利用可能な機能を使用することで、はるかに優れた相互運用性とサポートが実現されています。
これらの機能は現在サポートが終了しており、Red Hat Single Sign-On 7.6 からのみ利用可能です。したがって、長期サポートが終了する前に、アプリケーションで代替となるものを検討してください。
Red Hat build of Keycloak と Red Hat Single Sign-On クライアントアダプターの統合で問題が見つかった場合は、管理コンソールのケースでクライアント設定から互換モードを設定できるようになりました。そのため、古いクライアントアダプターとの互換性を維持するために、Red Hat build of Keycloak サーバーの機能を一部無効にできます。詳細は、各設定のツールチップを参照してください。
詳細は、移行ガイド を参照してください。
1.9.7. その他の改善点
Red Hat build of Keycloak 22.0 には、Red Hat Single Sign-On 7.6 と比較して以下の点が改善されました。
1.9.7.1. SAML バックチャネルログアウト
Red Hat build of Keycloak 22.0 には、SAML SOAP バックチャネルシングルログアウトが含まれており、Red Hat build of Keycloak に登録された SAML クライアントに実際のバックチャネルログアウト機能を提供します。この機能により、SAML クライアントによって SOAP バインディング経由で送信されたログアウト要求を受信できます。
1.9.7.2. OIDC ログアウト
Red Hat Single Sign-On 7.6 には、OIDC ログアウトのサポートが含まれています。Red Hat build of Keycloak 22.0 には、OIDC ログアウトが次のとおり改善されました。
-
client_id
パラメーターをサポートします。これは、OIDC RP-Initiated Logout 1.0 仕様に基づいています。この機能は、id_token_hint
パラメーターが使用できない場合に、ログアウト後の URI リダイレクト検証にどのクライアントを使用する必要があるかを検出するのに役立ちます。id_token_hint
パラメーターを使用せずにclient_id
パラメーターのみを使用した場合でも、ログアウト確認画面をユーザーに表示する必要があるため、ユーザーにログアウト確認画面を表示したくない場合は、クライアントにid_token_hint
パラメーターを使用することを推奨します。 -
Valid Post Logout Redirect URIs
設定オプションが OIDC クライアントに追加されました。これは、OIDC 仕様に準拠しています。ログインおよびログアウト後のリダイレクトには、別のリダイレクト URI セットを使用できます。Valid Post Logout Redirect URIs
に使用される値+
は、Valid Redirect URIs
オプションで指定されたのと同じリダイレクト URI のセットがログアウトに使用されることを意味します。この変更は、下位互換性のため、以前のバージョンから移行するときのデフォルトの動作にも一致します。
詳細は、サーバー管理ガイドの OIDC ログアウト を参照してください。
1.9.7.3. 属性によるグループの検索
属性を指定してクライアントを検索するのと同じ方法で、Admin REST API を使用して属性を指定してグループを検索できるようになりました。
1.9.7.4. カスタム属性に基づくユーザー数のサポート
User API は、カスタム属性に基づくユーザー数のクエリーをサポートするようになりました。/{realm}/users/count エンドポイントには、新しい q
パラメーターが含まれています。想定される形式は以下のとおりです。
q=<name>:<value> <attribute-name>:<value>
q=<name>:<value> <attribute-name>:<value>
1.9.7.5. アカウントコンソールでのグループメンバーシップの表示
ユーザーは、アカウントコンソールでグループメンバーシップを表示できるようになりました。コンソールにグループを表示する場合、ユーザーには account, view-groups オプションが必要です。
1.9.7.6. OpenID Connect アイデンティティープロバイダーの必須のクレーム設定
OpenID Connect アイデンティティプロバイダーは、アイデンティティプロバイダーによって発行された ID トークンに特定のクレームが必要であることを指定する新しい設定をサポートします。そうでない場合、ユーザーはこのブローカーを介して認証できません。
このオプションはデフォルトでは無効になっています。有効にすると、フィルタリングする JWT トークンクレームの名前と一致する値を指定できます (正規表現形式がサポートされます)。
1.9.7.7. OpenID Connect アイデンティティープロバイダーでの JWE 暗号化 ID トークンと UserInfo レスポンスのサポート
OpenID Connect アイデンティティープロバイダーは、ID トークンと UserInfo レスポンスの Json Web Encryption (JWE) をサポートするようになりました。プロバイダーは、選択された暗号化アルゴリズムに対して定義されたレルムキーを使用して復号化を実行します。
1.9.7.8. ハードコードされたグループマッパー
新しいハードコードされたグループマッパーを使用すると、アイデンティティプロバイダーから仲介されたユーザーに特定のグループを追加できます。
1.9.7.9. ユーザーセッションノートマッパー
新しいユーザーセッションノートマッパーを使用すると、クレームをユーザーセッションノートにマッピングできます。
1.9.7.10. LDAP と Kerberos の統合の改善点
Red Hat build of Keycloak は、レルム内の複数の LDAP プロバイダーをサポートし、同じ Kerberos レルムとの Kerberos 統合をサポートします。LDAP プロバイダーが Kerberos/SPNEGO を通じて認証されたユーザーを見つけることができない場合、 Red Hat build of Keycloak は次の LDAP プロバイダーにフォールバックしようとします。Red Hat build of Keycloak では、単一の LDAP プロバイダーが相互に信頼している複数の Kerberos レルムをサポートする場合のサポートも強化されています。
1.10. テクノロジープレビュー機能と開発者プレビュー機能
Red Hat build of Keycloak には、いくつかのテクノロジープレビュー機能と開発者プレビュー機能が含まれています。これらの機能は、絶対に実稼働環境で使用しないでください。これらの機能はデフォルトでは無効になっており、今後のリリースで変更または削除される可能性があります。テクノロジープレビュー機能と開発者プレビュー機能の詳細は、開発者プレビュー機能とテクノロジープレビュー機能 を参照してください。
Red Hat build of Keycloak には、いくつかのテクノロジープレビュー機能と開発者プレビュー機能が含まれています。これらの機能は、絶対に実稼働環境で使用しないでください。これらの機能はデフォルトでは無効になっており、今後のリリースで変更または削除される可能性があります。テクノロジープレビュー機能と開発者プレビュー機能の詳細は、開発者プレビュー機能とテクノロジープレビュー機能 を参照してください。
次のテクノロジープレビュー機能があります。詳細な説明は、サーバー管理ガイド を参照してください。
- クライアントシークレットのローテーション。シークレット漏洩などの問題を軽減してセキュリティーを強化します。
- リカバリーコード。2 要素認証の代替として。
- ユーザープロファイル設定。宣言型スタイルを使用し、プログレッシブプロファイリングをサポートします。
- スクリプト。JavaScript を使用してカスタム認証システムを作成するオプション。
- メールフローの更新。メールアドレス変更時にユーザーをサポートします。
次の開発者プレビュー機能があります。開発者プレビュー機能のドキュメントはありません。
- トークン交換。一連の認証情報またはトークンを使用して、まったく異なるトークンを取得するプロセス。以前はテクノロジープレビュー機能でした。
- レルムを管理するための制限付きアクセスポリシーを割り当てる、詳細な管理者権限。以前はテクノロジープレビュー機能でした。
- マップストレージ。レルム情報を他のデータベースやストアに保存するための代替方法です。
1.11. 削除された機能と非推奨となった機能
次の機能が削除されました。
- JBoss EAP 6 および 7 の OpenID Connect アダプター
- Spring Boot の OpenID Connect アダプター
- Java Servlet Filter の OpenID Connect アダプター
- JBoss EAP 6 および 7 の SAML アダプター
- アカウントコンソール v1
- 管理コンソール v1
- OpenShift 3 内部 IdP を Red Hat build of Keycloak に置き換えるテクノロジープレビュー機能
- Operator のクライアントおよびユーザー CR (一時的に削除)
- 従来のクロスサイトレプリケーション (以前はテクノロジープレビュー機能)
- データプロバイダー、ユーザーセッションプロバイダーに適用される非推奨のメソッド。Javadoc に記載されている、対応する置き換えを確認してください。
この機能は非推奨です。
- Red Hat build of Keycloak サーバーから直接 Red Hat build of Keycloak JavaScript アダプターをロードする機能。
1.12. 修正された問題
各リリースには問題の修正が含まれています。
- Red Hat build of Keycloak 26.0.10 で修正された問題
- Red Hat build of Keycloak 26.0.10 で修正された問題
- Red Hat build of Keycloak 26.0.10 で修正された問題
- Red Hat build of Keycloak 22.0.10 で修正された問題。
- Red Hat build of Keycloak 22.0.9 で修正された問題。
- Red Hat build of Keycloak 22.0.8 で修正された問題。
- Red Hat build of Keycloak 22.0.7 で修正された問題。
1.13. 既知の問題
バージョン 22.0.10 には、次の既知の問題が含まれます。
- RHBK-721 - アカウントコンソールにカスタム属性を追加する手順が機能しない
1.14. サポートされる構成
Red Hat build of Keycloak 22.0 でサポートされる構成については、 サポートされる構成 を参照してください。
1.15. コンポーネントの詳細
Red Hat build of Keycloak 22.0 でサポートされるコンポーネントバージョンのリストについては、コンポーネントの詳細 を参照してください。