Ranger支持對Hive數據的脫敏處理(Data Masking),即可以對Select的返回結果脫敏,以屏蔽敏感信息。

背景信息

該功能只針對HiveServer2的場景(例如,Beeline、JDBC和Hue等途徑執行的Select語句)。

操作步驟

說明 本文Ranger截圖以2.1.0版本為例,其余版本請以實際界面為準。
在Ranger UI配置頁面的emr-hive頁簽,您可以對Hive數據進行脫敏處理:
  • 支持多種脫敏處理方式。例如,顯示開始的4個字符、顯示最后的4個字符或Hash處理等。
  • 配置Mask Policy時不支持通配符。例如Policy中Table或Column不能配置星號(*)。
  • 每個Policy只能配置一個列的Mask策略,多個列時需要配置各個列的Mask Policy。
  1. Hive組件配置Ranger,詳情請參見配置Hive集成Ranger。
  2. 在Ranger頁面,單擊emr-hive。
    Ranger-2
  3. 配置Masking Policy。
    1. 單擊上方的Masking頁簽。
      hive_masking
    2. 單擊右上角的Add New Policy。
    3. Create Policy頁面,配置相關參數。
      hive_para
      參數 描述 示例
      Policy Name Policy的名稱??梢宰远x。 test_mask
      Hive Database 添加Hive中的數據庫。 testdb
      Hive Table 添加表。 testtb1
      Hive Column 可添加列名。 a
      Select User 指定添加此策略的用戶。 test
      Access Types 選擇授予的權限。 select
      Select Masking Option 選擇脫敏方式。 Partial mask: show first 4
    4. 單擊Add。
  4. 可選:測試脫敏數據。
    例如,test用戶使用select a from testdb1.testtbl;語句查看表testdb1.testtbl中a列的數據時,只有前面4個字符是正常顯示,后面字符全部用x脫敏處理了。hive-column