79.1 演示環(huán)境介紹
- CM和CDH版本:5.13.1
- 已啟用Kerberos
- 已啟用Sentry
79.2 操作演示
測試數(shù)據(jù)
[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
創(chuàng)建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
將數(shù)據(jù)加載到外部表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數(shù)據(jù)進(jìn)行脫敏處理乓旗,SQL如下:
CREATE VIEW employees_masked AS
SELECT key,
fullname,
CONCAT('***-**-', SUBSTR(ssn, 8, 4)) AS ssn,
"PRIVATE" AS salary
FROM employees;
- 在命令行通過Beeline使用Hive管理員用戶登錄HiveServer2,進(jìn)行創(chuàng)建視圖操作
- 執(zhí)行SQL查看視圖數(shù)據(jù)
- 創(chuàng)建脫敏視圖
- 查看未脫敏視圖數(shù)據(jù)
CREATE VIEW employees_unmasked AS
SELECT key, fullname, ssn, salary
FROM employees;
- 權(quán)限分配及測試
- 創(chuàng)建faysona和faysonb用戶對(duì)應(yīng)上圖的Group A和Group B
- Hue管理員賬號(hào)登錄創(chuàng)建faysona和faysonb用戶
- 在命令行使用faysona用戶訪問employees表的數(shù)據(jù)文件
- hive用戶登錄Hue給faysona和faysonb用戶分別授權(quán)
- faysona用戶登錄Hue查看employees_unmasked和employees_masked視圖數(shù)據(jù)
- fHive引擎查詢employees_masked脫敏視圖數(shù)據(jù)
- Hive引擎查詢employees_unmasked未脫敏視圖
- Impala引擎查詢employees_masked脫敏視圖數(shù)據(jù)
- Impala引擎查詢employees_unmasked未脫敏視圖數(shù)據(jù)
- 在命令行使用faysona用戶訪問employees表的數(shù)據(jù)文件
[root@ip-186-31-16-68 ~]# kinit faysona
[root@ip-186-31-16-68 ~]# hadoop fs -cat /extwarehouse/data/employees/employees.csv
- 總結(jié)
- 為Hive數(shù)據(jù)進(jìn)行脫敏處理可以使用regexp_replace()函數(shù)通過正則表達(dá)式的方式敏感數(shù)據(jù)屏蔽洗出,也可以通過自定義的UDF函數(shù)來等方式來實(shí)現(xiàn)敏感數(shù)據(jù)脫敏
- 通過脫敏SQL創(chuàng)建視圖骤视,使用Sentry權(quán)限控制將脫敏數(shù)據(jù)的視圖提供給不同的用戶訪問
- 授權(quán)訪問視圖(即使授權(quán)ALL)的用戶也無權(quán)限訪問相應(yīng)表的底層數(shù)據(jù)文件
大數(shù)據(jù)視頻推薦:
騰訊課堂
CSDN
大數(shù)據(jù)語音推薦:
企業(yè)級(jí)大數(shù)據(jù)技術(shù)應(yīng)用
大數(shù)據(jù)機(jī)器學(xué)習(xí)案例之推薦系統(tǒng)
自然語言處理
大數(shù)據(jù)基礎(chǔ)
人工智能:深度學(xué)習(xí)入門到精通