第2章 リリース固有の変更


2.1. サーバー設定の変更

2.1.1. 新しいホスト名オプション

古いホスト名オプションが削除されたため、ホスト名 v2 オプションがデフォルトでサポートされます。

必要な移行のリスト:

古いオプション新しいオプション

hostname <hostname>
hostname-url <url>
hostname-path <path>
hostname-port <port>

hostname <hostname/url>

hostname-admin <hostname>
hostname-admin-url <url>

hostname-admin <url>

hostname-strict-backchannel <true/false>

hostname-backchannel-dynamic <true/false>

ご覧のとおり、hostname および hostname-admin オプションの *-url 接尾辞は削除されました。オプション hostname は、ホスト名と URL の両方を受け入れますが、hostname-admin は現在完全な URL のみを受け入れます。

また、pathport を個別に設定する方法はありません。これは、hostnamehostname-admin オプションの完全な URL を指定することで実現できます。

ポートが URL の一部でない場合は、受信リクエストヘッダーから動的に解決されます。

HTTPS は、hostname および hostname-admin URL の一部でない限り、強制されなくなりました。指定されていない場合、使用されるプロトコル (http/https) は受信リクエストから動的に解決されます。hostname-strict-https オプションは削除されました。

削除されたオプション

hostname-url

hostname-admin-url

hostname-path

hostname-port

hostname-strict-backchannel

hostname-strict-https

2.1.1.1. 例

簡略表記

# Hostname v1
bin/kc.[sh|bat] start --hostname=mykeycloak.org --https-port=8543 --hostname-path=/auth --hostname-strict-https=true

# Hostname v2
bin/kc.[sh|bat] start --hostname=https://mykeycloak.org:8543/auth

例からわかるように、URL のすべての部分を単一の hostname オプションを使用して指定できるようになり、ホスト名のセットアッププロセスが簡素化されました。HTTPS は hostname-strict-https オプションによって強制されるのではなく、ホスト名 URL で指定することによって強制されることに注意してください。

バックチャネル設定

# Hostname v1
bin/kc.[sh|bat] start --hostname=mykeycloak.org --hostname-strict-backchannel=true

# Hostname v2
bin/kc.[sh|bat] start --hostname=mykeycloak.org --hostname-backchannel-dynamic=false

バックエンドエンドポイントとフロントエンドエンドポイントの両方に同じ URL を使用する場合は、動作が変更することに注意してください。以前の hostname v1 では、バックチャネル URL はリクエストヘッダーから動的に解決されていました。したがって、必要な結果を得るには、hostname-strict-backchannel=true を指定する必要がありました。

ホスト名 v2 の場合、バックチャネル URL はフロントエンドの URL とすでに同じです。リクエストヘッダーから動的に解決するには、hostname-backchannel-dynamic=true を設定し、hostname オプションに完全な URL を指定する必要があります。

詳細とより包括的なシナリオは、ホスト名の設定 (v2) を参照してください。

2.1.2. kcadm と kcreg の変更

kcadm と kcreg がオプションとパラメーターを解析して処理する方法が変更されました。使用方法エラー、間違ったオプションまたはパラメーターからのエラーメッセージは、以前のバージョンとは若干異なる場合があります。また、使用方法エラーの場合、終了コードは 1 ではなく 2 になります。

2.1.3. グループパス内のスラッシュのエスケープ

Red Hat build of Keycloak はグループパス内のスラッシュをエスケープしたことはありません。そのため、top の子である group/slash という名前のグループは、完全なパス /top/group/slash を使用しますが、これは明らかに誤解を招きます。このバージョンから、サーバーを起動して名前内のスラッシュをエスケープできるようになりました。

bin/kc.[sh|bat] start --spi-group-jpa-escape-slashes-in-group-path=true

エスケープ文字はチルダ文字 ~ です。前の例では、パスは /top/group~/slash になります。エスケープは、最後のスラッシュを階層区切りではなく、名前の一部としてマークします。

エスケープは動作の変更を表すため、現在デフォルトでは無効になっています。ただし、エスケープを有効にすることが推奨されており、今後のバージョンではこれがデフォルトになる可能性があります。

2.1.4. --import-realm オプションはマスターレルムをインポートできる

マスターレルムが存在する前に、--import-realm オプションを指定して start または start-dev コマンドを実行すると、インポートマテリアルにマスターレルムが存在する場合はインポートされます。以前の動作では、マスターレルムが最初に作成され、その後そのインポートがスキップされていました。

2.1.5. --optimized 起動オプションの追加検証

--optimized 起動オプションでは、最初に最適化されたサーバーイメージをビルドすることが必要になりました。これは、最初に kc.sh|bat build を実行するか、--optimized フラグなしで他の任意のサーバーコマンド (startexportimport など) を実行することによって実現できます。

2.1.6. ランタイムで cache オプションを指定する

オプション cachecache-stackcache-config-file はビルドオプションではなくなり、ランタイム時のみ指定できます。これにより、ビルドフェーズを実行してイメージを再ビルドする必要がなくなります。これらは build フェーズでは認識されないため、build フェーズから削除して runtime フェーズに追加する必要があることに注意してください。現在のキャッシュオプションを runtime フェーズに追加しない場合、Red Hat build of Keycloak はデフォルトのキャッシュ設定に戻ります。

2.1.7. HTTP レスポンスの消費時にメモリー使用量を制限する

ブローカリングなどの一部のシナリオでは、Red Hat build of Keycloak は HTTP を使用して外部サーバーと通信します。これらのプロバイダーが大量のデータを送信した場合にサービス拒否が発生するのを回避するために、Red Hat build of Keycloak では、デフォルトで応答が 10 MB に制限されるようになりました。

ユーザーは、プロバイダー設定オプション spi-connections-http-client-default-max-consumed-response-size を設定することでこの制限を設定できます。

消費されるレスポンスを 1 MB に制限する

bin/kc.[sh|bat] --spi-connections-http-client-default-max-consumed-response-size=1000000

2.1.8. kc.sh/bat インポートプレースホルダーの置換

kc.[sh|bat] import コマンドでプレースホルダーの置換が有効になりました。以前は、プレースホルダーの置換は起動時のレルムのインポートに対してのみ有効になっていました。

import コマンドのプレースホルダー置換を無効にする場合は、システムプロパティー -Dkeycloak.migration.replace-placeholders=false を追加します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.