0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏( 三 )


本文插图

0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

2.查询t1表进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

由上图可见 , 日期一列只显示了年份 , 月份和日期使用了01-01进行代替 。
3.7 Custom
该方式指定自定义的值或表达式 , 同时也可以使用任何有效的自定义的UDF
1.修改策略 , 使用phone列进行测试 , 屏蔽掉中间的四位数字
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

2.查询t1表进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

如上图可见 , phone对应的数据中间的四位数字都被屏蔽了 。
总结
1.Hive的行过滤可以对同一张表针对不同用户配置多个条件 , 可以满足实际场景的很多需要 , 例如在访问该表时不同的租户只能看到自己的数据 。
2.Hive的行过滤有助于简化Hive查询 。 配置了行过滤相当于提供默认的where子句 , Hive每次尝试访问数据时都会应用该条件 , 这有助于简化Hive查询的编写 , 不需要再将where子句添加到原本的查询语句中 。
3.Hive的列脱敏中每个列都应具有单独的屏蔽策略 , 同一个策略只能针对一个列 , 在处理访问请求时 , 会按照策略中条件的顺序进行屏蔽 。
4.Hive的列脱敏不支持通配符的匹配 。 如表和字段不能配置为*值 。
5.在使用Date进行列脱敏时 , Hive中对应字段的格式需要是时间类型 , 在测试中使用的date类型 。
6.在对列进行脱敏时 , 除了使用指定的选项外 , 还可以用自定义的表达式或者UDF来进行脱敏 。


推荐阅读