Alt+Enter怎么没有(enter+alt)
756
2022-05-30
Ranger-hbase鉴权原理
基本流程
RangerAuthorizationCoprocessor实现了CoprocessorService接口,将自己注册进去,监听grant、revoke。实现了grant(),和revoke()方法。在grant中UpdateRangerPoliciesOnGrantRevoke = true将要更新自己的配置。默认值为true,代表了hbase grant操作会同步更新ranger中的权限。会将所有的鉴权操作,放在AuthorizationSession中,其中有缓存权限信息。
PolicyRefresher会同步ranger权限配置,默认是30s更新一次。
RangerPolicyEngineImpl#isAccessAllowed中会从RangerPolicyRepository中查找该资源的所有Policy,遍历执行RangerDefaultPolicyEvaluator#evaluatePolicyItems,来进行评估是否有权限访问。遍历过程中如果发现了匹配的规则,决定了deny还是allow,遍历就会break。每一次的遍历先从denyEvaluators里查找匹配的deny权限,如果没有找到,就从allowEvaluators里查找匹配的allow权限。
pollingIntervalMs = RangerConfiguration.getInstance().getLong(propertyPrefix + ".policy.pollIntervalMs", 30 * 1000);
Rangers实现了自己的类加载器,用于解决jar版本冲突。
RangerPluginClassLoader,根据指定目录加载class文件,并且保存在内存中,使ranger的相关进程都可以共享。Ranger实现的类加载器破坏了双亲委派机制,从而将自己使用的第三方库和组件使用的第三方库隔离。
Ranger和HBase ACL对比:
ranger中新增的allow,deny方式进行权限控制,增加了权限排除的多种组合。
ranger将平台多个组件的权限控制进行集中管理,易于操作,把控。
ranger的DB容易成为该系统的单点,因为所有的策略更新都要访问该DB;
ranger权限的生效周期不如hbase自带策略及时;
操作项
Ranger
HBase ACL
权限管理
需要在ranger管理界面上配置用户,表的权限
在hbase shell通过命令可以赋权
表级权限
支持
支持
列簇级权限
支持
支持
字段级权限
支持
支持
行级权限
不支持
支持
权限生效周期
有延迟,一般是30s
实时生效
EI企业智能 FusionInsight HBase
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。