所有配置

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-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

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-key-store-password

访问密钥库的密码。

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

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-trust-store-password

访问信任库的密码。

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

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

远程存储配置的远程服务器主机名。

它替换通过 XML 文件(参见 cache-config-file 选项)指定的配置的 remote-server 标签的 host 属性。如果指定了该选项,还需要 cache-remote-usernamecache-remote-password,并且 XML 文件中的相关配置不应存在。

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

cache-remote-password

远程存储的远程服务器身份验证的密码。

它替换通过 XML 文件(参见 cache-config-file 选项)指定的配置的 digest 标签的 password 属性。如果指定了该选项,还需要 cache-remote-username,并且 XML 文件中的相关配置不应存在。

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

仅在设置了远程主机时可用

cache-remote-port

远程存储配置的远程服务器端口。

它替换通过 XML 文件(参见 cache-config-file 选项)指定的配置的 remote-server 标签的 port 属性。

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

仅在设置了远程主机时可用

11222 (默认)

cache-remote-tls-enabled

启用 TLS 支持以与安全的远程 Infinispan 服务器通信。

建议在生产环境中启用。

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

仅在设置了远程主机时可用

true (默认),false

cache-remote-username

远程存储的远程服务器身份验证的用户名。

它替换通过 XML 文件(参见 cache-config-file 选项)指定的配置的 digest 标签的 username 属性。如果指定了该选项,还需要 cache-remote-password,并且 XML 文件中的相关配置不应存在。

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

仅在设置了远程主机时可用

cache-stack

定义用于集群通信和节点发现的默认堆栈。

此选项仅在 cache 设置为 ispn 时生效。默认:udp。

CLI: --cache-stack
Env: KC_CACHE_STACK

tcp, udp, kubernetes, 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

数据库供应商。

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://127.0.0.1/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

启用一组或多项功能。

CLI: --features
Env: KC_FEATURES

account-api[:v1], account[:v3], admin-api[:v1], admin-fine-grained-authz[:v1], 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], kerberos[:v1], login[:v2,v1], multi-site[:v1], oid4vc-vci[:v1], opentelemetry[:v1], organization[:v1], par[:v1], passkeys[:v1], persistent-user-sessions[:v1], preview, recovery-codes[:v1], scripts[:v1], step-up-authentication[:v1], token-exchange[:v1], transient-users[:v1], update-email[:v1], web-authn[:v1]

features-disabled

禁用一组或多项功能。

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, kerberos, login, multi-site, oid4vc-vci, opentelemetry, organization, par, passkeys, persistent-user-sessions, preview, recovery-codes, scripts, step-up-authentication, token-exchange, transient-users, update-email, web-authn

主机名 v2

hostname

服务器暴露的地址。

可以是完整 URL 或仅主机名。当仅提供主机名时,方案、端口和上下文路径将从请求中解析。

CLI: --hostname
环境: KC_HOSTNAME

仅在启用 hostname:v2 功能时可用

hostname-admin

访问管理控制台的地址。

如果您使用不同于 hostname 选项中指定的地址上的反向代理来暴露管理控制台,请使用此选项。

CLI: --hostname-admin
环境: KC_HOSTNAME_ADMIN

仅在启用 hostname:v2 功能时可用

hostname-backchannel-dynamic

启用动态解析后端通道 URL,包括主机名、方案、端口和上下文路径。

如果您的应用程序通过专用网络访问 Keycloak,则将其设置为 true。如果设置为 true,则需要将 hostname 选项指定为完整 URL。

CLI: --hostname-backchannel-dynamic
环境: KC_HOSTNAME_BACKCHANNEL_DYNAMIC

仅在启用 hostname:v2 功能时可用

true, false (默认)

hostname-debug

切换可通过 /realms/master/hostname-debug 访问的主机名调试页面。

CLI: --hostname-debug
环境: KC_HOSTNAME_DEBUG

仅在启用 hostname:v2 功能时可用

true, false (默认)

hostname-strict

禁用从请求头中动态解析主机名。

在生产环境中始终应将其设置为 true,除非您的反向代理覆盖了 Host 标头。如果启用,则需要指定 hostname 选项。

CLI: --hostname-strict
环境: KC_HOSTNAME_STRICT

仅在启用 hostname:v2 功能时可用

true (默认),false

HTTP(S)

http-enabled

启用 HTTP 监听器。

CLI: --http-enabled
环境: KC_HTTP_ENABLED

true, false (默认)

http-host

使用的 HTTP Host。

CLI: --http-host
环境: KC_HTTP_HOST

0.0.0.0 (默认)

http-max-queued-requests

排队的 HTTP 请求的最大数量。

在过载情况下使用此选项来减少负载。多余的请求将返回“503 服务器不可用”响应。

CLI: --http-max-queued-requests
环境: KC_HTTP_MAX_QUEUED_REQUESTS

http-metrics-histograms-enabled

启用具有默认存储桶的直方图,用于 HTTP 服务器请求的持续时间。

CLI: --http-metrics-histograms-enabled
环境: KC_HTTP_METRICS_HISTOGRAMS_ENABLED

仅在启用指标时可用

true, false (默认)

http-metrics-slos

HTTP 服务器请求的服务水平目标。

使用它来代替默认的直方图,或与它结合使用以添加其他存储桶。以毫秒为单位指定逗号分隔的值列表。带有 5 毫秒到 10 秒的存储桶的示例:5,10,25,50,250,500,1000,2500,5000,10000

CLI: --http-metrics-slos
环境: KC_HTTP_METRICS_SLOS

仅在启用指标时可用

http-pool-max-threads

线程的最大数量。

如果未指定,则它将自动调整为可用处理器的数量的 4 倍和 50 之间的较大者。例如,如果处理器有 4 个,则最大线程数为 50。如果有 48 个处理器,则为 192。

CLI: --http-pool-max-threads
环境: KC_HTTP_POOL_MAX_THREADS

http-port

使用的 HTTP 端口。

CLI: --http-port
环境: KC_HTTP_PORT

8080 (默认)

http-relative-path

设置用于服务资源的相对于 / 的路径。

路径必须以 / 开头。

CLI: --http-relative-path
环境: KC_HTTP_RELATIVE_PATH

/ (默认)

https-certificate-file

PEM 格式的服务器证书或证书链的路径。

CLI: --https-certificate-file
环境: KC_HTTPS_CERTIFICATE_FILE

https-certificate-key-file

PEM 格式的私钥的路径。

CLI: --https-certificate-key-file
环境: 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
环境: KC_HTTPS_CERTIFICATES_RELOAD_PERIOD

1h (默认)

https-cipher-suites

要使用的密码套件。

如果没有给出,则会选择合理的默认值。

CLI: --https-cipher-suites
环境: KC_HTTPS_CIPHER_SUITES

https-client-auth

配置服务器以要求/请求客户端身份验证。

CLI: --https-client-auth
环境: KC_HTTPS_CLIENT_AUTH

none (默认), request, required

https-key-store-file

包含证书信息的密钥库,而不是指定单独的文件。

CLI: --https-key-store-file
环境: KC_HTTPS_KEY_STORE_FILE

https-key-store-password

密钥库文件的密码。

CLI: --https-key-store-password
环境: KC_HTTPS_KEY_STORE_PASSWORD

password (默认)

https-key-store-type

密钥库文件的类型。

如果没有给出,则类型会根据文件扩展名自动检测。如果 fips-mode 设置为 strict 并且未设置任何值,则默认为 BCFKS

CLI: --https-key-store-type
环境: KC_HTTPS_KEY_STORE_TYPE

https-port

使用的 HTTPS 端口。

CLI: --https-port
环境: KC_HTTPS_PORT

8443 (默认)

https-protocols

要显式启用的协议列表。

CLI: --https-protocols
环境: KC_HTTPS_PROTOCOLS

[TLSv1.3,TLSv1.2] (默认)

https-trust-store-file

包含要信任的证书的证书信息的信任库。

CLI: --https-trust-store-file
环境: KC_HTTPS_TRUST_STORE_FILE

https-trust-store-password

信任库文件的密码。

CLI: --https-trust-store-password
环境: KC_HTTPS_TRUST_STORE_PASSWORD

https-trust-store-type

信任库文件的类型。

如果没有给出,则类型会根据文件扩展名自动检测。如果 fips-mode 设置为 strict 并且未设置任何值,则默认为 BCFKS

CLI: --https-trust-store-type
环境: KC_HTTPS_TRUST_STORE_TYPE

健康

health-enabled

服务器是否应该公开健康检查端点。

如果启用,则健康检查可在 /health/health/ready/health/live 端点访问。

CLI: --health-enabled
环境: KC_HEALTH_ENABLED

true, false (默认)

管理

http-management-port

管理接口的端口。

仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --http-management-port
环境: KC_HTTP_MANAGEMENT_PORT

9000 (默认)

http-management-relative-path

设置用于从管理接口服务资源的相对于 / 的路径。

路径必须以 / 开头。如果没有给出,则值将从 HTTP 选项继承。仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --http-management-relative-path
环境: KC_HTTP_MANAGEMENT_RELATIVE_PATH

/ (默认)

https-management-certificate-file

PEM 格式的管理服务器的服务器证书或证书链的路径。

如果没有给出,则值将从 HTTP 选项继承。仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --https-management-certificate-file
环境: KC_HTTPS_MANAGEMENT_CERTIFICATE_FILE

https-management-certificate-key-file

PEM 格式的管理服务器的私钥的路径。

如果没有给出,则值将从 HTTP 选项继承。仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --https-management-certificate-key-file
环境: KC_HTTPS_MANAGEMENT_CERTIFICATE_KEY_FILE

https-management-client-auth

配置管理接口以要求/请求客户端身份验证。

如果没有给出,则值将从 HTTP 选项继承。仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --https-management-client-auth
环境: KC_HTTPS_MANAGEMENT_CLIENT_AUTH

none (默认), request, required

https-management-key-store-file

包含证书信息的密钥库,而不是为管理服务器指定单独的文件。

如果没有给出,则值将从 HTTP 选项继承。仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --https-management-key-store-file
环境: KC_HTTPS_MANAGEMENT_KEY_STORE_FILE

https-management-key-store-password

管理服务器的密钥库文件的密码。

如果没有给出,则值将从 HTTP 选项继承。仅在管理接口上公开内容时才相关 - 请参阅指南了解详细信息。

CLI: --https-management-key-store-password
环境: KC_HTTPS_MANAGEMENT_KEY_STORE_PASSWORD

password (默认)

legacy-observability-interface

指标/健康检查端点是否应在主 HTTP 服务器上公开(不推荐)。

如果设置为 true,则管理接口将被禁用。

CLI: --legacy-observability-interface
环境: KC_LEGACY_OBSERVABILITY_INTERFACE

已弃用。

true, false (默认)

指标

metrics-enabled

服务器是否应该公开指标。

如果启用,则指标可在 /metrics 端点访问。

CLI: --metrics-enabled
环境: KC_METRICS_ENABLED

true, false (默认)

代理

proxy-headers

服务器应该接受的代理标头。

配置错误可能会使服务器暴露于安全漏洞。优先于已弃用的 proxy 选项。

CLI: --proxy-headers
环境: KC_PROXY_HEADERS

forwarded, xforwarded

proxy-protocol-enabled

服务器在从代理后面提供服务时是否应该使用 HA PROXY 协议。

当设置为 true 时,返回的远程地址将是实际连接客户端的地址。

CLI: --proxy-protocol-enabled
环境: KC_PROXY_PROTOCOL_ENABLED

true, false (默认)

proxy-trusted-addresses

受信任代理地址的逗号分隔列表。

如果设置,则将忽略来自其他地址的代理标头。默认情况下,所有地址都被信任。受信任的代理地址被指定为 IP 地址(IPv4 或 IPv6)或无类域间路由 (CIDR) 表示法。仅在 proxy-headers 设置时可用。

CLI: --proxy-trusted-addresses
环境: KC_PROXY_TRUSTED_ADDRESSES

金库

vault

启用金库提供程序。

CLI: --vault
环境: KC_VAULT

file, keystore

vault-dir

如果设置,则可以通过读取给定目录中文件的內容来获取机密。

CLI: --vault-dir
环境: KC_VAULT_DIR

vault-file

密钥库文件的路径。

CLI: --vault-file
环境: KC_VAULT_FILE

vault-pass

金库密钥库的密码。

CLI: --vault-pass
环境: KC_VAULT_PASS

vault-type

指定密钥库文件的类型。

CLI: --vault-type
环境: KC_VAULT_TYPE

PKCS12 (默认)

日志记录

log

以逗号分隔的列表启用一个或多个日志处理程序。

CLI: --log
环境: KC_LOG

console, file, syslog

log-console-color

启用或禁用将日志记录到控制台时的颜色。

CLI: --log-console-color
环境: KC_LOG_CONSOLE_COLOR

仅在控制台日志处理程序被激活时可用

true, false (默认)

log-console-format

非结构化控制台日志条目的格式。

如果格式中包含空格,请使用“<format>”转义值。

CLI: --log-console-format
环境: 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
环境: KC_LOG_CONSOLE_INCLUDE_TRACE

仅在控制台日志处理程序和跟踪被激活时可用

true (默认),false

log-console-level

设置控制台处理程序的日志级别。

它指定了输出中显示的日志的最详细日志级别。它尊重log-level选项中指定的级别,该选项表示整个日志记录系统的最大详细程度。有关更多信息,请查看日志记录指南。

CLI: --log-console-level
环境: KC_LOG_CONSOLE_LEVEL

仅在控制台日志处理程序被激活时可用

off, fatal, error, warn, info, debug, trace, all (默认)

log-console-output

将日志输出设置为 JSON 或默认(普通)非结构化日志记录。

CLI: --log-console-output
环境: KC_LOG_CONSOLE_OUTPUT

仅在控制台日志处理程序被激活时可用

default (默认), json

log-file

设置日志文件路径和文件名。

CLI: --log-file
环境: KC_LOG_FILE

仅在文件日志处理程序被激活时可用

data/log/keycloak.log (默认)

log-file-format

设置特定于文件日志条目的格式。

CLI: --log-file-format
环境: 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
环境: KC_LOG_FILE_INCLUDE_TRACE

仅在文件日志处理程序和跟踪被激活时可用

true (默认),false

log-file-level

设置文件处理程序的日志级别。

它指定了输出中显示的日志的最详细日志级别。它尊重log-level选项中指定的级别,该选项表示整个日志记录系统的最大详细程度。有关更多信息,请查看日志记录指南。

CLI: --log-file-level
环境: KC_LOG_FILE_LEVEL

仅在文件日志处理程序被激活时可用

off, fatal, error, warn, info, debug, trace, all (默认)

log-file-output

将日志输出设置为 JSON 或默认(普通)非结构化日志记录。

CLI: --log-file-output
环境: KC_LOG_FILE_OUTPUT

仅在文件日志处理程序被激活时可用

default (默认), json

log-level

根类别的日志级别或以逗号分隔的各个类别及其级别的列表。

对于根类别,您无需指定类别。

CLI: --log-level
环境: KC_LOG_LEVEL

[info] (默认)

log-syslog-app-name

设置在 RFC5424 格式中格式化消息时使用的应用程序名称。

CLI: --log-syslog-app-name
环境: KC_LOG_SYSLOG_APP_NAME

仅在 Syslog 被激活时可用

keycloak (默认)

log-syslog-endpoint

设置 Syslog 服务器的 IP 地址和端口。

CLI: --log-syslog-endpoint
环境: KC_LOG_SYSLOG_ENDPOINT

仅在 Syslog 被激活时可用

localhost:514 (默认)

log-syslog-format

设置特定于 Syslog 条目的格式。

CLI: --log-syslog-format
环境: 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
环境: KC_LOG_SYSLOG_INCLUDE_TRACE

仅在 Syslog 处理程序和跟踪被激活时可用

true (默认),false

log-syslog-level

设置 Syslog 处理程序的日志级别。

它指定了输出中显示的日志的最详细日志级别。它尊重log-level选项中指定的级别,该选项表示整个日志记录系统的最大详细程度。有关更多信息,请查看日志记录指南。

CLI: --log-syslog-level
环境: KC_LOG_SYSLOG_LEVEL

仅在 Syslog 被激活时可用

off, fatal, error, warn, info, debug, trace, all (默认)

log-syslog-max-length

设置允许发送的消息的最大长度(以字节为单位)。

长度包括标头和消息。如果未设置,则默认值为 2048(当log-syslog-type为 rfc5424(默认)时)和 1024(当log-syslog-type为 rfc3164 时)。

CLI: --log-syslog-max-length
环境: KC_LOG_SYSLOG_MAX_LENGTH

仅在 Syslog 被激活时可用

log-syslog-output

将 Syslog 输出设置为 JSON 或默认(普通)非结构化日志记录。

CLI: --log-syslog-output
环境: KC_LOG_SYSLOG_OUTPUT

仅在 Syslog 被激活时可用

default (默认), json

log-syslog-protocol

设置用于连接到 Syslog 服务器的协议。

CLI: --log-syslog-protocol
环境: KC_LOG_SYSLOG_PROTOCOL

仅在 Syslog 被激活时可用

tcp (默认), udp, ssl-tcp

log-syslog-type

设置用于格式化发送消息的 Syslog 类型。

CLI: --log-syslog-type
环境: KC_LOG_SYSLOG_TYPE

仅在 Syslog 被激活时可用

rfc5424 (默认), rfc3164

跟踪 (预览)

tracing-compression

预览:用于压缩有效负载的 OpenTelemetry 压缩方法。

如果未设置,则禁用压缩。

CLI: --tracing-compression
环境: KC_TRACING_COMPRESSION

仅在启用 'opentelemetry' 功能和跟踪时可用

gzip, none (默认)

tracing-enabled

预览:启用 OpenTelemetry 跟踪。

CLI: --tracing-enabled
环境: KC_TRACING_ENABLED

仅在启用 'opentelemetry' 功能时可用

true, false (默认)

tracing-endpoint

预览:要连接到的 OpenTelemetry 端点。

CLI: --tracing-endpoint
环境: KC_TRACING_ENDPOINT

仅在启用 'opentelemetry' 功能和跟踪时可用

http://127.0.0.1:4317 (默认)

tracing-jdbc-enabled

预览:启用 OpenTelemetry JDBC 跟踪。

CLI: --tracing-jdbc-enabled
环境: KC_TRACING_JDBC_ENABLED

仅在启用 'opentelemetry' 功能和跟踪时可用

true (默认),false

tracing-protocol

预览:用于遥测数据的 OpenTelemetry 协议。

CLI: --tracing-protocol
环境: KC_TRACING_PROTOCOL

仅在启用 'opentelemetry' 功能和跟踪时可用

grpc (默认), http/protobuf

tracing-resource-attributes

预览:OpenTelemetry 资源属性,存在于导出的跟踪中,以表征遥测生产者。

格式为key1=val1,key2=val2的值。有关更多信息,请查看跟踪指南。

CLI: --tracing-resource-attributes
环境: KC_TRACING_RESOURCE_ATTRIBUTES

仅在启用 'opentelemetry' 功能和跟踪时可用

tracing-sampler-ratio

预览:OpenTelemetry 采样比率。

跨度被采样的概率。预期在区间<0,1)中的双精度值。

CLI: --tracing-sampler-ratio
环境: KC_TRACING_SAMPLER_RATIO

仅在启用 'opentelemetry' 功能和跟踪时可用

1.0 (默认)

tracing-sampler-type

预览:用于跟踪的 OpenTelemetry 采样器。

CLI: --tracing-sampler-type
环境: KC_TRACING_SAMPLER_TYPE

仅在启用 'opentelemetry' 功能和跟踪时可用

always_on, always_off, traceidratio (默认), parentbased_always_on, parentbased_always_off, parentbased_traceidratio

tracing-service-name

预览:OpenTelemetry 服务名称。

优先于tracing-resource-attributes属性中定义的service.name

CLI: --tracing-service-name
环境: KC_TRACING_SERVICE_NAME

仅在启用 'opentelemetry' 功能和跟踪时可用

keycloak (默认)

信任库

tls-hostname-verifier

对传出 HTTPS 和 SMTP 请求的 TLS 主机名验证策略。

CLI: --tls-hostname-verifier
环境: KC_TLS_HOSTNAME_VERIFIER

STRICT 和 WILDCARD 已弃用,请使用 DEFAULT 替代。弃用值:WILDCARD, STRICT

ANY, WILDCARD, STRICT, DEFAULT (默认)

truststore-paths

将用作系统信任库的 pkcs12(p12 或 pfx 文件扩展名)、PEM 文件或包含这些文件的目录的列表。

CLI: --truststore-paths
环境: KC_TRUSTSTORE_PATHS

安全性

fips-mode

设置 FIPS 模式。

如果设置了non-strict,则启用 FIPS 但处于非批准模式。要完全符合 FIPS,请设置strict以在批准模式下运行。当fips功能被禁用时,此选项默认为disabled,默认情况下是禁用的。当fips功能被启用时,此选项默认为non-strict

CLI: --fips-mode
环境: KC_FIPS_MODE

non-strict, strict

导出

dir

设置将使用导出的数据创建文件的目录的路径。

CLI: --dir
环境: KC_DIR

file

设置将使用导出的数据创建的文件的路径。

要导出超过 500 个用户,请导出到具有不同文件的目录。

CLI: --file
环境: KC_FILE

realm

设置要导出的域的名称。

如果未设置,将导出所有域。

CLI: --realm
环境: KC_REALM

users

设置如何导出用户。

CLI: --users
环境: KC_USERS

skip, realm_file, same_file, different_files (默认)

users-per-file

设置每个文件的用户数。

仅在将users设置为different_files时使用。增加此数字会导致导出时间呈指数级增长。

CLI: --users-per-file
环境: KC_USERS_PER_FILE

50 (默认)

导入

dir

设置将从其中读取文件的目录的路径。

CLI: --dir
环境: KC_DIR

file

设置将要读取的文件的路径。

CLI: --file
环境: KC_FILE

override

设置是否应该覆盖现有数据。

如果设置为 false,则将忽略数据。

CLI: --override
环境: KC_OVERRIDE

true (默认),false

引导管理员

bootstrap-admin-client-id

临时引导管理员服务帐户的客户端 ID。

仅在创建主域时使用。仅在设置引导管理员客户端密钥时可用。

CLI: --bootstrap-admin-client-id
环境: KC_BOOTSTRAP_ADMIN_CLIENT_ID

temp-admin (默认)

bootstrap-admin-client-secret

临时引导管理员服务帐户的客户端密钥。

仅在创建主域时使用。如果可能,请使用非 CLI 配置选项来设置此选项。

CLI: --bootstrap-admin-client-secret
环境: KC_BOOTSTRAP_ADMIN_CLIENT_SECRET

bootstrap-admin-password

临时引导管理员密码。

仅在创建主域时使用。如果可能,请使用非 CLI 配置选项来设置此选项。

CLI: --bootstrap-admin-password
环境: KC_BOOTSTRAP_ADMIN_PASSWORD

bootstrap-admin-username

临时引导管理员用户名。

仅在创建主域时使用。仅在设置引导管理员密码时可用。

CLI: --bootstrap-admin-username
环境: KC_BOOTSTRAP_ADMIN_USERNAME

temp-admin (默认)

在本页