Ranger支援對Hive資料的脫敏處理(Data Masking),它對 select
的傳回結果進行脫敏處理,對使用者屏蔽敏感資訊。
備注:
該功能針對HiveServer2的場景(如beeline/jdbc/Hue等途徑執行的select),對于使用Hive Client(如hive -e 'select xxxx')不支援。
接下來介紹如何在E-MapReduce中使用該功能的步驟。
1.Hive元件配置Ranger
參見文檔:
Enable Hive Ranger Plugin2. 配置Data Mask Policy
在Ranger UI的
emr-hive
的service頁面可以對使用者通路Hive資料進行脫敏處理。
- 支援多種脫敏處理方式,比如顯示開始的4個字元/顯示最後的4個字元/Hash處理等
-
(如policy中table/column不能配置為*)配置Mask Policy時不支援通配符
- 每個policy隻能配置一個列的mask政策,多個列需要配置各自的mask policy
配置Policy流程:

最後儲存即可。
3. 測試資料脫敏
場景:
使用者test在select表testdb1.testtbl中列a的資料時,隻顯示最開始的4個字元。
流程:
a) 配置policy
在上面一節的最後一個截圖,其實就是配置了該場景的一個policy,可參考上圖(其中脫敏方式選擇了show first 4)。
b) 脫敏驗證
test使用者使用beeline連接配接HiveServer2,執行
select a from testdb1.testtbl
如上圖所示,test使用者執行select指令後,列a顯示的資料隻有前面4個字元是正常顯示,後面字元全部用
x
來脫敏處理。