すべての設定

Keycloak のすべてのビルドオプションと設定の完全なリスト

キャッシュ

cache

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

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

CLI: --cache
Env: KC_CACHE

ispn (デフォルト), local

cache-config-file

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

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

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

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-metrics-histograms-enabled

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

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

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

true, false (デフォルト)

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

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

cache-stack

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

CLI: --cache-stack
Env: KC_CACHE_STACK

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

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

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

設定

config-keystore

キーストア構成ソースへのパスを指定します。

CLI: --config-keystore
Env: KC_CONFIG_KEYSTORE

config-keystore-password

キーストア構成ソースへのパスワードを指定します。

CLI: --config-keystore-password
Env: KC_CONFIG_KEYSTORE_PASSWORD

config-keystore-type

キーストア構成ソースのタイプを指定します。

CLI: --config-keystore-type
Env: KC_CONFIG_KEYSTORE_TYPE

PKCS12 (デフォルト)

データベース

db

データベースベンダー。

プロダクションモードでは、dev-file のデフォルト値は非推奨です。代わりに db を明示的に指定する必要があります。

CLI: --db
Env: KC_DB

dev-file (デフォルト), dev-mem, mariadb, mssql, mysql, oracle, postgres

db-driver

JDBC ドライバーの完全修飾クラス名。

設定されていない場合、選択されたデータベースに応じてデフォルトのドライバーが設定されます。

CLI: --db-driver
Env: KC_DB_DRIVER

db-password

データベースユーザーのパスワード。

CLI: --db-password
Env: KC_DB_PASSWORD

db-pool-initial-size

接続プールの初期サイズ。

CLI: --db-pool-initial-size
Env: KC_DB_POOL_INITIAL_SIZE

db-pool-max-size

接続プールの最大サイズ。

CLI: --db-pool-max-size
Env: KC_DB_POOL_MAX_SIZE

100 (デフォルト)

db-pool-min-size

接続プールの最小サイズ。

CLI: --db-pool-min-size
Env: KC_DB_POOL_MIN_SIZE

db-schema

使用するデータベーススキーマ。

CLI: --db-schema
Env: KC_DB_SCHEMA

db-url

完全なデータベース JDBC URL。

提供されていない場合、選択されたデータベースベンダーに基づいてデフォルトの URL が設定されます。たとえば、postgres を使用している場合、デフォルトの JDBC URL は jdbc:postgresql://localhost/keycloak になります。

CLI: --db-url
Env: KC_DB_URL

db-url-database

選択したベンダーのデフォルト JDBC URL のデータベース名を設定します。

db-url オプションが設定されている場合、このオプションは無視されます。

CLI: --db-url-database
Env: KC_DB_URL_DATABASE

db-url-host

選択したベンダーのデフォルト JDBC URL のホスト名を設定します。

db-url オプションが設定されている場合、このオプションは無視されます。

CLI: --db-url-host
Env: KC_DB_URL_HOST

db-url-port

選択したベンダーのデフォルト JDBC URL のポートを設定します。

db-url オプションが設定されている場合、このオプションは無視されます。

CLI: --db-url-port
Env: KC_DB_URL_PORT

db-url-properties

選択したベンダーのデフォルト JDBC URL のプロパティを設定します。

データベースベンダーが期待する形式に従ってプロパティを設定し、このプロパティ値の先頭に適切な文字を付加してください。db-url オプションが設定されている場合、このオプションは無視されます。

CLI: --db-url-properties
Env: KC_DB_URL_PROPERTIES

db-username

データベースユーザーのユーザー名。

CLI: --db-username
Env: KC_DB_USERNAME

トランザクション

transaction-xa-enabled

true に設定すると、XA データソースが使用されます。

CLI: --transaction-xa-enabled
Env: KC_TRANSACTION_XA_ENABLED

true, false (デフォルト)

機能

features

1 つ以上の機能のセットを有効にします。

CLI: --features
Env: KC_FEATURES

account-api[:v1], account[:v3], admin-api[:v1], admin-fine-grained-authz[:v1,v2], admin[:v2], authorization[:v1], cache-embedded-remote-store[:v1], ciba[:v1], client-policies[:v1], client-secret-rotation[:v1], client-types[:v1], clusterless[:v1], declarative-ui[:v1], device-flow[:v1], docker[:v1], dpop[:v1], dynamic-scopes[:v1], fips[:v1], hostname[:v2], impersonation[:v1], ipa-tuura-federation[:v1], kerberos[:v1], login[:v2,v1], multi-site[:v1], oid4vc-vci[:v1], opentelemetry[:v1], organization[:v1], par[:v1], passkeys[:v1], persistent-user-sessions[:v1], preview, quick-theme[:v1], recovery-codes[:v1], rolling-updates[:v1], scripts[:v1], step-up-authentication[:v1], token-exchange-standard[:v2], token-exchange[:v1], transient-users[:v1], update-email[:v1], user-event-metrics[:v1], web-authn[:v1]

features-disabled

1 つ以上の機能のセットを無効にします。

CLI: --features-disabled
Env: KC_FEATURES_DISABLED

account, account-api, admin, admin-api, admin-fine-grained-authz, authorization, cache-embedded-remote-store, ciba, client-policies, client-secret-rotation, client-types, clusterless, declarative-ui, device-flow, docker, dpop, dynamic-scopes, fips, impersonation, ipa-tuura-federation, kerberos, login, multi-site, oid4vc-vci, opentelemetry, organization, par, passkeys, persistent-user-sessions, preview, quick-theme, recovery-codes, rolling-updates, scripts, step-up-authentication, token-exchange, token-exchange-standard, transient-users, update-email, user-event-metrics, web-authn

ホスト名 v2

hostname

サーバーが公開されるアドレス。

完全な URL、またはホスト名のみを指定できます。ホスト名のみが指定されている場合、スキーム、ポート、およびコンテキストパスはリクエストから解決されます。

CLI: --hostname
Env: KC_HOSTNAME

hostname:v2 機能が有効になっている場合にのみ利用可能

hostname-admin

管理コンソールにアクセスするためのアドレス。

hostname オプションで指定されたアドレスとは異なるアドレスでリバースプロキシを使用して管理コンソールを公開する場合は、このオプションを使用してください。

CLI: --hostname-admin
Env: KC_HOSTNAME_ADMIN

hostname:v2 機能が有効になっている場合にのみ利用可能

hostname-backchannel-dynamic

ホスト名、スキーム、ポート、コンテキストパスを含むバックチャネル URL の動的な解決を有効にします。

アプリケーションがプライベートネットワーク経由で Keycloak にアクセスする場合は true に設定します。true に設定する場合は、hostname オプションを完全な URL として指定する必要があります。

CLI: --hostname-backchannel-dynamic
Env: KC_HOSTNAME_BACKCHANNEL_DYNAMIC

hostname:v2 機能が有効になっている場合にのみ利用可能

true, false (デフォルト)

hostname-debug

/realms/master/hostname-debug でアクセス可能なホスト名デバッグページを切り替えます。

CLI: --hostname-debug
Env: KC_HOSTNAME_DEBUG

hostname:v2 機能が有効になっている場合にのみ利用可能

true, false (デフォルト)

hostname-strict

リクエストヘッダーからホスト名を動的に解決することを無効にします。

リバースプロキシが Host ヘッダーを上書きしない限り、本番環境では常に true に設定する必要があります。有効にすると、hostname オプションを指定する必要があります。

CLI: --hostname-strict
Env: KC_HOSTNAME_STRICT

hostname:v2 機能が有効になっている場合にのみ利用可能

true (デフォルト), false

HTTP(S)

http-enabled

HTTP リスナーを有効にします。

開発モードではデフォルトで有効になっています。通常、サーバーが TLS 終端プロキシによってフロントエンドされていない限り、本番環境では有効になりません。

CLI: --http-enabled
Env: KC_HTTP_ENABLED

true, false (デフォルト)

http-host

HTTP ホスト。

CLI: --http-host
Env: KC_HTTP_HOST

0.0.0.0 (デフォルト)

http-max-queued-requests

キューに入れられた HTTP リクエストの最大数。

過負荷状態での負荷を軽減するために使用します。超過リクエストは「503 Server not Available」レスポンスを返します。

CLI: --http-max-queued-requests
Env: KC_HTTP_MAX_QUEUED_REQUESTS

http-metrics-histograms-enabled

HTTP サーバーリクエストの期間のデフォルトバケットを含むヒストグラムを有効にします。

CLI: --http-metrics-histograms-enabled
Env: KC_HTTP_METRICS_HISTOGRAMS_ENABLED

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

true, false (デフォルト)

http-metrics-slos

HTTP サーバーリクエストのサービスレベル目標。

デフォルトのヒストグラムの代わりにこれを使用するか、追加のバケットを追加するために組み合わせて使用します。ミリ秒単位で定義されたコンマ区切りの値のリストを指定します。5ms から 10 秒までのバケットの例: 5,10,25,50,250,500,1000,2500,5000,10000

CLI: --http-metrics-slos
Env: KC_HTTP_METRICS_SLOS

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

http-pool-max-threads

スレッドの最大数。

これが指定されていない場合、利用可能なプロセッサ数の 4 倍と 50 のうち大きい方に自動的にサイズ設定されます。たとえば、プロセッサが 4 つの場合、最大スレッド数は 50 になります。プロセッサが 48 個の場合、192 になります。

CLI: --http-pool-max-threads
Env: KC_HTTP_POOL_MAX_THREADS

http-port

使用される HTTP ポート。

CLI: --http-port
Env: KC_HTTP_PORT

8080 (デフォルト)

http-relative-path

リソースを提供する / を基準としたパスを設定します。

パスは / で始まる必要があります。

CLI: --http-relative-path
Env: KC_HTTP_RELATIVE_PATH

/ (デフォルト)

https-certificate-file

PEM 形式のサーバー証明書または証明書チェーンへのファイルパス。

CLI: --https-certificate-file
Env: KC_HTTPS_CERTIFICATE_FILE

https-certificate-key-file

PEM 形式のプライベートキーへのファイルパス。

CLI: --https-certificate-key-file
Env: KC_HTTPS_CERTIFICATE_KEY_FILE

https-certificates-reload-period

https-* オプションで参照されるキーストア、トラストストア、および証明書ファイルをリロードする間隔。

java.time.Duration 値、秒単位の整数、または整数の後に [ms, h, m, s, d] のいずれかを続けることができます。30 秒より大きくする必要があります。無効にするには -1 を使用します。

CLI: --https-certificates-reload-period
Env: KC_HTTPS_CERTIFICATES_RELOAD_PERIOD

1h (デフォルト)

https-cipher-suites

使用する暗号スイート。

何も指定されていない場合は、適切なデフォルトが選択されます。

CLI: --https-cipher-suites
Env: KC_HTTPS_CIPHER_SUITES

https-client-auth

クライアント認証を必須/リクエストするようにサーバーを構成します。

CLI: --https-client-auth
Env: KC_HTTPS_CLIENT_AUTH

none (デフォルト), request, required

https-key-store-file

個別のファイルを指定する代わりに証明書情報を保持するキーストア。

CLI: --https-key-store-file
Env: KC_HTTPS_KEY_STORE_FILE

https-key-store-password

キーストアファイルのパスワード。

CLI: --https-key-store-password
Env: KC_HTTPS_KEY_STORE_PASSWORD

password (デフォルト)

https-key-store-type

キーストアファイルのタイプ。

指定されていない場合、タイプはファイル拡張子に基づいて自動的に検出されます。fips-modestrict に設定されており、値が設定されていない場合は、デフォルトで BCFKS になります。

CLI: --https-key-store-type
Env: KC_HTTPS_KEY_STORE_TYPE

https-port

使用される HTTPS ポート。

CLI: --https-port
Env: KC_HTTPS_PORT

8443 (デフォルト)

https-protocols

明示的に有効にするプロトコルのリスト。

CLI: --https-protocols
Env: KC_HTTPS_PROTOCOLS

[TLSv1.3,TLSv1.2] (デフォルト)

https-trust-store-file

信頼する証明書の証明書情報を保持するトラストストア。

CLI: --https-trust-store-file
Env: KC_HTTPS_TRUST_STORE_FILE

https-trust-store-password

トラストストアファイルのパスワード。

CLI: --https-trust-store-password
Env: KC_HTTPS_TRUST_STORE_PASSWORD

https-trust-store-type

トラストストアファイルのタイプ。

指定されていない場合、タイプはファイル拡張子に基づいて自動的に検出されます。fips-modestrict に設定されており、値が設定されていない場合は、デフォルトで BCFKS になります。

CLI: --https-trust-store-type
Env: KC_HTTPS_TRUST_STORE_TYPE

ヘルス

health-enabled

サーバーがヘルスチェックエンドポイントを公開するかどうか。

有効にすると、ヘルスチェックは /health/health/ready、および /health/live エンドポイントで利用できます。

CLI: --health-enabled
Env: KC_HEALTH_ENABLED

true, false (デフォルト)

管理

http-management-port

管理インターフェースのポート。

管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --http-management-port
Env: KC_HTTP_MANAGEMENT_PORT

9000 (デフォルト)

http-management-relative-path

管理インターフェースからリソースを提供する / を基準としたパスを設定します。

パスは / で始まる必要があります。指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --http-management-relative-path
Env: KC_HTTP_MANAGEMENT_RELATIVE_PATH

/ (デフォルト)

https-management-certificate-file

管理サーバー用の PEM 形式のサーバー証明書または証明書チェーンへのファイルパス。

指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --https-management-certificate-file
Env: KC_HTTPS_MANAGEMENT_CERTIFICATE_FILE

https-management-certificate-key-file

管理サーバー用の PEM 形式のプライベートキーへのファイルパス。

指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --https-management-certificate-key-file
Env: KC_HTTPS_MANAGEMENT_CERTIFICATE_KEY_FILE

https-management-certificates-reload-period

管理サーバーの https-management-* オプションで参照されるキーストア、トラストストア、および証明書ファイルをリロードする間隔。

java.time.Duration 値、秒単位の整数、または整数の後に [ms, h, m, s, d] のいずれかを続けることができます。30 秒より大きくする必要があります。無効にするには -1 を使用します。指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --https-management-certificates-reload-period
Env: KC_HTTPS_MANAGEMENT_CERTIFICATES_RELOAD_PERIOD

1h (デフォルト)

https-management-client-auth

クライアント認証を必須/リクエストするように管理インターフェースを構成します。

指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --https-management-client-auth
Env: KC_HTTPS_MANAGEMENT_CLIENT_AUTH

none (デフォルト), request, required

https-management-key-store-file

管理サーバー用の個別のファイルを指定する代わりに証明書情報を保持するキーストア。

指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --https-management-key-store-file
Env: KC_HTTPS_MANAGEMENT_KEY_STORE_FILE

https-management-key-store-password

管理サーバー用のキーストアファイルのパスワード。

指定されていない場合、値は HTTP オプションから継承されます。管理インターフェースで何かが公開されている場合にのみ関連します - 詳細についてはガイドを参照してください。

CLI: --https-management-key-store-password
Env: KC_HTTPS_MANAGEMENT_KEY_STORE_PASSWORD

password (デフォルト)

legacy-observability-interface

メトリクス/ヘルスエンドポイントをメインの HTTP サーバーで公開するかどうか (非推奨)。

true に設定すると、管理インターフェースは無効になります。

CLI: --legacy-observability-interface
Env: KC_LEGACY_OBSERVABILITY_INTERFACE

非推奨。

true, false (デフォルト)

メトリクス

metrics-enabled

サーバーがメトリクスを公開するかどうか。

有効にすると、メトリクスは /metrics エンドポイントで利用できます。

CLI: --metrics-enabled
Env: KC_METRICS_ENABLED

true, false (デフォルト)

プロキシ

proxy-headers

サーバーで受け入れる必要があるプロキシヘッダー。

構成を誤ると、サーバーがセキュリティ脆弱性にさらされる可能性があります。非推奨の proxy オプションよりも優先されます。

CLI: --proxy-headers
Env: KC_PROXY_HEADERS

forwarded, xforwarded

proxy-protocol-enabled

プロキシの背後からリクエストを処理するときに、サーバーが HA PROXY プロトコルを使用するかどうか。

true に設定すると、返されるリモートアドレスは、実際に接続しているクライアントのアドレスになります。proxy-headers が使用されている場合は有効にできません。

CLI: --proxy-protocol-enabled
Env: KC_PROXY_PROTOCOL_ENABLED

true, false (デフォルト)

proxy-trusted-addresses

信頼できるプロキシアドレスのコンマ区切りリスト。

設定されている場合、他のアドレスからのプロキシヘッダーは無視されます。デフォルトでは、すべてのアドレスが信頼されます。信頼できるプロキシアドレスは、IP アドレス (IPv4 または IPv6) または Classless Inter-Domain Routing (CIDR) 表記として指定されます。proxy-headers が設定されている場合にのみ利用可能です。

CLI: --proxy-trusted-addresses
Env: KC_PROXY_TRUSTED_ADDRESSES

Vault

vault

Vault プロバイダーを有効にします。

CLI: --vault
Env: KC_VAULT

file, keystore

vault-dir

設定されている場合、シークレットは、指定されたディレクトリ内のファイルの内容を読み取ることで取得できます。

CLI: --vault-dir
Env: KC_VAULT_DIR

vault-file

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

CLI: --vault-file
Env: KC_VAULT_FILE

vault-pass

Vault キーストアのパスワード。

CLI: --vault-pass
Env: KC_VAULT_PASS

vault-type

キーストアファイルのタイプを指定します。

CLI: --vault-type
Env: KC_VAULT_TYPE

PKCS12 (デフォルト)

ロギング

log

コンマ区切りのリストで 1 つ以上のログハンドラーを有効にします。

CLI: --log
Env: KC_LOG

console, file, syslog

log-console-color

コンソールへのロギング時に色を有効または無効にします。

CLI: --log-console-color
Env: KC_LOG_CONSOLE_COLOR

コンソールログハンドラーがアクティブ化されている場合にのみ利用可能

true, false (デフォルト)

log-console-format

非構造化コンソールログエントリの形式。

形式にスペースが含まれている場合は、 "<format>" を使用して値をエスケープします。

CLI: --log-console-format
Env: KC_LOG_CONSOLE_FORMAT

コンソールログハンドラーがアクティブ化されている場合にのみ利用可能

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n (デフォルト)

log-console-include-trace

コンソールログにトレース情報を含めます。

log-console-format オプションが指定されている場合、このオプションは効果がありません。

CLI: --log-console-include-trace
Env: KC_LOG_CONSOLE_INCLUDE_TRACE

コンソールログハンドラーとトレースがアクティブ化されている場合にのみ利用可能

true (デフォルト), false

log-console-json-format

生成された JSON の形式を設定します。

CLI: --log-console-json-format
Env: KC_LOG_CONSOLE_JSON_FORMAT

コンソールログハンドラーがアクティブ化され、出力が 'json' に設定されている場合にのみ利用可能

default (デフォルト), ecs

log-console-level

コンソールハンドラーのログレベルを設定します。

出力に表示されるログの最も詳細なログレベルを指定します。これは、ロギングシステム全体の最大詳細度を表す log-level オプションで指定されたレベルを尊重します。詳細については、ロギングガイドを確認してください。

CLI: --log-console-level
Env: KC_LOG_CONSOLE_LEVEL

コンソールログハンドラーがアクティブ化されている場合にのみ利用可能

off, fatal, error, warn, info, debug, trace, all (デフォルト)

log-console-output

ログ出力を JSON またはデフォルト (プレーン) 非構造化ロギングに設定します。

CLI: --log-console-output
Env: KC_LOG_CONSOLE_OUTPUT

コンソールログハンドラーがアクティブ化されている場合にのみ利用可能

default (デフォルト), json

log-file

ログファイルのパスとファイル名を設定します。

CLI: --log-file
Env: KC_LOG_FILE

ファイルログハンドラーが有効な場合のみ利用可能

data/log/keycloak.log (デフォルト)

log-file-format

ファイルログエントリに固有のフォーマットを設定します。

CLI: --log-file-format
Env: KC_LOG_FILE_FORMAT

ファイルログハンドラーが有効な場合のみ利用可能

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n (デフォルト)

log-file-include-trace

ファイルログにトレース情報を含めます。

log-file-format オプションが指定されている場合、このオプションは効果がありません。

CLI: --log-file-include-trace
Env: KC_LOG_FILE_INCLUDE_TRACE

ファイルログハンドラーとトレースが有効な場合のみ利用可能

true (デフォルト), false

log-file-json-format

生成された JSON の形式を設定します。

CLI: --log-file-json-format
Env: KC_LOG_FILE_JSON_FORMAT

ファイルログハンドラーが有効で、出力が 'json' に設定されている場合のみ利用可能

default (デフォルト), ecs

log-file-level

ファイルハンドラーのログレベルを設定します。

出力に表示されるログの最も詳細なログレベルを指定します。これは、ロギングシステム全体の最大詳細度を表す log-level オプションで指定されたレベルを尊重します。詳細については、ロギングガイドを確認してください。

CLI: --log-file-level
Env: KC_LOG_FILE_LEVEL

ファイルログハンドラーが有効な場合のみ利用可能

off, fatal, error, warn, info, debug, trace, all (デフォルト)

log-file-output

ログ出力を JSON またはデフォルト (プレーン) 非構造化ロギングに設定します。

CLI: --log-file-output
Env: KC_LOG_FILE_OUTPUT

ファイルログハンドラーが有効な場合のみ利用可能

default (デフォルト), json

log-level

ルートカテゴリのログレベル、または個々のカテゴリとそのレベルをカンマ区切りでリストしたものを設定します。

ルートカテゴリの場合、カテゴリを指定する必要はありません。

CLI: --log-level
Env: KC_LOG_LEVEL

[info] (デフォルト)

log-syslog-app-name

RFC5424 形式でメッセージをフォーマットする際に使用するアプリ名を設定します。

CLI: --log-syslog-app-name
Env: KC_LOG_SYSLOG_APP_NAME

Syslog が有効な場合のみ利用可能

keycloak (デフォルト)

log-syslog-endpoint

Syslog サーバーの IP アドレスとポートを設定します。

CLI: --log-syslog-endpoint
Env: KC_LOG_SYSLOG_ENDPOINT

Syslog が有効な場合のみ利用可能

localhost:514 (デフォルト)

log-syslog-format

Syslog エントリに固有のフォーマットを設定します。

CLI: --log-syslog-format
Env: KC_LOG_SYSLOG_FORMAT

Syslog が有効な場合のみ利用可能

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n (デフォルト)

log-syslog-include-trace

Syslog にトレース情報を含めます。

log-syslog-format オプションが指定されている場合、このオプションは効果がありません。

CLI: --log-syslog-include-trace
Env: KC_LOG_SYSLOG_INCLUDE_TRACE

Syslog ハンドラーとトレースが有効な場合のみ利用可能

true (デフォルト), false

log-syslog-json-format

生成された JSON の形式を設定します。

CLI: --log-syslog-json-format
Env: KC_LOG_SYSLOG_JSON_FORMAT

Syslog が有効で、出力が 'json' に設定されている場合のみ利用可能

default (デフォルト), ecs

log-syslog-level

Syslog ハンドラーのログレベルを設定します。

出力に表示されるログの最も詳細なログレベルを指定します。これは、ロギングシステム全体の最大詳細度を表す log-level オプションで指定されたレベルを尊重します。詳細については、ロギングガイドを確認してください。

CLI: --log-syslog-level
Env: KC_LOG_SYSLOG_LEVEL

Syslog が有効な場合のみ利用可能

off, fatal, error, warn, info, debug, trace, all (デフォルト)

log-syslog-max-length

送信できるメッセージの最大長(バイト単位)を設定します。

長さにはヘッダーとメッセージが含まれます。設定されていない場合、log-syslog-type が rfc5424 (デフォルト) の場合はデフォルト値は 2048、log-syslog-type が rfc3164 の場合は 1024 です。

CLI: --log-syslog-max-length
Env: KC_LOG_SYSLOG_MAX_LENGTH

Syslog が有効な場合のみ利用可能

log-syslog-output

Syslog 出力を JSON またはデフォルト (プレーン) の非構造化ロギングに設定します。

CLI: --log-syslog-output
Env: KC_LOG_SYSLOG_OUTPUT

Syslog が有効な場合のみ利用可能

default (デフォルト), json

log-syslog-protocol

Syslog サーバーへの接続に使用するプロトコルを設定します。

CLI: --log-syslog-protocol
Env: KC_LOG_SYSLOG_PROTOCOL

Syslog が有効な場合のみ利用可能

tcp (デフォルト)、udpssl-tcp

log-syslog-type

送信するメッセージをフォーマットするために使用する Syslog タイプを設定します。

CLI: --log-syslog-type
Env: KC_LOG_SYSLOG_TYPE

Syslog が有効な場合のみ利用可能

rfc5424 (デフォルト)、rfc3164

Tracing

tracing-compression

ペイロードを圧縮するために使用される OpenTelemetry 圧縮方式。

設定しない場合、圧縮は無効になります。

CLI: --tracing-compression
Env: KC_TRACING_COMPRESSION

トレースが有効な場合のみ利用可能

gzipnone (デフォルト)

tracing-enabled

OpenTelemetry トレースを有効にします。

CLI: --tracing-enabled
Env: KC_TRACING_ENABLED

'opentelemetry' 機能が有効な場合のみ利用可能

true, false (デフォルト)

tracing-endpoint

接続先の OpenTelemetry エンドポイント。

CLI: --tracing-endpoint
Env: KC_TRACING_ENDPOINT

トレースが有効な場合のみ利用可能

http://localhost:4317 (デフォルト)

tracing-jdbc-enabled

OpenTelemetry JDBC トレースを有効にします。

CLI: --tracing-jdbc-enabled
Env: KC_TRACING_JDBC_ENABLED

トレースが有効な場合のみ利用可能

true (デフォルト), false

tracing-protocol

テレメトリデータに使用される OpenTelemetry プロトコル。

CLI: --tracing-protocol
Env: KC_TRACING_PROTOCOL

トレースが有効な場合のみ利用可能

grpc (デフォルト)、http/protobuf

tracing-resource-attributes

テレメトリプロデューサーを特徴づけるためにエクスポートされたトレースに存在する OpenTelemetry リソース属性。

key1=val1,key2=val2 形式の値。詳細については、トレースガイドを確認してください。

CLI: --tracing-resource-attributes
Env: KC_TRACING_RESOURCE_ATTRIBUTES

トレースが有効な場合のみ利用可能

tracing-sampler-ratio

OpenTelemetry サンプラー比率。

スパンがサンプリングされる確率。[0,1] の範囲の double 値が期待されます。

CLI: --tracing-sampler-ratio
Env: KC_TRACING_SAMPLER_RATIO

トレースが有効な場合のみ利用可能

1.0 (デフォルト)

tracing-sampler-type

トレースに使用する OpenTelemetry サンプラー。

CLI: --tracing-sampler-type
Env: KC_TRACING_SAMPLER_TYPE

トレースが有効な場合のみ利用可能

always_onalways_offtraceidratio (デフォルト)、parentbased_always_onparentbased_always_offparentbased_traceidratio

tracing-service-name

OpenTelemetry サービス名。

tracing-resource-attributes プロパティで定義された service.name よりも優先されます。

CLI: --tracing-service-name
Env: KC_TRACING_SERVICE_NAME

トレースが有効な場合のみ利用可能

keycloak (デフォルト)

Events

event-metrics-user-enabled

ユーザーイベントに基づいてメトリクスを作成します。

CLI: --event-metrics-user-enabled
Env: KC_EVENT_METRICS_USER_ENABLED

メトリクスが有効で、機能 user-event-metrics が有効な場合のみ利用可能

true, false (デフォルト)

event-metrics-user-events

ユーザーイベントメトリクス用に収集されるイベントのカンマ区切りリスト。

デフォルトではすべてのユーザーイベントがメトリクスを作成するため、このオプションを使用して作成されるメトリクスの数を減らすことができます。

CLI: --event-metrics-user-events
Env: KC_EVENT_METRICS_USER_EVENTS

ユーザーイベントメトリクスが有効な場合のみ利用可能

remove_credential の代わりに remove_totp を、update_credential の代わりに update_totpupdate_password を使用してください。非推奨の値: remove_totp, update_totp, update_password

authreqid_to_token, client_delete, client_info, client_initiated_account_linking, client_login, client_register, client_update, code_to_token, custom_required_action, delete_account, execute_action_token, execute_actions, federated_identity_link, federated_identity_override_link, grant_consent, identity_provider_first_login, identity_provider_link_account, identity_provider_login, identity_provider_post_login, identity_provider_response, identity_provider_retrieve_token, impersonate, introspect_token, invalid_signature, invite_org, login, logout, oauth2_device_auth, oauth2_device_code_to_token, oauth2_device_verify_user_code, oauth2_extension_grant, permission_token, pushed_authorization_request, refresh_token, register, register_node, remove_credential, remove_federated_identity, remove_totp (非推奨), reset_password, restart_authentication, revoke_grant, send_identity_provider_link, send_reset_password, send_verify_email, token_exchange, unregister_node, update_consent, update_credential, update_email, update_password (非推奨), update_profile, update_totp (非推奨), user_disabled_by_permanent_lockout, user_disabled_by_temporary_lockout, user_info_request, verify_email, verify_profile

event-metrics-user-tags

ユーザーイベントメトリクス用に収集されるタグのカンマ区切りリスト。

デフォルトでは、高いメトリクスのカーディナリティを避けるために realm のみが有効になっています。

CLI: --event-metrics-user-tags
Env: KC_EVENT_METRICS_USER_TAGS

ユーザーイベントメトリクスが有効な場合のみ利用可能

realmidpclientId

Truststore

tls-hostname-verifier

送信 HTTPS および SMTP リクエストの TLS ホスト名検証ポリシー。

CLI: --tls-hostname-verifier
Env: KC_TLS_HOSTNAME_VERIFIER

STRICT および WILDCARD は非推奨になりました。代わりに DEFAULT を使用してください。非推奨の値: STRICT, WILDCARD

ANYWILDCARD (非推奨)、STRICT (非推奨)、DEFAULT (デフォルト)

truststore-paths

システムトラストストアとして使用される pkcs12 (p12、pfx、または pkcs12 ファイル拡張子)、PEM ファイル、またはそれらのファイルを含むディレクトリのリスト。

CLI: --truststore-paths
Env: KC_TRUSTSTORE_PATHS

Security

fips-mode

FIPS モードを設定します。

non-strict が設定されている場合、FIPS は有効になりますが、非承認モードになります。完全な FIPS コンプライアンスのためには、承認モードで実行するために strict を設定します。このオプションは、fips 機能が無効になっている場合はデフォルトで disabled になります。fips 機能が有効になっている場合はデフォルトで non-strict になります。

CLI: --fips-mode
Env: KC_FIPS_MODE

non-strictstrict

Export

dir

エクスポートされたデータでファイルが作成されるディレクトリへのパスを設定します。

CLI: --dir
Env: KC_DIR

file

エクスポートされたデータで作成されるファイルへのパスを設定します。

500 人以上のユーザーをエクスポートするには、代わりに異なるファイルを持つディレクトリにエクスポートしてください。

CLI: --file
Env: KC_FILE

realm

エクスポートするレルムの名前を設定します。

設定しない場合、すべてのレルムがエクスポートされます。

CLI: --realm
Env: KC_REALM

users

ユーザーをどのようにエクスポートするかを設定します。

CLI: --users
Env: KC_USERS

skiprealm_filesame_filedifferent_files (デフォルト)

users-per-file

ファイルあたりのユーザー数を設定します。

usersdifferent_files に設定されている場合にのみ使用されます。この数を増やすと、エクスポート時間が指数関数的に増加します。

CLI: --users-per-file
Env: KC_USERS_PER_FILE

50 (デフォルト)

Import

dir

ファイルが読み込まれるディレクトリへのパスを設定します。

CLI: --dir
Env: KC_DIR

file

読み込まれるファイルへのパスを設定します。

CLI: --file
Env: KC_FILE

override

既存のデータを上書きするかどうかを設定します。

false に設定すると、データは無視されます。

CLI: --override
Env: KC_OVERRIDE

true (デフォルト), false

Bootstrap Admin

bootstrap-admin-client-id

一時的なブートストラップ管理者サービスアカウントのクライアント ID。

マスターレルムが作成されたときにのみ使用されます。ブートストラップ管理者クライアントシークレットが設定されている場合のみ利用可能です。

CLI: --bootstrap-admin-client-id
Env: KC_BOOTSTRAP_ADMIN_CLIENT_ID

temp-admin (デフォルト)

bootstrap-admin-client-secret

一時的なブートストラップ管理者サービスアカウントのクライアントシークレット。

マスターレルムが作成されたときにのみ使用されます。可能な場合は、このオプションには CLI 以外の設定オプションを使用してください。

CLI: --bootstrap-admin-client-secret
Env: KC_BOOTSTRAP_ADMIN_CLIENT_SECRET

bootstrap-admin-password

一時的なブートストラップ管理者パスワード。

マスターレルムが作成されたときにのみ使用されます。可能な場合は、このオプションには CLI 以外の設定オプションを使用してください。

CLI: --bootstrap-admin-password
Env: KC_BOOTSTRAP_ADMIN_PASSWORD

bootstrap-admin-username

一時的なブートストラップ管理者ユーザー名。

マスターレルムが作成されたときにのみ使用されます。ブートストラップ管理者パスワードが設定されている場合のみ利用可能です。

CLI: --bootstrap-admin-username
Env: KC_BOOTSTRAP_ADMIN_USERNAME

temp-admin (デフォルト)

このページについて