溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Ranger給HDFS授權(quán)

發(fā)布時間:2021-11-02 18:09:24 來源:億速云 閱讀:695 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹如何使用Ranger給HDFS授權(quán),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

主要介紹如何使用Ranger 給HDFS 授權(quán)。
  • 文檔概述

1.介紹CDP7.1.3 中Ranger 中HDFS 默認(rèn)權(quán)限策略

2.使用Ranger 給HDFS 設(shè)置權(quán)限策略并驗證

  • 測試環(huán)境

1.操作系統(tǒng)Redhat7.6

2.CDP DC7.1.3

Ranger中HDFS默認(rèn)權(quán)限策略    

   

   

   

使用admin用戶登錄http://cdp02.fayson.com:6080 頁面,點擊cm_hdfs 進(jìn)入該頁面

如何使用Ranger給HDFS授權(quán)

在該頁面中可以看到默認(rèn)有兩個策略,第一個是hdfs 用戶的策略,默認(rèn)擁有所有目錄所有權(quán)限,rangerlookup 擁有所有目錄讀的權(quán)限。

如何使用Ranger給HDFS授權(quán)

第二個策略是keyadmin 用戶擁有/ranger/audit/kms 目錄的所有權(quán)。這兩個策略是CDP安裝后自帶的策略,建議不要隨意修改這兩個用戶的權(quán)限策略。

如何使用Ranger給HDFS授權(quán)

使用Ranger給HDFS設(shè)置權(quán)限策略并驗證    

   

   

   

3.1HDFS授權(quán)

在上面我們介紹了hdfs 用戶擁有所有目錄的權(quán)限如果還需要設(shè)置一個同樣權(quán)限或者是所有目錄的權(quán)限。需要在該策略中繼續(xù)添加其他權(quán)限策略,因為相同目錄的策略只能有一個。

首先我們添加一個用戶,fayson 這里添加使用的腳本所有節(jié)點添加了一個fayson用戶。

如何使用Ranger給HDFS授權(quán)

然后在HDFS中勾選 Enable Ranger Authorization ,并保存重啟生效

如何使用Ranger給HDFS授權(quán)

在沒給權(quán)限之前驗證如下:

如何使用Ranger給HDFS授權(quán)

設(shè)置fayson 擁有所有目錄讀寫的權(quán)限,設(shè)置需要在all-path 策略中新增一個權(quán)限條件。正確的做法如下:

如何使用Ranger給HDFS授權(quán)

保存策略后,點擊查看

如何使用Ranger給HDFS授權(quán)

不能如下新增一個策略,會提示相同的資源已經(jīng)創(chuàng)建了一個策略[all-path],錯誤的做法如下:

如何使用Ranger給HDFS授權(quán)

然后進(jìn)行驗證,成功創(chuàng)建

如何使用Ranger給HDFS授權(quán)

3.2HDFS多級授權(quán)以及拒絕條件策略

多級授權(quán)驗證,首先創(chuàng)建兩個本地測試用戶,testuser1 、testuser2,并且在Ranger 頁面創(chuàng)建Ranger 登錄用戶關(guān)聯(lián)組(ldap 用戶無需進(jìn)行該操作即可使用用戶密碼登錄)

如何使用Ranger給HDFS授權(quán)

登錄Ranger,可以看到User Source 時External。由于本地Linux 用戶默認(rèn)無法同步密碼,需在Settings > Users 中將默認(rèn)同步的Linux 刪除,然后手動關(guān)聯(lián)組重建。

如何使用Ranger給HDFS授權(quán)

點擊右上角的紅色刪除按鈕刪除后,然后點擊Add New User 。進(jìn)行如下操作,密碼至少為包含英文和字母的8個字母,選擇角色為User,并且選擇關(guān)聯(lián)組分別為testuser1、和testuser2。testuser2 步驟基本一致,省略。

如何使用Ranger給HDFS授權(quán)

手動創(chuàng)建好后用戶顯示如下,User Source 顯示為Internal在當(dāng)前登錄時可以看到組件的權(quán)限策略,但是不能添加任何策略,如果嘗試添加策略時保存會提示如下錯誤

如何使用Ranger給HDFS授權(quán)

如何使用Ranger給HDFS授權(quán)

當(dāng)前testuser1和testuser2 均無hdfs 中 /test 目錄的寫權(quán)限

如何使用Ranger給HDFS授權(quán)

然后通過Ranger admin 用戶給testuser1 /test 目錄all 權(quán)限,并委派admin權(quán)限,也就是勾選Delegate Admin,再由testuser1 給testuser2 授權(quán)進(jìn)行驗證。

如何使用Ranger給HDFS授權(quán)

驗證testuser1 權(quán)限,并創(chuàng)建接下來要驗證的權(quán)限的目錄,為了避免HDFS 本身的權(quán)限干擾,這里將所有的目錄權(quán)限設(shè)置為700

如何使用Ranger給HDFS授權(quán)

如何使用Ranger給HDFS授權(quán)

Allow Conditions策略設(shè)置以及驗證

如何使用Ranger給HDFS授權(quán)

具體策略設(shè)置如下:

如何使用Ranger給HDFS授權(quán)

驗證如下:

如何使用Ranger給HDFS授權(quán)

Exclude from Allow Conditions 策略驗證,這里由于/test/Exclude 目錄本身testuser2 是沒有讀寫權(quán)限的,所以在Allow Conditions中給了所有權(quán)限,但是在Exclude from Allow Conditions 排除了讀權(quán)限,在這種情況下,testuser2 權(quán)限是有寫的權(quán)限但是沒有讀的權(quán)限,也證實了Exclude from Allow Conditions策略已生效以及拒絕策略優(yōu)先的設(shè)計邏輯:

如何使用Ranger給HDFS授權(quán)

Deny 策略驗證,這里與Exclude from Allow 策略有些類似,/test/Deny 目錄本身testuser2沒有任何權(quán)限,在Allow Conditions 中給了所有權(quán)限用于驗證,在Deny Conditions中設(shè)置拒絕讀權(quán)限。同樣證實Deny 策略已生效以及拒絕策略優(yōu)先的設(shè)計邏輯

如何使用Ranger給HDFS授權(quán)

設(shè)置驗證testuser2 Deny Conditions策略生效,并切換testuser1 用戶驗證非Deny Conditions 的策略

如何使用Ranger給HDFS授權(quán)

Exclude from  Deny Conditions策略驗證,同樣/test/ExcludeDeny 由于testuser2用戶沒有任何權(quán)限,在Allow Conditions 中給了該目錄的所有權(quán)限,然后在Deny Conditions和

Exclude from Deny Conditions 設(shè)置如下。其結(jié)果與Deny Conditions策略一致

如何使用Ranger給HDFS授權(quán)

設(shè)置驗證testuser2 Exclude from  Deny Conditions策略生效,由于排除了Deny Conditions 的設(shè)置,所以可以正常讀。

如何使用Ranger給HDFS授權(quán)

如果在Exclude from  Deny Conditions取消排除Read 的權(quán)限,則可寫而不可讀,如下設(shè)置

如何使用Ranger給HDFS授權(quán)

如何使用Ranger給HDFS授權(quán)

關(guān)于如何使用Ranger給HDFS授權(quán)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI