0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
文档编写目的
本篇文章主要介绍如何在CDP DC7.0.3集群中使用Ranger在Hive中进行行过滤及列脱敏 , 行级别的过滤相当于一个强制性的where子句 , 例如在订单表中 , 员工仅被允许查看自己所在地区的订单 , 其他区域的无法查看 。 列脱敏可以对某些敏感信息的列进行数据屏蔽 , 例如身份证号可以屏蔽中间的八位 。
- 测试环境
2.CDP DC7.0.3
3.集群已启用Kerberos
4.使用root用户操作
使用Ranger配置Hive中的行过滤
2.1 对表配置单个行过滤条件
在配置Hive中的行过滤前 , 需要确保授权的用户/用户组已有对要过滤的表的访问权限 , 即在授权给ranger_user1用户对表t1的行过滤策略前 , ranger_user1需要对t1有访问权限 。
1.配置ranger_user1对表t1的访问策略
本文插图
本文插图
配置完成后保存
2.使用ranger_user1查询t1表
本文插图
本文插图
用户ranger_test1对表t1有select权限 , 一共查询出7条记录
3.配置行过滤策略
本文插图
本文插图
本文插图
配置完成后保存
4.使用用户ranger_test1再次访问t1表
本文插图
可以看到 , 此时name=Tom的那条数据已经被过滤 , 查询结果只有6条数据 。
2.2 对表配置多个行过滤条件
针对同一个表中可以配置多个行过滤条件 , 例如每个租户只能看到自己的数据行 , 下面测试对同一个表配置多个行过滤条件 。
1.在所有节点创建一个新的测试用户ranger_user2 , 并创建Kerberos用户
本文插图
本文插图
2.修改访问表t1的策略 , 以及行过滤策略
·访问策略修改 , 加入ranger_user2
本文插图
·行过滤策略修改 , 加入对ranger_user2的过滤条件
本文插图
3.使用ranger_user2查询t1表
本文插图
可以看到ranger_user2无法查看到name=Eric的这一条数据
4.再次使用ranger_user1查询t1表
本文插图
可以看到ranger_user1仍然无法查看到name=Tom的这一条数据
由此可见 , 针对同一个表配置的多个行过滤条件均生效 。
推荐阅读
- 追狐狸的人呐|判断队友是不是演员?,王者荣耀:如何在选英雄的阶段
- 「现代集团」韩系车全球实力到底有多强?全球第五大企业为何在你眼里一文不值
- 一国之君历史研究|曹操被骂汉贼却终身未称帝,原因何在,刘备号称仁义却篡汉称帝
- 追狐狸的人呐|王者荣耀:如何在选英雄的阶段,判断队友是不是演员?
- 产业气象站 数字经济缘何在普陀蓬勃兴起?早早埋下的“数字基因”正在加速聚合……
- 一曲一叹|散户如何在牛市中赚到大钱?这三种方法一定要看
- 飞虎卡管家 下载APP手机就是POS机,手机POS市场何在
- 解放军报|如何在“小岗位”中找到大舞台,士官参谋有话说
- 安于此生|上市一周订单竟成这样!吉利牌“汉兰达”到底实力何在?
- 『物理』佛脚来了!高分考生教你如何在高考中抢分,还有各科“偷分”技巧,千万别错过!
