0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏

文檔編寫目的

在前面的文章中介紹了用Ranger對Hive中的行進行過濾以及針對列進行脫敏,在生產環境中有時候會有脫敏條件無法滿足的時候,那麼就需要使用自定義的UDF來進行脫敏,本文檔介紹如何在Ranger中配置使用自定義的UDF進行Hive的列脫敏。

  • 測試環境

1.操作系統Redhat7.6

2.CDP DC7.0.3

3.集群已啟用Kerberos

4.使用root用戶操作


使用自定義UDF進行脫敏

2.1 授予表的權限給用戶

1.在Ranger中創建策略,將ranger_test庫下的t1表的select權限授予測試用戶

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


2.使用測試用戶查詢t1表

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏

目前用戶ranger_user1擁有對t1表的select權限


2.2 授予使用UDF的權限給用戶

1.將自定義UDF的jar包上傳到服務器,並上傳到HDFS,該自定義UDF函數的作用是將數字1-9按照a-j進行轉換

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


2.使用hive用戶創建UDF函數

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


3.測試UDF函數的使用

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


4.使用測試用戶登錄Hive並使用UDF函數,提示沒有權限

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


5.創建策略,授予測試用戶使用該UDF函數的權限

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


6.再次使用測試用戶進行驗證,使用UDF函數成功

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


2.3 配置使用自定義的UDF進行列脫敏

1.配置脫敏策略,使用自定義UDF的方式對phone列進行脫敏

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏


2.使用ranger_user1查看t1表

0765-7.0.3-如何用Ranger對Hive中的列使用自定義UDF脫敏

由上圖可見,自定義UDF脫敏成功


總結

1.對於任何可用的UDF函數,都可以在配置脫敏策略時使用自定義的方式配置進策略中,然後指定用戶/用戶組進行脫敏。

2.在創建脫敏策略之前,需要先確保對應的用戶/用戶組已經擁有對錶以及UDF函數的權限,否則脫敏策略不會默認授予用戶/用戶組對於表和UDF函數的權限。

3.在配置脫敏策略時,方式選擇Custom,在輸入框中填入UDF函數的使用方式即可,例如:function_name(arg)


分享到:


相關文章: