文檔編寫目的
在前面的文章中介紹了用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權限授予測試用戶
2.使用測試用戶查詢t1表
目前用戶ranger_user1擁有對t1表的select權限
2.2 授予使用UDF的權限給用戶
1.將自定義UDF的jar包上傳到服務器,並上傳到HDFS,該自定義UDF函數的作用是將數字1-9按照a-j進行轉換
2.使用hive用戶創建UDF函數
3.測試UDF函數的使用
4.使用測試用戶登錄Hive並使用UDF函數,提示沒有權限
5.創建策略,授予測試用戶使用該UDF函數的權限
6.再次使用測試用戶進行驗證,使用UDF函數成功
2.3 配置使用自定義的UDF進行列脫敏
1.配置脫敏策略,使用自定義UDF的方式對phone列進行脫敏
2.使用ranger_user1查看t1表
由上圖可見,自定義UDF脫敏成功
總結
1.對於任何可用的UDF函數,都可以在配置脫敏策略時使用自定義的方式配置進策略中,然後指定用戶/用戶組進行脫敏。
2.在創建脫敏策略之前,需要先確保對應的用戶/用戶組已經擁有對錶以及UDF函數的權限,否則脫敏策略不會默認授予用戶/用戶組對於表和UDF函數的權限。
3.在配置脫敏策略時,方式選擇Custom,在輸入框中填入UDF函數的使用方式即可,例如:function_name(arg)
閱讀更多 Hadoop實操 的文章