Red Hat SSO改めRed Hat build of Keycloakの変更点やマイグレーション情報について

※この記事は Red Hat Advent Calendar 2023 の 18日目の記事です。

qiita.com

Red Hatのソリューションアーキテクトの井上たかひろです。

Red Hat SSO(Single sing-on)改めRed Hat build of Keycloakが2023年11月にGAになりました。
この記事では、Red Hat SSOからRed Hat build of Keycloakでの主な変更点とマイグレーション情報について記載します。

Red Hat SSOからRed Hat build of Keycloakでの主な変更点

Keycloakがメジャーになりすぎたためや、Red Hat SSOの製品名称がバクっとしてて何かわかりづらかったなどの理由がありやなしやで、 製品名称がRed Hat build of Keycloakになりました。

Keycloakは、2023年4月にCNCFでIncubating Projectで採択されてもっと利用が増えそうな点なども考慮すると、アップストリームのプロジェクト名と製品名が同じなのは、わかりやすくて良いかなと個人的には思っています。

www.cncf.io

そして、Red Hat SSOからRed Hat build of Keycloakの主な変更点は以下となります。

項目 Red Hat SSO Red Hat build of Keycloak
ソフトウェア構成 ランタイムにJBoss EAPを採用 ランタイムにQuarkusを採用
バージョンアップ間隔 v7.xでは、v7.1からv7.2等
マイナーバージョンアップは約年1回
Keycloakと同じバージョン管理
22→24などで、バージョンアップは年2回を想定
サブスクリプション JBoss EAP(JBCS)に含まれる
Red Hat Runtimesに含まれる
OpenShiftに含まれる
Red Hat Runtimesに含まれる
OpenShiftに含まれる

サポート構成やソフトウェア構成に関する情報は以下をご確認ください。

Red Hat build of Keycloak Supported Configurations

Red Hat build of Keycloak Component Details

サブスクリプションに関する情報は以下をご確認ください。

Subscriptions or Entitlements Requirements for Red Hat build of Keycloak

サブスクリプションに関しては、JBoss EAPに含まれなくなっている点はご注意ください。

Red Hat build of Keycloak 22の新機能や機能強化

ランタイムがQuarkusになったことで、起動時間の短縮、処理性能向上、メモリリソース効率、コンテナ化がより容易になったなどのメリットも得られています。

OpenShift Operatorについては、作り直しされており、Operator成熟モデルがPhase4のDeep Insightになっています。

詳細は、Red Hat build of Keycloak 22のリリースノートをご確認ください。

Chapter 1. Red Hat build of Keycloak 22.0 Red Hat build of Keycloak 22.0 | Red Hat Customer Portal

Red Hat SSOからRed Hat build of Keycloakへのマイグレーション

ランタイムが、JBoss EAPからQuarkusに変わったため、起動方法や定義部分で大きな変更があり、この対応のためマイグレーションガイドをRed Hat build of Keycloakのマニュアルで整備されています。

access.redhat.com

マイグレーションガイドは、Red Hat Single Sing-on 7.6からのVMでのデプロイメント、OpenShift Operatorでのデプロイメントなどのデプロイメント別のマイグレーションや、カスタムプロバイダーやカスタムテーマの以降についても記載があります。 また、カスタムプロバイダーについては、Quarkus3.x系をベースにしているため、Java EE から Jakarta EE(Jakarta EE 10) への移行が必要となります。

最後に

簡単ではありますが、Red Hat SSOからのRed Hat build of Keycloakの変更点やマイグレーション情報について、ご紹介しました。 ランタイムがQuarkus変わる大きな変更ですが、Quarkusは環境変数で構成情報(管理者情報、DB接続情報など)を渡せるので、検証したりするのがより簡単になったなぁと思います。QuarkusのDev UI利用などはこれからの検討なのですが、その機能が使えるようになると、内部の動きもわかりやすくなるなと感じています。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。