79.Sentry实现HiveImpala数据脱敏

79.Sentry实现HiveImpala数据脱敏,第1张

79.Sentry实现Hive/Impala数据脱敏 79.1 演示环境介绍
  • CM和CDH版本:5.13.1
  • 已启用Kerberos
  • 已启用Sentry
79.2 *** 作演示

测试数据

[root@ip-186-31-16-68 datamasking]# vim employees.csv
1,John Smith,123-55-4567,25000.0
2,Jim Bloggs,999-88-7777,35000.0
3,Jane Doe,808-88-0880,45000.0

创建Hive外部表

CREATE EXTERNAL TABLE employees
(key INT, fullname STRING, ssn STRING, salary FLOAT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/extwarehouse/data/employees/';

用beeline连接HiveServer2

[root@ip-186-31-16-68 datamasking]# beeline 
beeline> !connect jdbc:hive2://ip-186-31-24-169.ap-southeast-1.compute.internal:10099/;principal=hive/ip-186-31-24-169.ap-southeast-1.compute.internal@FAYSON.COM

将数据加载到外部表employees的HDFS目录

[root@ip-186-31-16-68 ~]# cd datamasking/
[root@ip-186-31-16-68 datamasking]# ll
total 8
-rw-r--r-- 1 root root  97 Mar 15 23:12 employees.csv
-rw-r--r-- 1 root root 173 Mar 15 23:22 employees.sql
[root@ip-186-31-16-68 datamasking]# hadoop fs -put employees.csv /extwarehouse/data/employees/
[root@ip-186-31-16-68 datamasking]# hadoop fs -ls /extwarehouse/data/employees/
Found 1 items
-rwxrwx--x+  3 hive hive         97 2018-03-15 23:28 /extwarehouse/data/employees/employees.csv
[root@ip-186-31-16-68 datamasking]# 

通过视图的方式将employees表中的ssn数据进行脱敏处理,SQL如下:

CREATE VIEW employees_masked AS
SELECt key,
       fullname,
       CONCAt('***-**-', SUBSTr(ssn, 8, 4)) AS ssn,
       "PRIVATE" AS salary
FROM employees;
  • 在命令行通过Beeline使用Hive管理员用户登录HiveServer2,进行创建视图 *** 作
    • 执行SQL查看视图数据
  • 创建脱敏视图
    • 查看未脱敏视图数据
CREATE VIEW employees_unmasked AS
       SELECt key, fullname, ssn, salary
FROM employees;
  • 权限分配及测试
    • 创建faysona和faysonb用户对应上图的Group A和Group B
    • Hue管理员账号登录创建faysona和faysonb用户
    • 在命令行使用faysona用户访问employees表的数据文件
    • hive用户登录Hue给faysona和faysonb用户分别授权
    • faysona用户登录Hue查看employees_unmasked和employees_masked视图数据
    • fHive引擎查询employees_masked脱敏视图数据
    • Hive引擎查询employees_unmasked未脱敏视图
    • Impala引擎查询employees_masked脱敏视图数据
    • Impala引擎查询employees_unmasked未脱敏视图数据
    • 在命令行使用faysona用户访问employees表的数据文件
[root@ip-186-31-16-68 ~]# kinit faysona
[root@ip-186-31-16-68 ~]# hadoop fs -cat /extwarehouse/data/employees/employees.csv
  • 总结
    • 为Hive数据进行脱敏处理可以使用regexp_replace()函数通过正则表达式的方式敏感数据屏蔽,也可以通过自定义的UDF函数来等方式来实现敏感数据脱敏
    • 通过脱敏SQL创建视图,使用Sentry权限控制将脱敏数据的视图提供给不同的用户访问
    • 授权访问视图(即使授权ALL)的用户也无权限访问相应表的底层数据文件

大数据视频推荐:
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存