权限与安全总览推荐
先给结论
Kerberos、LDAP 和 Ranger 解决的是三类问题:Kerberos 负责强身份认证,LDAP 负责统一维护用户与用户组,Ranger 负责数据权限和审计。它们可以独立启用,也可以组合成一条完整的安全链路;生产环境还要分别消除 KDC、目录 Provider 和权限入口的单点风险。
# 三类能力分别负责什么
| 能力 | 主要职责 | 不负责什么 | 专题入口 |
|---|---|---|---|
| Kerberos | 给服务和用户签发票据,保护集群内的强身份认证 | 不维护企业组织结构,也不直接定义 HDFS、Hive、Kafka 的数据权限 | Kerberos 专题 |
| LDAP / Active Directory | 统一维护用户、用户组、成员关系和平台管理员映射 | 不替代 Kerberos 票据,也不自动授予数据访问权限 | LDAP 专题 |
| Ranger | 按用户和组控制数据权限,并记录策略与审计结果 | 不充当用户目录,也不替代 Kerberos 身份认证 | Ranger 安装 |
实际落地时,我会把“身份来自哪里”“访问时怎样证明身份”“证明身份后能做什么”分开验收。只看到 LDAP 用户能登录平台,不能说明 Kerberos Principal、Ranger 策略和下游组件权限已经同时可用。
# 按现场选择接入路线
Kerberos 强认证
在平台托管单节点、多节点 KDC 和外部 MIT KDC 之间选择,并完成 Principal、Keytab 与服务恢复验证。
LDAP 统一目录
在托管 OpenLDAP、企业外置 LDAP 和 Active Directory 之间选择,完成同步、登录、用户组与授权验收。
平台与组件高可用
统一查看 HDFS、YARN、Kerberos KDC、OpenLDAP Provider 和后续权限控制面的高可用路线。
config:
target: _self
data:
- name: Kerberos 强认证
desc: 在平台托管单节点、多节点 KDC 和外部 MIT KDC 之间选择,并完成 Principal、Keytab 与服务恢复验证。
link: /ambari-plus/security/kerberos/
bgColor: '#eef7ff'
textColor: '#17436b'
- name: LDAP 统一目录
desc: 在托管 OpenLDAP、企业外置 LDAP 和 Active Directory 之间选择,完成同步、登录、用户组与授权验收。
link: /ambari-plus/security/ldap/
bgColor: '#eefaf2'
textColor: '#1f5130'
- name: 平台与组件高可用
desc: 统一查看 HDFS、YARN、Kerberos KDC、OpenLDAP Provider 和后续权限控制面的高可用路线。
link: /ambari-plus/ha/
bgColor: '#f5f1ff'
textColor: '#493178'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| 现场条件 | 推荐起点 | 后续动作 |
|---|---|---|
| 先跑通开发或测试集群 | Kerberos 托管单节点,LDAP 选择一条目录路线 | 完成功能验收后,再规划多节点 KDC 与多 Provider 目录 |
| 生产集群尚未接入统一身份 | Kerberos 托管多节点 + 托管 OpenLDAP 高可用 | 再让 Ranger、Knox、SSSD 和业务组件分别消费统一身份 |
| 企业已有 MIT KDC 和 LDAP / AD | 外部 MIT KDC + 外置 LDAP / AD | 保留企业侧进程、备份、灾备和账号治理边界 |
| 只需要数据授权和审计 | 先安装 Ranger,并明确当前用户来源 | 是否启用 Kerberos 或 LDAP 由认证与目录需求决定 |
# 生产高可用不能只看节点数量
高可用验收要回答“入口是否稳定、数据是否复制、故障后谁接替、客户端是否真的恢复”。只看到页面里有两台主机,或者只做一次端口探测,都不能证明业务链路已经闭环。
| 对象 | 推荐拓扑 | 必须验证 | 操作入口 |
|---|---|---|---|
| Kerberos KDC | 1 个主 KDC + 1~2 个副本 KDC | 副本同步、各节点取票、单节点故障后的票据签发;管理写入边界单独确认 | 平台托管多节点部署 |
| 托管 OpenLDAP | 至少 2 个 Provider + 独立 LDAP 访问名 | 复制收敛、StartTLS / LDAPS、平台登录、Ranger Usersync、SSSD 与故障切换 | 托管 OpenLDAP 高可用部署 |
| HDFS / YARN | Active / Standby 控制角色 | 主备状态、统一访问、读写或作业验证、故障接替 | 开启高可用总览 |
| Ranger Admin | 多 Admin + 稳定访问入口 | 策略读取、策略变更、审计入口、组件 Plugin 重连 | 在高可用总览中继续规划 |
注意
LDAP Provider、KDC 副本和 Ranger Admin 即使部署在同一批主机上,也属于不同故障域。证书、负载均衡、备份恢复、监控和演练要分别设计,不能用一套“节点都在线”的结果替代全部验收。
# 推荐实施顺序
- 先确认 FQDN、时间同步、软件源、证书信任和维护窗口。
- 按现场选择 Kerberos 与 LDAP 路线。两者可以独立启用;需要目录用户同步到 KDC 时,再单独验收同步通道和历史用户回填。
- 安装 Ranger,并按用户组配置平台权限、资源权限与应用角色。
- 让 Knox、Ranger Usersync、SSSD 和各组件逐个接入,逐条验证登录、取票、授权和审计。
- 把单节点能力升级为高可用拓扑,完成真实故障切换和客户端恢复验证。
# 常见问题
# LDAP 和 Kerberos 必须一起安装吗
不必须。LDAP 管用户和组,Kerberos 管票据认证。可以只接入其中一个,也可以都启用;只有确实需要目录用户拥有 Kerberos Principal 时,才开启 LDAP 到 KDC 的身份同步。
# Kerberos 高可用是不是主 KDC 故障后所有管理操作都能自动写入
不是。副本 KDC 可以继续提供票据服务,但 Principal 创建、密码修改等管理写入仍要确认主 KDC 和管理服务的可用边界。票据可用与管理写入可用要分开验收。
# OpenLDAP 做了多 Provider,客户端就一定无感切换吗
不一定。还需要独立访问名、负载均衡健康检查、证书 SAN、客户端连接池与重试策略。平台登录、Ranger Usersync、SSSD 和长连接消费者都要分别做故障验证。
# 只看到 Ranger 策略生效,能否说明整条安全链路完成
不能。还要确认用户来源、Kerberos 票据、组同步、组件身份映射和审计记录。最可靠的验收方式,是用普通用户完成一次真实登录、取票、授权操作和权限回收。