【共用】LDAP 用户与 Kerberos 身份同步
# 两条身份链路如何衔接
LDAP 负责人员和用户组目录,Kerberos 负责强认证。内置 LDAP 与外置 LDAP 都通过同一条身份同步通道写入当前 Realm;下游服务只看到统一的 LDAP 用户和 Kerberos Principal。
从 权限与审计 可以同时查看两条链路的当前来源和状态。

# 前置条件
| 检查项 | 通过状态 |
|---|---|
| LDAP | 已接入,用户与用户组能够正常查询。 |
| Kerberos | 已启用,Realm 和 KDC 来源已确认。 |
| 同步通道 | 显示可用,不处于初始化或恢复中。 |
| 用户标识 | LDAP 登录属性能稳定映射成 Principal 短名。 |
外置 LDAP 不要求平台持有用户密码。平台使用目录服务账号读取允许同步的用户属性,再由受控的 KDC 同步身份创建对应 Principal;用户后续仍使用企业目录维护的登录凭据。
# 验证存量用户
进入 Kerberos 管理,在“认证身份同步”区域确认:
- 认证域正确,例如
TEST.COM。 - 同步通道可用。
- 页面显示目录身份已对齐,或明确列出待处理用户。

再到 账号凭据审计 按“用户账号”或“LDAP 用户”筛选,确认目录用户已经出现为 <uid>@REALM。
kadmin.local -q 'getprinc [email protected]'
1
外置 KDC 环境没有 kadmin.local 时,应由 KDC 管理员使用远程管理命令核对,平台节点不需要获取外部 KDC 的本地数据库权限。
# 验证新增用户
- 在当前 LDAP 来源创建测试用户,例如
kerb-sync-check。 - 把用户加入需要的平台用户组。
- 等待或手动触发目录同步。
- 在 Kerberos 账号审计中搜索
kerb-sync-check@REALM。 - 使用测试账号登录平台,并验证所属组权限。
用户管理页会直接显示每个 LDAP 用户的目录状态、所属组和 Kerberos 同步状态。新增用户同步完成后,这里的 Kerberos 列应显示“已同步”。

kinit [email protected]
klist
hdfs dfs -ls /
kdestroy
1
2
3
4
2
3
4
笔记
用户属于某个 LDAP 管理员组,只说明平台权限由组继承;是否允许访问 HDFS、Hive、Kafka 等数据,还要继续验证 Ranger 策略。目录组、平台权限包和 Ranger 策略是三个独立层次。
新增用户验证通过后,再删除测试账号或按企业目录流程回收。不要直接从 KDC 删除仍然存在于 LDAP 的用户身份,否则下一次同步可能重新创建。