2.4. 迁移配置
配置红帽构建的 Keycloak 服务器的新统一方法是通过配置选项。Red Hat Single Sign-On 7.6 配置机制(如 standalone.xml、jboss-cli 等)不再适用。
每个选项可以通过以下配置源定义:
- CLI 参数
- 环境变量
- 配置文件
- Java KeyStore 文件
如果通过不同的配置源指定相同的配置选项,则使用上述列表中的第一个源。
所有配置选项都位于所有不同的配置源中,其主要区别是密钥的格式。例如,以下有四个配置数据库主机名的方法:
| Source | 格式 |
|---|---|
| CLI 参数 | --db-url-host cliValue |
| 环境变量 | KC_DB_URL_HOST=envVarValue |
| 配置文件 | db-url-host=confFileValue |
| Java KeyStore 文件 | kc.db-url-host=keystoreValue |
kc.sh --help 命令以及红帽构建的 Keycloak 文档提供了所有可用配置选项的完整列表,其中选项按缓存、数据库等类别分组。此外,每个区域都存在单独的章节,如配置数据库的章节。https://docs.redhat.com/en/documentation/red_hat_build_of_keycloak/26.2/html-single/server_configuration_guide//db-
2.4.1. 迁移数据库配置 复制链接链接已复制到粘贴板!
与 Red Hat Single Sign-On 7.6 不同,红帽构建的 Keycloak 内置支持支持的数据库,不再需要手动安装和配置数据库驱动程序。例外是 Oracle 和 Microsoft SQL Server,它仍需要手动安装驱动程序。
在配置中,请考虑现有 Red Hat Single Sign-On 7.6 安装中的 datasource 子系统,并将这些配置映射到红帽构建的 Keycloak 中数据库配置类别中提供的选项。例如,以前的配置如下所示:
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" statistics-enabled="true">
<connection-url>jdbc:postgresql://mypostgres:5432/mydb?currentSchema=myschema</connection-url>
<driver>postgresql</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>50</max-pool-size>
</pool>
<security>
<user-name>myuser</user-name>
<password>myuser</password>
</security>
</datasource>
在 Red Hat build of Keycloak 中,使用 CLI 参数的等效配置将是:
kc.sh start
--db postgres
--db-url-host mypostgres
--db-url-port 5432
--db-url-database mydb
--db-schema myschema
--db-pool-min-size 5 --db-pool-max-size 50
--db-username myser --db-password myuser
考虑将数据库凭据存储在安全 KeyStore 配置源中。