大数据集群权限管理需求
城市计算场景对接多部门数据,部分数据需严格、精细的权限控制。访问入口分散(客户端RPC、Hadoop客户端、Hive客户端、Spark客户端、HBase客户端、Beeline/JDBC、HTTP访问等),权限管理步骤复杂,集群长期处于“裸奔”状态,需解决认证和授权问题。
大数据集群权限管理难点
需对所有访问入口和方式进行鉴权,实现集中式统一管理,支持灵活的策略组合和细粒度控制。关键环节包括身份识别、组映射(hdfs用户组概念)和授权。
主流方案对比
认证
- LDAP认证:存储密码和用户信息,适用于简单密码验证。
- Kerberos认证:支持SSO,使用安全凭证,防止网络重放攻击,无需密码传递,适用于全方位安全认证。
- 结论:单一组件认证可使用LDAP,全方位安全认证需使用Kerberos。
授权
- Ranger:面向Hadoop生态,集中式权限管理和审计框架,支持细粒度数据访问控制。
- Sentry:基于角色的授权模块,提供数据访问控制。
- 结论:Ranger是首选的大数据集群权限管理框架。
组映射
- Unix Group Mapping:管理方式灵活,可在集中入口添加、修改、删除用户。
- LDAP Group Mapping:使用LDAP管理用户和组信息。
- 结论:最佳实践为RLK(Ranger+LDAP+Kerberos)。
RLK原理
- Ranger架构:
- Rangeradmin portal:安全管理门户界面,用于创建和更新策略,存储策略,收集审计日志。
- Ranger plugins:嵌入集群组件进程的轻量级Java程序,提取策略并本地存储,拦截请求并根据策略评估是否放行。
- User group sync/Tag sync:从Unix、LDAP或AD提取用户和组信息,同步到Ranger门户,用于策略定义。
RLK方案在京东城市实践
- 应用场景:城市操作系统通过租户机制应对精细化权限管理需求,应用层权限管理模块与大数据平台权限系统打通。
- 账号映射:应用层权限设置通过API同步映射到Ranger策略中。
- FreeIPA:简化Kerberos+LDAP的安装、配置和管理过程。
- 认证:启用Kerberos时,先进行身份认证,再获取服务连接。
- 授权:城市操作系统租户创建自动触发LDAP账号创建,同步到Ranger中,Plugin缓存策略可能导致Ranger Admin模块短暂不可用,但不影响集群鉴权。
大数据权限管理总结
- 核心观点:大数据权限管理本质是身份识别、组映射和授权,需整合关键环节形成落地方案。
- 安全性方案:
- 全方位高安全性方案(RLK):Ranger(授权)、LDAP(组映射)、Kerberos(认证),实现全方位安全保护,但配置管理复杂,可使用FreeIPA简化。
- 局部普通安全性方案(RL):在安全性要求较低的场景或集群内部封闭时,可使用LDAP替代Kerberos进行简单密码认证。