集中权限管理框架——Ranger

一、什么是Ranger

Apache Ranger是提供集中式权限管理的框架,可以实现Hadoop生态中的HDFS、YARN、Hive、Kafka、Storm和Solr等组件进行细粒度的权限访问控制。同时提供审计功能,如日志审计,记录各个组件资料的访问信息。

1、组件特性

1)基于策略(Policy)的访问权限模型;

2)通用的策略同步与决策逻辑,方便控制插件的扩展接入;

3)内置常见系统(HDFS、YARN、HBase等)的控制插件,且可扩展;

4)内置基于LDAP(轻量级目录访问协议)、File、Unix的用户同步机制,且可扩展;

5)统一的中心化管理界面,包括策略管理、审计查看、插件管理等。

2、权限模型

访问权限描述了“用户-资源-权限”三者之间的关系,其中:

用户:由User或Group来表达访问资源的用户或用户所在用户组;

资源:由Resource来表达,不同组件对应的业务资源不一样,如HDFS的File Path,HBase的Table;

权限:由AllowACL、DenyACL表达允许和拒绝访问。

Ranger中对于访问权限模型的表达式描述为:

Service = List<Policy>

Policy = List<Resource> + AllowACL + DenyACL

AllowACL = List<AccessItem> allow + List<AccessItem> allowException

DenyACL = List<AccessItem> deny + List<AccessItem> denyException

AccessItem = List<User/Group> + List<AcessType>

由表达式可知一条Policy分为:allow、allowException、deny、denyException四组AccessItem,则优先级:denyException > deny > allowException > allow

决策下放:如果没有Policy能决策访问,一般情况认为没有权限拒绝访问,Ranger支持将决出下放给系统自身的访问控制层。

 

3、总体架构

 

Ranger Admin:创建和更新安全访问策略,这些策略被存储在数据库中,各个组件的Plugin定期对这些策略进行轮询。具体作用:

  1. 接受UserSync进程传过来的用户/组信息,并存储在MySQL数据库中。
  2. 提供创建policy策略接口
  3. 以RESTFUL形式提供策略增删改查接口,同时内置一个web管理界面。

Ranger Plugins:嵌入各个集群组件进程中,是一个轻量级的Java程序,Plugin从Ranger Admin服务端拉取策略,并存储在本地文件中,当接收到来自组件用户请求时,对应组件Plugin拦截该请求,根据安全策略进行评估。

Ranger UserSync:提供的用户同步工具,可以从Unix或LDAP中拉去用户和用户组信息,这些用户和用户组信息被存储在Ranger Admin数据库中,可以在定义策略时使用。

注:

a)UserSync同步用户是单向的;不是实时同步;不支持用户删除。

b)Ranger TagSync同步Atlas中的Tag信息,基于标签的权限管理,基于标签的权限管理,当一个用户的请求涉及到多个应用系统中的多个资源的权限时,可以通过只配置这些资源的tag方便快速的授权

c)KMS: Hadoop透明加密,Hadoop Key Management Server(KMS)是一个基于HadoopKeyProvider API编写的密钥管理服务器。

4、Kerberos与Ranger区别

Keberos与Ranger都是Hadoop安全体系中的重要部分,但是其分工不同,多数系统两种组件相互系

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值