You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak未指定realm执行导出仅输出master域问题咨询

问题产生原因

  • Bitnami Keycloak Helm Chart默认启用配置文件隔离,集群部署场景下非master的realm配置默认存储在standalone-ha.xml路径下,你直接执行standalone.sh默认读取的是standalone.xml配置,该文件仅包含master realm的元数据,因此导出时无法识别其他realm。
  • 执行导出命令时Keycloak主进程仍在运行,同Pod内两个Keycloak进程会抢占数据库锁,导致导出进程仅完成初始化的master realm读取后就提前终止。
  • 若你使用的是Keycloak 17+的Quarkus发行版,仍然沿用旧版WildFly的standalone.sh导出逻辑,本身就存在配置读取不兼容的问题,也会出现仅导出master的情况。

对应解决方法

方法1:停止主进程后指定配置文件导出(适用于WildFly版本Keycloak)

  1. 先终止Pod内运行的Keycloak主进程,避免锁冲突:
kill $(ps aux | grep [s]tandalone.sh | awk '{print $2}')
  1. 执行导出时指定集群配置文件路径:
standalone.sh -c standalone-ha.xml -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=/opt/keycloak-export -Dkeycloak.migration.usersExportStrategy=DIFFERENT_FILES -Dkeycloak.migration.usersPerFile=100

单节点部署如果上述命令不生效,可以替换为你实际使用的自定义配置文件名。

方法2:通过Admin API导出(全版本通用,无需中断服务)

不需要进入Pod操作,也不会影响业务运行,优先推荐使用:

  1. 首先获取admin用户的访问令牌:
# 替换为你实际的Keycloak访问地址、管理员账号密码
export KEYCLOAK_URL=http://<your-keycloak-service-address>
export ADMIN_USER=admin
export ADMIN_PASS=<your-admin-password>

export TOKEN=$(curl -s -X POST "$KEYCLOAK_URL/realms/master/protocol/openid-connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=$ADMIN_USER" \
  -d "password=$ADMIN_PASS" \
  -d 'grant_type=password' \
  -d 'client_id=admin-cli' | jq -r '.access_token')
  1. 遍历所有realm批量导出:
# 获取所有realm名称
REALMS=$(curl -s -X GET "$KEYCLOAK_URL/admin/realms" \
  -H "Authorization: Bearer $TOKEN" \
  | jq -r '.[].realm')

# 逐个导出realm配置,可自定义是否导出客户端、角色、用户等参数
for realm in $REALMS; do
  echo "正在导出realm:$realm"
  curl -s -X GET "$KEYCLOAK_URL/admin/realms/$realm/export?exportClients=true&exportGroupsAndRoles=true&exportUsers=true" \
    -H "Authorization: Bearer $TOKEN" \
    -o "$realm-export.json"
done

内容的提问来源于stack exchange,提问作者royB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:36:03