分散キャッシュの設定

キャッシュレイヤーの設定方法を理解する

Keycloak は、高可用性とマルチノードのクラスタ構成向けに設計されています。現在の分散キャッシュの実装は、高性能で分散可能なインメモリデータグリッドである Infinispan 上に構築されています。

分散キャッシュの有効化

本番モードで Keycloak を起動すると (start コマンドを使用)、キャッシュが有効になり、ネットワーク内のすべての Keycloak ノードが検出されます。

デフォルトでは、キャッシュは jdbc-ping スタックを使用します。これは TCP トランスポートに基づいており、設定されたデータベースを使用してクラスタに参加するノードを追跡します。Keycloak では、定義済みのデフォルトトランスポートスタックのセットから選択するか、このガイドで後述するように、独自のカスタムスタックを定義することができます。

分散 Infinispan キャッシュを明示的に有効にするには、次のコマンドを入力します。

bin/kc.[sh|bat] start --cache=ispn

開発モードで Keycloak を起動すると (start-dev コマンドを使用)、Keycloak はローカルキャッシュのみを使用し、分散キャッシュは --cache=local オプションを暗黙的に設定することにより完全に無効になります。local キャッシュモードは、開発およびテスト目的でのみ使用することを目的としています。

キャッシュの設定

Keycloak は、conf/cache-ispn.xml に適切なデフォルト値を持つキャッシュ構成ファイルを提供します。

キャッシュ構成は、通常の Infinispan 構成ファイル です。

次の表は、Keycloak が使用する特定のキャッシュの概要を示しています。これらのキャッシュは conf/cache-ispn.xml で設定します。

キャッシュ名 キャッシュタイプ 説明

realms

ローカル

永続化されたレルムデータをキャッシュします

users

ローカル

永続化されたユーザーデータをキャッシュします

authorization

ローカル

永続化された認可データをキャッシュします

keys

ローカル

外部公開鍵をキャッシュします

crl

ローカル

X.509 認証局 CRL のキャッシュ

work

レプリケート

ノード間で無効化メッセージを伝播します

authenticationSessions

分散

認証プロセス中に作成/破棄/期限切れになる認証セッションをキャッシュします

sessions

分散

永続化されたユーザーセッションデータをキャッシュします

clientSessions

分散

永続化されたクライアントセッションデータをキャッシュします

offlineSessions

分散

永続化されたオフラインユーザーセッションデータをキャッシュします

offlineClientSessions

分散

永続化されたオフラインクライアントセッションデータをキャッシュします

loginFailures

分散

失敗したログイン、不正検出を追跡します

actionTokens

分散

アクション トークンをキャッシュします

キャッシュタイプとデフォルト

ローカルキャッシュ

Keycloak は、データベースへの不要なラウンドトリップを避けるために、永続データをローカルにキャッシュします。

次のデータは、ローカルキャッシュを使用してクラスタ内の各ノードにローカルに保持されます。

  • realms およびクライアント、ロール、グループなどの関連データ。

  • users および付与されたロールやグループメンバーシップなどの関連データ。

  • authorization およびリソース、パーミッション、ポリシーなどの関連データ。

  • keys

realms、users、authorization のローカルキャッシュは、デフォルトで最大 10,000 エントリを保持するように構成されています。ローカルキーキャッシュは、デフォルトで最大 1,000 エントリを保持でき、デフォルトで 1 時間ごとに期限切れになります。したがって、キーは外部クライアントまたはアイデンティティプロバイダーから定期的にダウンロードされる必要があります。

最適なランタイムを実現し、データベースへの追加のラウンドトリップを避けるために、各キャッシュの構成を確認して、エントリの最大数がデータベースのサイズと一致していることを確認する必要があります。キャッシュできるエントリが多いほど、サーバーがデータベースからデータをフェッチする必要が少なくなります。メモリ使用量とパフォーマンスのトレードオフを評価する必要があります。

ローカルキャッシュの無効化

ローカルキャッシュはパフォーマンスを向上させますが、マルチノード構成では課題が追加されます。

1 つの Keycloak ノードが共有データベース内のデータを更新すると、他のすべてのノードはそれを認識し、キャッシュからそのデータを無効にする必要があります。

work キャッシュはレプリケートされたキャッシュであり、これらの無効化メッセージを送信するために使用されます。このキャッシュのエントリ/メッセージは非常に短命であり、このキャッシュのサイズが時間の経過とともに大きくなることは想定されていません。

認証セッション

ユーザーが認証を試みるたびに、認証セッションが作成されます。認証プロセスが完了するか、有効期限に達すると、自動的に破棄されます。

authenticationSessions 分散キャッシュは、認証セッションと、認証プロセス中に関連付けられたその他のデータを格納するために使用されます。

分散キャッシュに依存することで、認証セッションはクラスタ内の任意のノードで使用できるようになり、ユーザーは認証状態を失うことなく任意のノードにリダイレクトできます。ただし、本番環境対応のデプロイメントでは、常にセッションアフィニティを考慮し、ユーザーをセッションが最初に作成されたノードにリダイレクトすることを優先する必要があります。そうすることで、ノード間の不要な状態転送を回避し、CPU、メモリ、ネットワークの使用率を向上させることができます。

ユーザーセッション

ユーザーが認証されると、ユーザーセッションが作成されます。ユーザーセッションは、アクティブなユーザーとその状態を追跡するため、ユーザーは資格情報を再度求められることなく、任意のアプリケーションにシームレスに認証できます。アプリケーションごとに、ユーザーはクライアントセッションで認証するため、サーバーはユーザーが認証されているアプリケーションとその状態をアプリケーションごとに追跡できます。

ユーザーおよびクライアントセッションは、ユーザーがログアウトを実行した場合、クライアントがトークン失効を実行した場合、または有効期限に達した場合に自動的に破棄されます。

セッションデータは、デフォルトでデータベースに格納され、オンデマンドで次のキャッシュにロードされます。

  • sessions

  • clientSessions

分散キャッシュに依存することで、キャッシュされたユーザーおよびクライアントセッションはクラスタ内の任意のノードで使用できるようになり、ユーザーはデータベースからセッションデータをロードする必要なく、任意のノードにリダイレクトできます。ただし、本番環境対応のデプロイメントでは、常にセッションアフィニティを考慮し、ユーザーをセッションが最初に作成されたノードにリダイレクトすることを優先する必要があります。そうすることで、ノード間の不要な状態転送を回避し、CPU、メモリ、ネットワークの使用率を向上させることができます。

ユーザーセッションおよびクライアントセッションのこれらのインメモリキャッシュは、デフォルトでノードあたり 10000 エントリに制限されており、大規模なインストールにおける Keycloak の全体的なメモリ使用量を削減します。内部キャッシュは、各キャッシュエントリに対して単一のオーナーのみで実行されます。メモリ消費量とデータベース使用率のトレードオフを考慮し、キャッシュのサイズを異ならせて設定し、Keycloak のキャッシュ構成ファイル (conf/cache-ispn.xml) を編集して、これらのキャッシュに <memory max-count="..."/> を設定します。

揮発性ユーザーセッション

デフォルトでは、ユーザーセッションはデータベースに格納され、オンデマンドでキャッシュにロードされます。ユーザーセッションをキャッシュのみに格納し、データベースの使用率を最小限に抑えるように Keycloak を構成することができます。

この設定ではすべてのセッションがインメモリに格納されるため、これに関連する 2 つの副作用があります。

  • すべての Keycloak ノードが再起動するとセッションが失われる。

  • メモリ消費量の増加。

この設定を有効にするには、次の手順に従います。

  1. キャッシュがユーザーおよびクライアントセッションの唯一の信頼できるソースであるため、エントリ数を制限せず、各エントリを少なくとも 2 つのノードにレプリケートするようにキャッシュを構成します。そのためには、Keycloak のキャッシュ構成ファイル (conf/cache-ispn.xml) を編集して、sessions および clientSessions キャッシュを次の更新で更新します。

    • <memory max-count="..."/> を削除します

    • distributed-cache タグの owners 属性を 2 以上に変更します

    sessions キャッシュの結果として得られる構成の例は、次のようになります。

    <distributed-cache name="sessions" owners="2">
        <expiration lifespan="-1"/>
    </distributed-cache>
  2. 次のコマンドを使用して persistent-user-sessions 機能を無効にします。

    bin/kc.sh start --features-disabled=persistent-user-sessions ...

multi-site 機能が有効になっている場合、persistent-user-sessions を無効にすることはできません。

オフラインユーザーセッション

OpenID Connect プロバイダーとして、サーバーはユーザーを認証し、オフライン トークンを発行することもできます。通常のユーザーセッションおよびクライアントセッションと同様に、オフライン トークンが認証成功時にサーバーによって発行されると、サーバーはオフラインユーザーセッションおよびオフラインクライアントセッションも作成します。

次のキャッシュは、オフラインセッションを格納するために使用されます。

  • offlineSessions

  • offlineClientSessions

通常のユーザーセッションおよびクライアントセッションキャッシュと同様に、オフラインユーザーセッションキャッシュおよびクライアントセッションキャッシュも、デフォルトでノードあたり 10000 エントリに制限されています。メモリから削除された項目は、必要に応じてデータベースからオンデマンドでロードされます。メモリ消費量とデータベース使用率のトレードオフを考慮し、キャッシュのサイズを異ならせて設定し、Keycloak のキャッシュ構成ファイル (conf/cache-ispn.xml) を編集して、これらのキャッシュに <memory max-count="..."/> を設定します。

パスワードブルートフォース検出

loginFailures 分散キャッシュは、失敗したログイン試行に関するデータを追跡するために使用されます。このキャッシュは、マルチノード Keycloak セットアップでブルートフォース保護機能を動作させるために必要です。

アクション トークン

アクション トークンは、ユーザーがアクションを非同期的に確認する必要があるシナリオ (たとえば、パスワード忘れフローによって送信される電子メールなど) で使用されます。actionTokens 分散キャッシュは、アクション トークンに関するメタデータを追跡するために使用されます。

キャッシュの最大サイズの設定

メモリ使用量を削減するために、特定のキャッシュに格納されるエントリ数に上限を設定することができます。キャッシュの上限を指定するには、次のコマンドライン引数 --cache-embedded-${CACHE_NAME}-max-count= を指定する必要があります。${CACHE_NAME} は、上限を適用するキャッシュの名前に置き換えます。たとえば、offlineSessions キャッシュに 1000 の上限を適用するには、--cache-embedded-offline-sessions-max-count=1000 を構成します。上限は、actionTokenauthenticationSessionsloginFailureswork キャッシュには定義できません。

可用性のためのキャッシュの設定

分散キャッシュは、クラスタ内のノードのサブセットにキャッシュエントリをレプリケートし、エントリを固定オーナーノードに割り当てます。

データの主要なソースである各分散キャッシュ (authenticationSessionsloginFailuresactionTokens) には、デフォルトで 2 つのオーナーがあります。つまり、2 つのノードが特定のキャッシュエントリのコピーを持っています。オーナーノードではないノードは、特定のキャッシュのオーナーにクエリを実行してデータを取得します。両方のオーナーノードがオフラインの場合、すべてのデータが失われます。

デフォルトのオーナー数は、少なくとも 3 つのノードを持つクラスタ構成で 1 つのノード (オーナー) の障害を乗り切るのに十分です。可用性の要件に合わせてオーナー数を自由に変更できます。オーナー数を変更するには、conf/cache-ispn.xml を開き、分散キャッシュの owners=<value> の値を目的の値に変更します。

独自のキャッシュ構成ファイルの指定

独自のキャッシュ構成ファイルを指定するには、次のコマンドを入力します。

bin/kc.[sh|bat] start --cache-config-file=my-cache-file.xml

構成ファイルは conf/ ディレクトリからの相対パスです。

リモートサーバーの CLI オプション

高可用性とマルチノードクラスタ構成のための Keycloak サーバーの構成のために、XML ファイル内の構成を簡素化する次の CLI オプション cache-remote-hostcache-remote-portcache-remote-username、および cache-remote-password が導入されました。宣言された CLI パラメータのいずれかが存在する場合、XML ファイルにリモートストアに関連する構成が存在しないことが想定されます。

安全でない Infinispan サーバーへの接続

本番環境ではセキュリティを無効にすることはお勧めしません。

開発環境またはテスト環境では、安全でない Infinispan サーバーを起動する方が簡単です。これらのユースケースでは、CLI オプション cache-remote-tls-enabled は Keycloak と Infinispan 間の暗号化 (TLS) を無効にします。Infinispan サーバーが暗号化された接続のみを受け入れるように構成されている場合、Keycloak は起動に失敗します。

CLI オプション cache-remote-username および cache-remote-password はオプションであり、設定されていない場合、Keycloak は認証情報を提示せずに Infinispan サーバーに接続します。Infinispan サーバーで認証が有効になっている場合、Keycloak は起動に失敗します。

トランスポートスタック

トランスポートスタックは、クラスタ内の Keycloak ノードが信頼性の高い方法で通信することを保証します。Keycloak は、幅広いトランスポートスタックをサポートしています。

  • jdbc-ping (デフォルト)

  • kubernetes

  • jdbc-ping-udp (非推奨)

  • tcp (非推奨)

  • udp (非推奨)

  • ec2 (非推奨)

  • azure (非推奨)

  • google (非推奨)

特定のキャッシュスタックを適用するには、次のコマンドを入力します。

bin/kc.[sh|bat] start --cache-stack=<stack>

デフォルトのスタックは、分散キャッシュが有効になっている場合は jdbc-ping に設定されています。これは、Keycloak の 26.x リリースストリームのデフォルトとの下位互換性があります。

利用可能なトランスポートスタック

次の表は、--cache-stack ランタイムオプションを使用する以外に、追加の構成なしで利用できるトランスポートスタックを示しています。

スタック名 トランスポートプロトコル 検出

jdbc-ping

TCP

JGroups JDBC_PING2 プロトコルを使用したデータベースレジストリ。

jdbc-ping-udp (非推奨)

UDP

JGroups JDBC_PING2 プロトコルを使用したデータベースレジストリ。

次の表は、--cache-stack ランタイムオプションと最小限の構成を使用して利用できるトランスポートスタックを示しています。

スタック名 トランスポートプロトコル 検出

kubernetes

TCP

JGroups DNS_PING プロトコルを使用した DNS 解決。jgroups.dns.query をヘッドレスサービス FQDN に設定する必要があります。

tcp (非推奨)

TCP

JGroups MPING プロトコルを使用した IP マルチキャスト。各クラスタに一意の jgroups.mcast_addr または jgroups.mcast_port を構成する方法については、以下を参照してください。

udp (非推奨)

UDP

JGroups PING プロトコルを使用した IP マルチキャスト。各クラスタに一意の jgroups.mcast_addr または jgroups.mcast_port を構成する方法については、以下を参照してください。

tcpudp、または jdbc-ping-udp スタックを使用する場合、各クラスタは、ノードが個別のクラスタを形成するように、異なるマルチキャストアドレスおよび/またはポートを使用する必要があります。デフォルトでは、Keycloak は jgroups.mcast_addr のマルチキャストアドレスとして 239.6.7.8 を、jgroups.mcast_port のマルチキャストポートとして 46655 を使用します。

-D<property>=<value> を使用して、JAVA_OPTS_APPEND 環境変数または CLI コマンドでプロパティを渡します。

追加のスタック

上記のいずれかのスタックを使用することをお勧めします。追加のスタックは Infinispan によって提供されていますが、それらの構成方法はこのガイドの範囲外です。詳細については、Infinispan クラスタトランスポートの設定 および JGroups スタックのカスタマイズ を参照してください。

トランスポートスタックのセキュリティ保護

TCP ベースのトランスポートスタックでは、TLS を使用した暗号化がデフォルトで有効になっています。これはデフォルト構成でもあります。TCP ベースのトランスポートスタックを使用している限り、追加の CLI オプションやキャッシュ XML の変更は必要ありません。

UDP または TCP_NIO2 に基づくトランスポートスタックを使用している場合は、次の手順に従ってトランスポートスタックの暗号化を構成します。

  1. オプション cache-embedded-mtls-enabledfalse に設定します。

  2. JGroups 暗号化ドキュメント および クラスタトランスポートの暗号化 のドキュメントに従ってください。

TLS が有効になっている場合、Keycloak は接続をセキュリティ保護するために自己署名 RSA 2048 ビット証明書を自動生成し、通信をセキュリティ保護するために TLS 1.3 を使用します。キーと証明書はデータベースに格納されるため、すべてのノードで使用できます。デフォルトでは、証明書の有効期間は 60 日であり、30 日ごとにランタイムでローテーションされます。これを変更するには、オプション cache-embedded-mtls-rotation-interval-days を使用します。

独自のキーと証明書の提供

標準的なセットアップには推奨されませんが、特定のセットアップで不可欠な場合は、トランスポートスタックの証明書を使用してキーストアを手動で構成できます。cache-embedded-mtls-key-store-file はキーストアへのパスを設定し、cache-embedded-mtls-key-store-password はそれを復号化するためのパスワードを設定します。トラストストアには、接続を受け入れるための有効な証明書が含まれており、cache-embedded-mtls-trust-store-file (トラストストアへのパス) および cache-embedded-mtls-trust-store-password (それを復号化するためのパスワード) で構成できます。不正アクセスを制限するには、常に各 Keycloak デプロイメントに自己署名証明書を使用してください。

ネットワークポート

健全な Keycloak クラスタリングを確保するには、一部のネットワークポートを開く必要があります。次の表は、jdbc-ping スタックで開く必要のある TCP ポートと、そこを通過するトラフィックの説明を示しています。

ポート プロパティ 説明

7800

jgroups.bind.port

ユニキャストデータ送信。

57800

jgroups.fd.port-offset

プロトコル FD_SOCK2 による障害検出。ソケットの突然のクローズをリッスンして、Keycloak サーバーの障害を疑います。jgroups.fd.port-offset プロパティは、jgroups.bind.port からのオフセットを定義します。

-D<property>=<value> を使用して、JAVA_OPTS_APPEND 環境変数または CLI コマンドで上記のポートを変更します。

ネットワークバインドアドレス

健全な Keycloak クラスタリングを確保するには、ネットワークポートをクラスタの他のすべてのノードからアクセス可能なインターフェイスにバインドする必要があります。

デフォルトでは、サイトローカル (ルーティング不可) IP アドレス (たとえば、192.168.0.0/16 または 10.0.0.0/8 アドレス範囲) を選択します。

アドレスをオーバーライドするには、jgroups.bind.address プロパティを設定します。

-Djgroups.bind.address=<IP> を使用して、JAVA_OPTS_APPEND 環境変数または CLI コマンドでバインドアドレスを変更します。

IPv6 のみでセットアップし、Keycloak にバインドアドレスを自動的に選択させるには、次の設定を使用します。

export JAVA_OPTS_APPEND="-Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true"

異なるネットワークでのインスタンスの実行

ファイアウォールの背後やコンテナなど、異なるネットワークで Keycloak インスタンスを実行する場合、異なるインスタンスはローカル IP アドレスで互いに到達できません。そのような場合は、ローカル IP アドレスへのポートフォワーディングルール (「仮想サーバー」と呼ばれることもあります) を設定します。

ポートフォワーディングを使用する場合は、各ノードがその外部アドレスを他のノードに正しくアドバタイズするように、次のプロパティを使用します。

プロパティ 説明

jgroups.external_port

Keycloak クラスタ内の他のインスタンスがこのノードに接続するために使用する必要があるポート。

jgroups.external_addr

Keycloak 内の他のインスタンスがこのノードに接続するために使用する必要がある IP アドレス。

-D<property>=<value> を使用して、JAVA_OPTS_APPEND 環境変数または CLI コマンドでこれを設定します。

キャッシュからのメトリクスの公開

メトリクスが有効になっている場合、キャッシュからのメトリクスは自動的に公開されます。

キャッシュメトリクスのヒストグラムを有効にするには、cache-metrics-histograms-enabledtrue に設定します。これらのメトリクスはレイテンシ分布に関するより深い洞察を提供しますが、収集するとパフォーマンスに影響を与える可能性があるため、すでに飽和状態のシステムでアクティブ化する場合は注意が必要です。

bin/kc.[sh|bat] start --metrics-enabled=true --cache-metrics-histograms-enabled=true

メトリクスを有効にする方法の詳細については、メトリクスによる洞察の獲得 を参照してください。

関連オプション

cache

高可用性のためのキャッシュメカニズムを定義します。

本番モードではデフォルトで、複数のサーバーノード間でクラスタを作成するために ispn キャッシュが使用されます。開発モードではデフォルトで、local キャッシュはクラスタリングを無効にし、開発およびテスト目的で使用することを目的としています。

CLI: --cache
Env: KC_CACHE

ispn (デフォルト)、local

cache-config-file

キャッシュ構成をロードするファイルを定義します。

構成ファイルは conf/ ディレクトリからの相対パスです。

CLI: --cache-config-file
Env: KC_CACHE_CONFIG_FILE

cache-metrics-histograms-enabled

埋め込みキャッシュのメトリクスのヒストグラムを有効にします。

CLI: --cache-metrics-histograms-enabled
Env: KC_CACHE_METRICS_HISTOGRAMS_ENABLED

メトリクスが有効になっている場合にのみ使用可能

truefalse (デフォルト)

cache-stack

クラスタ通信とノード検出に使用するデフォルトのスタックを定義します。

CLI: --cache-stack
Env: KC_CACHE_STACK

'cache' タイプが 'ispn' に設定されている場合にのみ使用可能

'jdbc-ping' を代わりに使用してください 非推奨の値: azureec2googletcpudpjdbc-ping-udp

jdbc-ping (デフォルト)、kubernetesjdbc-ping-udp (非推奨)、tcp (非推奨)、udp (非推奨)、ec2 (非推奨)、azure (非推奨)、google (非推奨)、または任意

埋め込みキャッシュ

cache-embedded-authorization-max-count

認可キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-authorization-max-count
Env: KC_CACHE_EMBEDDED_AUTHORIZATION_MAX_COUNT

cache-embedded-client-sessions-max-count

clientSessions キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-client-sessions-max-count
Env: KC_CACHE_EMBEDDED_CLIENT_SESSIONS_MAX_COUNT

埋め込み Infinispan クラスタが構成されている場合にのみ使用可能

cache-embedded-crl-max-count

crl キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-crl-max-count
Env: KC_CACHE_EMBEDDED_CRL_MAX_COUNT

cache-embedded-keys-max-count

keys キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-keys-max-count
Env: KC_CACHE_EMBEDDED_KEYS_MAX_COUNT

cache-embedded-mtls-enabled

Keycloak サーバー間のネットワーク通信を暗号化します。

キーストアとトラストストアに関する追加のパラメータが提供されていない場合、一時的なキーペアと証明書が作成され、自動的にローテーションされます。これは、標準的なセットアップに推奨されます。

CLI: --cache-embedded-mtls-enabled
Env: KC_CACHE_EMBEDDED_MTLS_ENABLED

TCP ベースのキャッシュスタックが使用されている場合にのみ使用可能

true (デフォルト)、false

cache-embedded-mtls-key-store-file

キーストアファイルパス。

キーストアには、TLS プロトコルで使用する証明書を含める必要があります。デフォルトでは、conf/ ディレクトリの下の cache-mtls-keystore.p12 を検索します。

CLI: --cache-embedded-mtls-key-store-file
Env: KC_CACHE_EMBEDDED_MTLS_KEY_STORE_FILE

プロパティ 'cache-embedded-mtls-enabled' が有効になっている場合にのみ使用可能

cache-embedded-mtls-key-store-password

キーストアにアクセスするためのパスワード。

CLI: --cache-embedded-mtls-key-store-password
Env: KC_CACHE_EMBEDDED_MTLS_KEY_STORE_PASSWORD

プロパティ 'cache-embedded-mtls-enabled' が有効になっている場合にのみ使用可能

cache-embedded-mtls-rotation-interval-days

自動 JGroups MTLS 証明書のローテーション期間 (日数)。

CLI: --cache-embedded-mtls-rotation-interval-days
Env: KC_CACHE_EMBEDDED_MTLS_ROTATION_INTERVAL_DAYS

プロパティ 'cache-embedded-mtls-enabled' が有効になっている場合にのみ使用可能

30 (デフォルト)

cache-embedded-mtls-trust-store-file

トラストストアファイルパス。

信頼された証明書または証明書に署名した認証局を含める必要があります。デフォルトでは、conf/ ディレクトリの下の cache-mtls-truststore.p12 を検索します。

CLI: --cache-embedded-mtls-trust-store-file
Env: KC_CACHE_EMBEDDED_MTLS_TRUST_STORE_FILE

プロパティ 'cache-embedded-mtls-enabled' が有効になっている場合にのみ使用可能

cache-embedded-mtls-trust-store-password

トラストストアにアクセスするためのパスワード。

CLI: --cache-embedded-mtls-trust-store-password
Env: KC_CACHE_EMBEDDED_MTLS_TRUST_STORE_PASSWORD

プロパティ 'cache-embedded-mtls-enabled' が有効になっている場合にのみ使用可能

cache-embedded-offline-client-sessions-max-count

offlineClientSessions キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-offline-client-sessions-max-count
Env: KC_CACHE_EMBEDDED_OFFLINE_CLIENT_SESSIONS_MAX_COUNT

埋め込み Infinispan クラスタが構成されている場合にのみ使用可能

cache-embedded-offline-sessions-max-count

offlineSessions キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-offline-sessions-max-count
Env: KC_CACHE_EMBEDDED_OFFLINE_SESSIONS_MAX_COUNT

埋め込み Infinispan クラスタが構成されている場合にのみ使用可能

cache-embedded-realms-max-count

realms キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-realms-max-count
Env: KC_CACHE_EMBEDDED_REALMS_MAX_COUNT

cache-embedded-sessions-max-count

sessions キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-sessions-max-count
Env: KC_CACHE_EMBEDDED_SESSIONS_MAX_COUNT

埋め込み Infinispan クラスタが構成されている場合にのみ使用可能

cache-embedded-users-max-count

users キャッシュによってインメモリに格納できるエントリの最大数。

CLI: --cache-embedded-users-max-count
Env: KC_CACHE_EMBEDDED_USERS_MAX_COUNT

リモートキャッシュ

cache-remote-host

外部 Infinispan クラスタのホスト名。

機能 multi-siteclusterless、または cache-embedded-remote-store が設定されている場合にのみ使用可能。

CLI: --cache-remote-host
Env: KC_CACHE_REMOTE_HOST

cache-remote-password

外部 Infinispan クラスタへの認証用のパスワード。

安全でない外部 Infinispan クラスタに接続する場合はオプションです。オプションが指定されている場合、cache-remote-username も必須です。

CLI: --cache-remote-password
Env: KC_CACHE_REMOTE_PASSWORD

リモートホストが設定されている場合にのみ使用可能

cache-remote-port

外部 Infinispan クラスタのポート。

CLI: --cache-remote-port
Env: KC_CACHE_REMOTE_PORT

リモートホストが設定されている場合にのみ使用可能

11222 (デフォルト)

cache-remote-tls-enabled

セキュリティ保護されたリモート Infinispan サーバーと通信するための TLS サポートを有効にします。

本番環境で有効にすることをお勧めします。

CLI: --cache-remote-tls-enabled
Env: KC_CACHE_REMOTE_TLS_ENABLED

リモートホストが設定されている場合にのみ使用可能

true (デフォルト)、false

cache-remote-username

外部 Infinispan クラスタへの認証用のユーザー名。

安全でない外部 Infinispan クラスタに接続する場合はオプションです。オプションが指定されている場合、cache-remote-password も必須です。

CLI: --cache-remote-username
Env: KC_CACHE_REMOTE_USERNAME

リモートホストが設定されている場合にのみ使用可能

このページの内容