アップグレードガイド
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat build of Keycloak のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
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 ビルドの Keycloak のマイナーバージョンであるバージョン 22.0.13 に適用されます。Red Hat build of Keycloak をバージョン 22.0.13 にアップグレードするには、以下の手順を以下の順序で使用します。
- Red Hat build of Keycloak サーバーをアップグレードします。
- Red Hat build of Keycloak アダプターをアップグレードします。
第2章 Red Hat build of Keycloak サーバーのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
2.1. アップグレードの準備 リンクのコピーリンクがクリップボードにコピーされました!
手順
- 設定やテーマなどの古いインストールをバックアップします。
お使いのリレーショナルデータベースのドキュメントの説明に従い、データベースをバックアップします。
アップグレード後は、データベースは古いサーバーと互換性がありません。アップグレードを元に戻す必要がある場合は、まず古いインストールを復元してから、バックアップコピーからデータベースを復元します。
- 開かれたトランザクションをすべて処理し、data/tx-object-store/ トランザクションディレクトリーを削除します。
Red Hat build of Keycloak のマイナーアップグレードでは、すべてのユーザーセッションが失われます。アップグレード後に、すべてのユーザーは再度ログインする必要があります。
2.2. サーバー ZIP ファイルのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
手順
- Red Hat build of Keycloak を Red Hat の Web サイト からダウンロードして展開します。
- ZIP ファイルを目的の場所に移動します。
アーカイブを展開します。
このファイルを解凍すると、rhbk-22.0.13 という名前のディレクトリーがなければなりません。
-
conf/、providers/、themes/を以前のインストールから新規インストールにコピーします。
2.3. データベースの移行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak では、データベーススキーマを自動的に移行することも、手動で移行することもできます。デフォルトでは、新規インストールを初めて起動すると、データベースが自動的に移行されます。
2.3.1. リレーショナルデータベースの自動移行 リンクのコピーリンクがクリップボードにコピーされました!
自動移行を実行するには、目的のデータベースに接続されているサーバーを起動します。新しいバージョンのサーバーのデータベーススキーマが変更された場合は、データベースが移行されます。
数百万ものレコードを含むサイズの大きなテーブルにインデックスを作成する場合、非常に時間がかかり、大幅なサービスの中断を引き起こす可能性があります。したがって、インデックスに許可されるレコード数を制限するためのしきい値が存在します。警告メッセージは、後で手動で適用できる SQL コマンドとともにサーバーログに表示されます。
しきい値を変更するには、デフォルトの connections-liquibase プロバイダーの値である index-creation-threshold プロパティーを設定します。
kc.[sh|bat] start --spi-connections-liquibase-default-index-creation-threshold=300000
kc.[sh|bat] start --spi-connections-liquibase-default-index-creation-threshold=300000
2.3.2. 手動によるリレーショナルデータベース移行 リンクのコピーリンクがクリップボードにコピーされました!
データベーススキーマを手動でアップグレードするには、デフォルトの connections-jpa プロバイダーの migration-strategy プロパティー値を "manual" に設定します。
kc.[sh|bat] start --spi-connections-jpa-legacy-migration-strategy=manual
kc.[sh|bat] start --spi-connections-jpa-legacy-migration-strategy=manual
この設定でサーバーを起動すると、サーバーはデータベースを移行する必要があるか確認します。必要な変更は bin/keycloak-database-update.sql SQL ファイルに書き込まれます。このファイルを確認してデータベースに対して手動で実行できます。
エクスポートされた SQL ファイルのパスと名前を変更する場合は、デフォルトの connections-jpa プロバイダーの migration-export プロパティーを設定します。
kc.[sh|bat] start --spi-connections-jpa-legacy-migration-export=<path>/<file.sql>
kc.[sh|bat] start --spi-connections-jpa-legacy-migration-export=<path>/<file.sql>
このファイルをデータベースに適用する方法の詳細は、リレーショナルデータベースのドキュメントを参照してください。変更がファイルに書き込まれると、サーバーは終了します。
第3章 Red Hat build of Keycloak アダプターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
まず Red Hat build of Keycloak サーバーをアップグレードしてから、アダプターをアップグレードすることが重要です。以前のバージョンのアダプターは新しいバージョンの Red Hat build of Keycloak サーバーで動作する可能性がありますが、以前のバージョンの Red Hat build of Keycloak サーバーは新しいバージョンのアダプターでは動作しない可能性があります。
3.1. 古いアダプターとの互換性 リンクのコピーリンクがクリップボードにコピーされました!
前述したとおり、Red Hat は、前のリリースバージョンのアダプターで動作する新しいリリースバージョンの Red Hat build of Keycloak をサポートするよう努めています。ただし、場合によっては、古いバージョンのアダプターとの互換性が損なわれる可能性のある修正を Red Hat build of Keycloak サーバー側に追加で加える必要があります。たとえば、OpenID Connect 仕様の新しいアスペクトを実装する場合に、古いクライアントアダプターバージョンは認識されませんでした。
このような場合は、互換性モードが追加されました。OpenId Connect クライアントでは、クライアント詳細が含まれるページに、Red Hat build of Keycloak 管理コンソールの OpenID Connect Compatibility Modes という名前のセクションがあります。このセクションで、古いクライアントアダプターとの互換性を維持するために、Red Hat build of Keycloak サーバーの新しい機能を無効にすることができます。詳細については、個々のスイッチのツールチップを参照してください。
3.2. EAP アダプターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Web アプリケーションにコピーされた EAP アダプターをアップグレードするには、次の手順を実行します。
手順
- 新しいアダプターアーカイブをダウンロードします。
-
EAP_HOME/modules/system/add-ons/keycloak/ディレクトリーを削除して、以前のアダプターモジュールを削除します。 -
ダウンロードしたアーカイブを
EAP_HOMEに展開します。
3.3. JavaScript アダプターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Web アプリケーションにコピーされた JavaScript アダプターをアップグレードするには、以下の手順を実行します。
手順
- 新しいアダプターアーカイブをダウンロードします。
- アプリケーションの keycloak.js ファイルは、ダウンロードしたアーカイブの keycloak.js ファイルを上書きします。
3.4. Node.js アダプターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Web アプリケーションにコピーされた Node.js アダプターをアップグレードするには、以下の手順を実行します。
手順
- 新しいアダプターアーカイブをダウンロードします。
- 既存の Node.js アダプターディレクトリーを削除します。
- 更新されたファイルをその場所に展開します。
- アプリケーションの package.json で keycloak-connect の依存関係を変更します。