天天看點

使用Ranger對Hive資料進行脫敏

Ranger支援對Hive資料的脫敏處理(Data Masking),它對

select

的傳回結果進行脫敏處理,對使用者屏蔽敏感資訊。

備注:

該功能針對HiveServer2的場景(如beeline/jdbc/Hue等途徑執行的select),對于使用Hive Client(如hive -e 'select xxxx')不支援。

接下來介紹如何在E-MapReduce中使用該功能的步驟。

1.Hive元件配置Ranger

參見文檔:

Enable Hive Ranger Plugin

2. 配置Data Mask Policy

在Ranger UI的

emr-hive

的service頁面可以對使用者通路Hive資料進行脫敏處理。

  • 支援多種脫敏處理方式,比如顯示開始的4個字元/顯示最後的4個字元/Hash處理等
  • 配置Mask Policy時不支援通配符

    (如policy中table/column不能配置為*)
  • 每個policy隻能配置一個列的mask政策,多個列需要配置各自的mask policy

配置Policy流程:

使用Ranger對Hive資料進行脫敏
使用Ranger對Hive資料進行脫敏
使用Ranger對Hive資料進行脫敏

最後儲存即可。

3. 測試資料脫敏

場景:

使用者test在select表testdb1.testtbl中列a的資料時,隻顯示最開始的4個字元。

流程:

a) 配置policy

在上面一節的最後一個截圖,其實就是配置了該場景的一個policy,可參考上圖(其中脫敏方式選擇了show first 4)。

b) 脫敏驗證

test使用者使用beeline連接配接HiveServer2,執行

select a from testdb1.testtbl

使用Ranger對Hive資料進行脫敏

如上圖所示,test使用者執行select指令後,列a顯示的資料隻有前面4個字元是正常顯示,後面字元全部用

x

來脫敏處理。