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的这一条数据
由此可见 , 针对同一个表配置的多个行过滤条件均生效 。
推荐阅读
- 淘宝|如何在淘宝网上开网店?在淘宝网上开店有什么要求?
- Odaily星球日报|教程:如何在Polkadot CC1中映射并认领DOT
- CSDN|如何在容器内高效编程?
- 右手网|教程:如何在 MacOS Catalina 系统中安装新的免费字体
- 诺基亚|诺基亚将“三连发”,不过,这三款手机竞争力何在?
- pdf|如何在iPhone上将PDF转换为Excel
- eWisetech|E分析:消费者追求的那些高屏占比,是如何在手机中实现的
- 【】初创企业如何在“危”中找“机”?听听红杉资本等创投机构怎么说
- 迅捷CAD如何在CAD中插入Excel表格?一分钟教你学会两种方式
- 科技鉴品苹果辉煌不再的原因何在?这几点是关键因素!