只能访问hive默认库_07687.0.3如何在Kerberos环境下用Ranger给Hive授权

本文档详细介绍了如何在CDPDC7.0.3集群中利用Ranger为Hive进行数据库、表、列的授权。通过创建和修改策略,测试了select、update、drop、create和alter等权限的授予与验证,同时讨论了Ranger授权与HDFS权限的关系,强调了HDFS权限需额外授权。
摘要由CSDN通过智能技术生成
文档编写目的

本篇文章主要介绍如何在CDP DC7.0.3集群中使用Ranger给Hive授权,包括对Hive中的数据库、表、列的授权。

  • 测试环境

1.操作系统Redhat7.6

2.CDP DC7.0.3

3.集群已启用Kerberos

4.使用root用户操作

使用Ranger为Hive授权

2.1 测试前置准备

1.在集群内所有节点创建两个用户ranger_user1,并创建对应的Kerberos用户,用于授权测试使用

251f26eef044ca0d9c456b1523206242.png

9204bca379e58d177d79becc9ca75fc0.png

2.使用hive用户登陆Beeline,创建一个测试库以及一个测试表,并将测试数据导入表中

·使用hive用户登陆Kerberos并连接Beeline

1e673c387298d927816df4831d5f6577.png

·创建测试库和测试表

e2b962ec5c0db820eb15a26114e2a289.png


·将测试数据load到测试表中

307fabb6f99003136f68ea9830546fa9.png

2.2 测试Ranger中对于Hive的各种授权

2.2.1 授权前测试

1.使用ranger_user1登陆Kerberos并链接Beeline进行测试

143998840027fcfd634b0f5c106940c3.png

7b7b50fc517427d3e1cfd70c18da0e06.png

由上图可以看出,ranger_user1在ranger_test库中只有一个show tables的权限,其他SELECT、UPDATE、DROP等权限都没有。

2.2.2 测试select权限

1.新建策略如下:

a5cc6953d15fea2654d11aeb39bee14a.png

f3b2720800ecea8d6e129c7720a475a5.png

配置完成后保存策略

092c8270d8b06399e36449acad72fd6f.png

2.使用ranger_user1进行测试如下:

b831e4b61eb59f209e689ea9b76edce9.png

由上图可知,授予的select权限成功

3.修改策略,针对字段进行授权

17af0eebbe311bf83742ef134e3908ec.png

4.对基于字段的授权进行验证

d6c3e967bb626c06822e60c1c448d2b2.png

由上图可见,由于只授予了name字段的select权限,所以只能查看name字段。

2.2.3 测试update权限

1.修改策略如下:

7437024416c18d6f49f10d35665be9b7.png

修改完成后保存策略

2.使用ranger_user1进行测试如下:

5d182646ab4343d765f8d1403e184cc0.png

9a9a1eceb127cd15524ef8b29feba2a2.png

由此可见,授予的update权限成功

2.2.4 测试drop权限

1.修改策略如下:

d7eca457b37e400480564b40a1a0e834.png

2.进行drop操作

a6984f5470d83c8ed72ab6042cf52293.png

可以看到,drop权限赋予成功

2.2.5 测试create权限

1.未修改策略前,使用ranger_user1进行create操作

cb46d5b024301ee5a145a12e14e05f30.png

2.修改策略如下:

848969f3ff2be5f3c744f781307e01fa.png

2db5823c1be5070425d1640f60d3f858.png

修改完成后保存策略

3.使用ranger_user1进行create操作

f8a2eaa697e80c0508bd2052aeed0062.png

由上图可知,授予的create权限成功

2.2.6 测试alter权限

1.未修改策略前,进行alter操作

69938412f67f39d7a644d138d83aa053.png

2.修改策略如下:

136907cdfbc0496e8125952e7cc15386.png

3.进行alter操作

014736ed49c1c7f2f4667c139ce737b7.png

由上图可见,alter权限赋予成功

2.3 Ranger授权Hive与HDFS权限

1.授予用户ranger_user1对ranger_test库下所有表的所有权限

7f67e283c03a9867610a051bfeca6356.png

997c8948242e829de49cb5062bd276d8.png

2.使用用户ranger_user1查看对应的HDFS路径

d98a9629a958ab6ab7541e733576274f.png

可以看到,授予了ranger_user1对于ranger_test库的所有权限后,仍然无法查看对应的HDFS路径

3.创建HDFS中的策略,授予用户ranger_user1对于ranger_test库所在HDFS路径的权限

e83aaa7436d6d1ded988910b85f16bf0.png

484c10b12c30ebf34d4a212b2835cc47.png

4.再次使用ranger_test1查看库所对应的HDFS路径

ff8afa693b14c5f65324f310628ecb7a.png

由上图可见,查看成功

总结

1.在Ranger中,针对Hive中表的insert操作对应的权限是update,并不是write权限。

2.在Ranger中有一些默认存在的策略,对于hive、impala、hue等系统用户,默认拥有所有的权限,默认的策略允许所有用户创建数据库,以及所有用户在default库下拥有查询和建表权限。

3.在Ranger中赋予用户Hive中库和表的权限,并不会使用户拥有对应的HDFS权限,如果需要访问HDFS路径,还是需要通过Ranger给HDFS授权。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值