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


使用Ranger配置Hive中的列脱敏
Ranger的列屏蔽功能可以近乎实时地保护Hive中的敏感数据 , 可以通过设置策略 , 动态屏蔽或匿名化敏感的数据列 , 例如可以屏蔽一列的前四个或后四个字符 , 也可以将整列数据都屏蔽 , 下面会演示屏蔽的各种规则 。
准备一张测试表 , 数据如下:
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

3.1 Redact
该方式是将所有字母用x代替 , 所有的数字字符用n代替 。
1.新建列脱敏策略 , 使用password列进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

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

点击Add添加策略
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

2.使用ranger_user1进行测试 , 需要注意的是列脱敏的策略也是基于该用户能够访问t1表的前提才能生效 。
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

可以看到 , 除了一行数据中的特殊字符外 , 其余的数字和字母都进行了相应的替换
3.2 Partial mask: show last 4
该方式是仅显示最后四个字符
1.修改策略 , 使用phone数据列进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

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

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

由上图可见 , 手机号这一列只显示了最后四个字符
3.3 Partial mask: show first 4
该方式是仅显示最前面四个字符
1.修改策略 , 使用phone列进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

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

3.4 Hash
将所有字符替换为整个单元格的值对应的哈希
1.修改策略 , 使用name列进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

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

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

3.5 Nullify
将所有字符替换为NULL值
1.修改策略 , 使用name列进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏
本文插图

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

3.6 Date
仅显示日期字符串的年份部分 , 并且默认月份和日期为01/01
1.修改策略 , 使用create_date列进行测试
0769-如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏


推荐阅读