Ranger认知
程序员文章站
2022-07-14 11:18:32
...
1. 初识
ranger 隶属于Apache,是一套集中式的权限管理框架,可以对Hadoop生态中的HDFS/Hive/YARN/Kafka/Storm/Solr等组件进行细粒度的权限访问控制,并提供了Web UI方便管理员进行操作。
2. Ranger支持服务或组件
Ranger支持的服务有HDFS、Hbase、Hive、Yarn、Strom、Kafka、Knox、Solor,但要注意各个组件的版本,官网提供的版本如下:
3. Ranger组件介绍
Ranger Admin 、Ranger Usersync 与Ranger plugin,这个三者说是独立的
组件名称 说明
Admin | Ranger Admin Portal是安全管理的中心接口。 用户可以创建和更新策略,这些策略存储在策略数据库中。 每个组件内的Plugins会定期轮询这些策略。Portal还包括一个审计服务器,它发送从插件收集的审计数据,以便存储在HDFS或关系数据库中 |
---|---|
UserSync | 同步实用工具来从Unix或LDAP或Active Directory中拉取用户和组。 用户或组信息存储在Ranger门户中,用于策略定义。 |
Plugin | 插件是嵌入每个集群组件进程的轻量级Java程序。 例如,Apache Hive的Apache Ranger插件嵌入在Hiveserver2中。 这些插件从*服务器提取策略,并将它们本地存储在一个文件中。 当用户请求通过组件时,这些插件拦截请求并根据安全策略进行评估。 插件还可以从用户请求中收集数据,并按照单独的线程将此数据发送回审计服务器 |
3.1 Admin
Ranger admin它包含三个部分: Web页面、Rest消息处理服务以及数据库。 我们可以把它看成一个用来数据集中存储中心(所有的数据都集中存在这里,但是其它两个组件也可单独运行存在)。它的具体作用:
- 接收UserSync进程传过来的用户、组信息。 并将它们保存到MySql数据库中。 需要注意:这些用户信息在配置权限策略的时候需要使用。这个很容易理解,就象领物料的时候,管理员需要登记物料的领用人,如果不是本公司的人,肯定就不会让你领了。
- 提供创建policy策略的接口
- 提供外部REST消息的处理接口
3.2 UserSync
UserSync是Ranger提供的一个用户信息同步接口,可以用来同步Linux用户信息与LDAP用户信息。通过配置项:
SYNC_SOURCE = LDAP/Unix
来确认是LDAP还是Unix, 默认情况是同步Unix信息。 对于UserSync有三点需要说明:
3.2.1 这个同步是单向的。
就是说它只管从Unix上面的本地用户信息读取出来,然后上传到Ranger Admin上面。在其代码中也可以看到
3.2.2 UserSync不是实时同步的
如果用户新创建一个用户,但是这个用户无法立即同步到Ranger中
但是从我测试结果来看并不是太理想。因为我们系统要求用户创建后,能够马上在Ranger 上面创建策略。最终我们的解决的方案是:不使用UserSync这个进程,将Ranger中的同步代码抽取出来。利用这样来做到数据同步
3.2.3 不支持删除用户
Ranger暂时不支持通过同步或者代码的方式直接删除用户(Ranger 版本0.70)
上一篇: LeetCode第350题
下一篇: 认知Cookie