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

Keycloak中LDAP角色/组同步缺失问题求助

Keycloak手动触发AD组同步方案

针对你遇到的LDAP组未同步问题,以下是几个实用的手动触发同步方法,以及关键配置检查点:

一、使用Keycloak Admin CLI(kcadm)批量同步

这是最新版本Keycloak推荐的批量同步方式,步骤如下:

  1. 进入Keycloak安装目录的bin文件夹(例如/opt/keycloak/bin)
  2. 先通过kcadm登录到你的Keycloak实例:
    ./kcadm.sh config credentials --server http://your-keycloak-url:8080/auth --realm master --user admin --password your-admin-password
    
    注意:Keycloak 17+的Quarkus版本,路径无需/auth,改为http://your-keycloak-url:8080/
  3. 执行组同步命令,替换your-realm为目标Realm名称,your-ldap-provider-id为LDAP用户存储ID(可在Admin Console的「User Federation」页面查看,格式类似ldap1):
    ./kcadm.sh sync --ldap your-ldap-provider-id --action syncGroups --realm your-realm
    

二、检查LDAP组映射的关键配置

即使触发同步,配置错误也会导致组不显示,重点核对:

  • Member LDAP Attribute:在LDAP组映射配置中,该字段需设为AD存储成员的属性,通常为member(因你使用LOAD_GROUPS_BY_MEMBER_ATTRIBUTE模式,Keycloak会通过用户DN反向查询包含该用户的组)
  • Group DN:确认组的搜索DN范围正确,例如OU=Groups,DC=example,DC=com,需覆盖所有待同步的AD组
  • Group Object Classes:AD中组的对象类一般为group,请勿写错

三、手动同步单个用户的组

若仅需同步特定用户的组,可在Admin Console操作:

  1. 进入目标Realm的「Users」页面,找到目标用户并进入详情页
  2. 切换到「Groups」标签页,点击右上角的「Sync LDAP Groups」按钮(部分新版本可能隐藏在「Actions」下拉菜单中)

四、通过Keycloak REST API触发同步

也可直接调用API触发同步:

  1. 先获取Admin身份的访问Token
  2. 发送POST请求:
    POST http://your-keycloak-url:8080/admin/realms/your-realm/user-storage/your-ldap-provider-id/sync
    
    请求体:
    {
      "action": "syncGroups"
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:45:54