ranger控制数据访问权限

ranger的特点就是,自己可以帮你去干你不能干的事情。

比如你这个用户没有hdfs某个目录下某个文件的读权限,但是你在ranger里面配了可以访问这个文件,你访问时ranger就帮你拿回来给你

索引:一,hbase权限;二,hdfs权限;三,yarn权限

 

一,hbase权限 (OK)

【前置】

Ranger上配置了HBase的所有表都只能由hbase用户和ambari-qa用户来访问

ranger控制数据访问权限_第1张图片

 

【实际】

1、我们使用hive用户执行hbase shell,然后去取HBaseExample表的结构时,被提示这个表未知

ranger控制数据访问权限_第2张图片

2、我们使用hbase用户执行hbase shell,同样执行,取到了表的结构

ranger控制数据访问权限_第3张图片

 

二,hdfs权限

【01目录】

【前置】

只配置了hdfs和hive用户有访问/rangertest的权限

ranger控制数据访问权限_第4张图片

 

【操作】

无论使用hbase,zookeeper还是hdfs用户,都能ls访问hdfs的/rangertest目录

ranger控制数据访问权限_第5张图片

但是确实只有hive和hdfs用户能修改成功,如下面hbase用户就失败了

ranger控制数据访问权限_第6张图片

 

【02.文件】

【前置】

配置hdfs、hive可以读写/rangertest/444文件

ranger控制数据访问权限_第7张图片

【操作】

所有用户都也可以拿到文件,但不是ranger的问题,原因如下

 

实际上,需要先修改hdfs上文件的访问权限(原来是644,改为600)

ranger控制数据访问权限_第8张图片

 

三,yarn权限

【前置】

配置yarn queue

ranger控制数据访问权限_第9张图片


创建一个名字叫llc的queue,分配合适的资源,保存刷新

ranger控制数据访问权限_第10张图片


 

然后本地运行

sudo -u hdfs hadoop jar hadoop-mapreduce-examples-2.7.3.2.5.0.0-1245.jarwordcount -Dmapreduce.job.queuename=llc /tests2 /tests2/output

查看结果:

ranger控制数据访问权限_第11张图片

 

 

再跑hbase用户同样的程序

sudo -u hdfs hadoop jar hadoop-mapreduce-examples-2.7.3.2.5.0.0-1245.jarwordcount -Dmapreduce.job.queuename=llc /tests3 /tests3/output

ranger控制数据访问权限_第12张图片

 

 

你可能感兴趣的:(hortonworks)