3.3. 使用专用命令引导 admin 用户或服务帐户
即使首次启动红帽构建的 Keycloak 之前,也可以执行 bootstrap-admin 命令。请记住,在使用此命令之前,需要停止所有使用红帽的 Keycloak 节点构建。其执行将触发初始 master 域的创建,因此当服务器首次启动时,将忽略 bootstrap admin 用户和服务帐户的启动选项。
另外,强烈建议使用带有红帽构建的 Keycloak 服务器相同的选项(如 db 选项)的专用命令。
如果您使用 build 命令构建红帽构建的 Keycloak 版本,如 配置红帽 Keycloak 构建 中所述,请使用命令行选项 优化功能,让红帽构建 Keycloak 跳过一个更快的启动时间。执行此操作时,请从命令行删除构建时间选项,仅保留运行时选项。
如果您没有使用 优化 性,则 bootstrap-admin 命令会隐式为您创建或更新优化镜像 - 如果您从与服务器实例相同的机器中运行该命令,这可能会影响服务器下次启动。
3.3.1. 创建管理员用户 复制链接链接已复制到粘贴板!
要创建临时 admin 用户,请执行以下命令:
bin/kc.[sh|bat] bootstrap-admin user
bin/kc.[sh|bat] bootstrap-admin user
如果没有指定其他参数,且/或没有设置相应的环境变量,则会提示用户输入所需的信息。可以省略用户名值以使用默认值。如需更多信息,请参阅以下 第 3.5 节 “默认值” 和 第 3.7 节 “环境变量” 部分。
或者,可以在命令中直接指定参数:
bin/kc.[sh|bat] bootstrap-admin user --username tmpadm --password:env PASS_VAR
bin/kc.[sh|bat] bootstrap-admin user --username tmpadm --password:env PASS_VAR
此命令创建一个临时 admin 用户,用户名为 tmpadm,以及从环境变量检索的密码。
3.3.2. 创建服务帐户 复制链接链接已复制到粘贴板!
在自动化场景中,临时 admin 服务帐户可以是更合适的临时 admin 用户替代方案。
要创建临时 admin 服务帐户,请执行以下命令:
bin/kc.[sh|bat] bootstrap-admin service
bin/kc.[sh|bat] bootstrap-admin service
同样,如果没有设置对应的环境变量或设置其他参数,则会提示用户输入所需信息。可以省略客户端 ID 值,以使用默认值。如需更多信息,请参阅以下 第 3.5 节 “默认值” 和 第 3.7 节 “环境变量” 部分。
或者,可以在命令中直接指定参数:
bin/kc.[sh|bat] bootstrap-admin service --client-id tmpclient --client-secret:env=SECRET_VAR
bin/kc.[sh|bat] bootstrap-admin service --client-id tmpclient --client-secret:env=SECRET_VAR
此命令使用客户端 ID tmpclient 和从环境变量检索的机密创建临时 admin 服务帐户。