您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何使用Ranger給HDFS授權,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
文檔概述
1.介紹CDP7.1.3 中Ranger 中HDFS 默認權限策略
2.使用Ranger 給HDFS 設置權限策略并驗證
測試環境
1.操作系統Redhat7.6
2.CDP DC7.1.3
使用admin用戶登錄http://cdp02.fayson.com:6080 頁面,點擊cm_hdfs 進入該頁面
在該頁面中可以看到默認有兩個策略,第一個是hdfs 用戶的策略,默認擁有所有目錄所有權限,rangerlookup 擁有所有目錄讀的權限。
第二個策略是keyadmin 用戶擁有/ranger/audit/kms 目錄的所有權。這兩個策略是CDP安裝后自帶的策略,建議不要隨意修改這兩個用戶的權限策略。
3.1HDFS授權
在上面我們介紹了hdfs 用戶擁有所有目錄的權限如果還需要設置一個同樣權限或者是所有目錄的權限。需要在該策略中繼續添加其他權限策略,因為相同目錄的策略只能有一個。
首先我們添加一個用戶,fayson 這里添加使用的腳本所有節點添加了一個fayson用戶。
然后在HDFS中勾選 Enable Ranger Authorization ,并保存重啟生效
在沒給權限之前驗證如下:
設置fayson 擁有所有目錄讀寫的權限,設置需要在all-path 策略中新增一個權限條件。正確的做法如下:
保存策略后,點擊查看
不能如下新增一個策略,會提示相同的資源已經創建了一個策略[all-path],錯誤的做法如下:
然后進行驗證,成功創建
3.2HDFS多級授權以及拒絕條件策略
多級授權驗證,首先創建兩個本地測試用戶,testuser1 、testuser2,并且在Ranger 頁面創建Ranger 登錄用戶關聯組(ldap 用戶無需進行該操作即可使用用戶密碼登錄)
登錄Ranger,可以看到User Source 時External。由于本地Linux 用戶默認無法同步密碼,需在Settings > Users 中將默認同步的Linux 刪除,然后手動關聯組重建。
點擊右上角的紅色刪除按鈕刪除后,然后點擊Add New User 。進行如下操作,密碼至少為包含英文和字母的8個字母,選擇角色為User,并且選擇關聯組分別為testuser1、和testuser2。testuser2 步驟基本一致,省略。
手動創建好后用戶顯示如下,User Source 顯示為Internal在當前登錄時可以看到組件的權限策略,但是不能添加任何策略,如果嘗試添加策略時保存會提示如下錯誤
當前testuser1和testuser2 均無hdfs 中 /test 目錄的寫權限
然后通過Ranger admin 用戶給testuser1 /test 目錄all 權限,并委派admin權限,也就是勾選Delegate Admin,再由testuser1 給testuser2 授權進行驗證。
驗證testuser1 權限,并創建接下來要驗證的權限的目錄,為了避免HDFS 本身的權限干擾,這里將所有的目錄權限設置為700
Allow Conditions策略設置以及驗證
具體策略設置如下:
驗證如下:
Exclude from Allow Conditions 策略驗證,這里由于/test/Exclude 目錄本身testuser2 是沒有讀寫權限的,所以在Allow Conditions中給了所有權限,但是在Exclude from Allow Conditions 排除了讀權限,在這種情況下,testuser2 權限是有寫的權限但是沒有讀的權限,也證實了Exclude from Allow Conditions策略已生效以及拒絕策略優先的設計邏輯:
Deny 策略驗證,這里與Exclude from Allow 策略有些類似,/test/Deny 目錄本身testuser2沒有任何權限,在Allow Conditions 中給了所有權限用于驗證,在Deny Conditions中設置拒絕讀權限。同樣證實Deny 策略已生效以及拒絕策略優先的設計邏輯
設置驗證testuser2 Deny Conditions策略生效,并切換testuser1 用戶驗證非Deny Conditions 的策略
Exclude from Deny Conditions策略驗證,同樣/test/ExcludeDeny 由于testuser2用戶沒有任何權限,在Allow Conditions 中給了該目錄的所有權限,然后在Deny Conditions和
Exclude from Deny Conditions 設置如下。其結果與Deny Conditions策略一致
設置驗證testuser2 Exclude from Deny Conditions策略生效,由于排除了Deny Conditions 的設置,所以可以正常讀。
如果在Exclude from Deny Conditions取消排除Read 的權限,則可寫而不可讀,如下設置
關于如何使用Ranger給HDFS授權就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。