hive插件 ranger_hive 整合ranger
一、安装hive插件
1、解压安装
# tar zxvf ranger-2.0.0-SNAPSHOT-hive-plugin.tar.gz -C /data1/hadoop/
2、修改install.properties
POLICY_MGR_URL=http://192.168.4.50:6080
REPOSITORY_NAME=hivedev
COMPONENT_INSTALL_DIR_NAME=/data1/hadoop/hive #hive安装目录
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://192.168.4.50:6083/solr/ranger_audits
CUSTOM_USER=hduser
CUSTOM_GROUP=hduser
3、启动hive插件
# sudo ./enable-hive-plugin.sh
启动hive插件以后,默认生成hiveserver2-site.xml文件,或者在已经存在的该文件下添加如下信息:
hive.security.authorization.enabled
true
hive.security.authorization.manager
org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory
hive.security.authenticator.manager
org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator
hive.conf.restricted.list
hive.security.authorization.enabled,hive.security.authorization.manager,hive.security.authenticator.manager
4、前台界面配置policy
点击加号添加服务
如果测试连接ok,说明配置成功。
注:我在配置的时候,这里测试连接失败,集群的hiveserver2服务启动,端口也正常监听,在集群内部使用beeline方式连接到集群进行操作时,提示如下错误:
Caused by: java.lang.NoSuchFieldError: REPLLOAD
最后发现是由于hive的版本与ranger hive里面的包版本不一致导致,我使用的hive版本是hive2.x,而ranger2.x对于的hive版本是3.x,所以,在使用的时候要注意版本的问题。
5、配置策略
当创建好服务以后,ranger默认就创建了一些policy,如下:
如果想要添加策略,可以添加右上角的add
6、测试
注意:ranger权限对应hive客户端是没有任何作用的,如果想要对hive客户端做权限认证,则可以使用hive基于sql的安全认证,ranger只是对hiveserver2方式进行权限控制。
(1) 首先使用beeline -u jdbc:hive2://localhost:10000 -n hduser 连接到hive
创建数据库(shanghai),该条语句可以正常执行。
在shanghai库里面创建表(test),则会创建失败,如下:
0: jdbc:hive2://192.168.0.230:10000> create table test(a string);
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hduser] does not have [CREATE] privilege on [shanghai/test] (state=42000,code=40000)
提示没有权限
(2) 添加策略,在上图policy ID为10的这条策略里面修改如下:
上述的hduser的新添加的。添加完保存,格一小会,在再beeline模式下执行创建表的测试,看是否成功,当然,这里给了该用户所有的权限,所以,该用户还可以进行insert等操作。
(3) 测试其他用户,比如当前的操作系统上面有一个yjt用户,我想该用户对test表有查询权限,先在beeline模式下测试改用户是否有select权限,如下:
[hduser@yjt ~]$ beeline -u jdbc:hive2://192.168.0.230:10000 -n yjt #指定登录用户为yjt
0: jdbc:hive2://192.168.0.230:10000> select * from shanghai.test;
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [yjt] does not have [SELECT] privilege on [shanghai/test/*] (state=42000,code=40000)
可以发现,yjt这个用户对于shanghai数据库下的test这个表是没有select权限的,添加权限:
还是在上述的策略10里面添加,如下:
上述保存以后,如下:
策略添加完以后,需要等待策略的下发,权限控制才生效。
注意:策略修改完以后,不用重新启动beeline。
说明策略配置成功,那么上述配置了yjt这个用户的select权限,是否该用户真的只有select权限呢?继续测试改用户是否真的只有select权限,所以这里使用该用户insert一条数据到test表,如下:
额,这还没到权限认证就开始报错了,上述的错误可以看到该用户对应hdfs的目录或者文件没有写权限,从这里也可以看到,还可以使用hdfs的权限认证限制hive用户。修改上述目录或者文件的权限为777(主要为了测试用户是否被hive ranger控制,所以这里设置为777,以排除其他干扰。)
[hduser@yjt conf]$ hadoop fs -setfacl -m user:yjt:rwx hdfs://yjt:9000/hive/warehouse/shanghai.db/test/
上述添加一条ACL。允许yjt所有操作
0: jdbc:hive2://192.168.0.230:10000> insert into table test values("test insert");
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [yjt] does not have [UPDATE] privilege on [shanghai/test] (state=42000,code=40000)
这里发现用户没有UPDATE权限,说明配置成功(在ranger里面,其实没有insert权限,只有update权限),接下来,在policy里面添加update权限,看是否可以成功的insert数据。
借鉴:
hive插件 ranger_hive 整合ranger相关推荐
- HBase 与Hive数据交互整合过程详解
Hive和Hbase整合理论 1.为什么hive要和hbase整合 2.整合的优缺点 优点: (1).Hive方便地提供了Hive QL的接口来简化MapReduce的使用, 而HBase提供了低延迟 ...
- 【伊利丹】Hadoop-2.5.0-CDH5.2.0/Hive与Hbase整合实验
Hadoop Hive与Hbase整合 用hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询 ...
- hive安装及整合hbase
hive安装及整合hbase (1). 上传hive安装包并解压 tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /export/server/ (2). 配置hi ...
- 数据湖(十):Hive与Iceberg整合
文章目录 Hive与Iceberg整合 一.开启Hive支持Iceberg 1.下载iceberg-hive-runtime.jar 2.配置hive-site.xml
- java hive和hbase整合,Hive入门3–Hive与HBase的整合
开场白: Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类 (Hive Storage Handle ...
- DGI Hive Prohibition Policy(Ranger)
介绍 Apache Ranger为Enterprise Hadoop生态系统提供集中安全性,包括细粒度访问控制和集中审计.在ranger-0.5版本中,Apache Ranger引入了堆栈模型,使新组 ...
- hive插件 ranger_Apache Ranger及Hive权限控制
一.Ranger概述 1.Ranger简介 Apache Ranger提供一个集中式安全管理框架, 并解决授权和审计.它可以对Hadoop生态的组件如HDFS.Yarn.Hive.Hbase等进行细粒 ...
- hive插件 ranger_Ranger Hive-HDFS ACL同步
Ranger Hive-HDFS ACL同步概述 Ranger资源映射服务器(Resource Mapping Server:RMS)可以将访问策略从Hive自动转换为HDFS. 关于Hive-HDF ...
- Ambari2.7.0 + HDP3.1.4.0安装,hdfs数据备份和恢复,hive数据备份和恢复,hbase数据备份和恢复,常见错误总结,Ambari卸载,hadoop-ha,hive和ES整合
目录 1 Ambari + HDP离线安装 1.1 介绍 1.1.1 Ambari介绍 1.1.2 HDP 1.1.3 HDP-UTILS 1.2 登录ambari官网地址 1.3 Ambari和HD ...
最新文章
- Linux文本比较命令:diff
- hbase redis mongoddb neo4j 非关系型数据库简介
- SharePoint 2007 Web Content Management 性能优化系列 前言
- 一天学会 Maven+Springboot+RabbitMQ 微服务快速开发教程
- 如何跑通第一个 SQL 作业
- python编程内置函数使用方法_Python内置函数 next的具体使用方法
- Knockoutjs官网翻译系列(一)
- 实现两(三)列等高布局的方法
- 【Elasticsearch】es一个奇怪的问题 is_write_index fasle的时候还在写入 索引滚动无效
- 为你的 Swift Packages 命名
- VB6 TCP通讯服务端、客户端源码
- 一个字形容大数据_中国大学校训大数据:最短的2个字,最长的28个字,10大高频汉字...
- 支付宝集福攻略,作为程序员的你集福了么?
- 手把手转行|小步试错,逐步迭代
- “前进!前进!不择手段地前进!”——托马斯·维德
- 8月8日科技联播:库比蒂诺想修超级高铁,市长点名要苹果掏钱
- 社群运营:从100个社群中选出有特色的8个分享给你
- matlab中关于unit8和double数值类型之间的存储数据和转换问题
- win10 office activation tools
- python解决八数码问题_A*算法解决15数码问题_Python实现
热门文章
- springboot、quartz定时任务未触发
- 如何用统计学指导自己的生活?
- vulnhub之hacksudo FOG
- 2款2.4G蓝牙PCB天线尺寸(来自TI)
- ZEMAX光学系统导入和CAD导出
- ipconfig、ping命令、其他常用网络命令
- 中国公用计算机互联网的国际出口带宽量为,我国互联网络国际出口带宽已达18599M...
- net mysql反斜杠怎么入库_MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义
- MFC ClientToScreen 和 ScreenToClient
- WebRTC实现一个网页在线录制视频