教學課程:使用企業安全性套件在 HDInsight 中設定 Apache HBase 原則
了解如何對企業安全性套件 (ESP) Apache HBase 叢集設定 Apache Ranger 原則。 ESP 叢集連線到網域,讓使用者使用網域認證進行驗證。 在此教學課程中,您會建立兩個 Ranger 原則來限制 HBase 資料表中不同資料行系列的存取權。
在本教學課程中,您會了解如何:
- 建立網域使用者。
- 建立 Ranger 原則。
- 在 HBase 叢集中建立資料表。
- 測試 Ranger 原則。
開始之前
- 如果您沒有 Azure 訂用帳戶,請建立免費帳戶。
- 登入 Azure 入口網站。
- 使用企業安全性套件建立 HDInsight HBase 叢集。
連線到 Apache Ranger 系統管理 UI
從瀏覽器中,使用 URL
https://<ClusterName>.azurehdinsight.net/Ranger/
連線到 Ranger 管理使用者介面 (UI)。 請記得將<ClusterName>
變更為 HBase 叢集的名稱。注意
Ranger 認證與 Hadoop 叢集認證並非相同。 若要避免瀏覽器使用快取的 Hadoop 認證,請使用新的 InPrivate 瀏覽器視窗連線至 Ranger 管理員 UI。
使用您的 Microsoft Entra 管理員認證登入。 Microsoft Entra 管理員認證與 HDInsight 叢集認證或 Linux HDInsight 節點安全殼層 (SSH) 認證並不相同。
建立網域使用者
如需了解如何建立 sales_user1 和 marketing_user1 網域使用者,請參閱使用企業安全性套件建立 HDInsight 叢集。 在生產情節中,網域使用者來自 Active Directory 租用戶。
建立 HBase 資料表並匯入範例資料
您可以使用 SSH 來連線到 HBase 叢集,然後使用 Apache HBase Shell 來建立 HBase 資料表、插入及查詢資料。 如需詳細資訊,請參閱搭配 HDInsight 使用 SSH。
使用 HBase Shell
從 SSH,執行下列 HBase 命令:
hbase shell
使用兩個資料行系列建立 HBase 資料表
Customers
:Name
和Contact
。create 'Customers', 'Name', 'Contact' list
插入一些資料:
put 'Customers','1001','Name:First','Alice' put 'Customers','1001','Name:Last','Johnson' put 'Customers','1001','Contact:Phone','333-333-3333' put 'Customers','1001','Contact:Address','313 133rd Place' put 'Customers','1001','Contact:City','Redmond' put 'Customers','1001','Contact:State','WA' put 'Customers','1001','Contact:ZipCode','98052' put 'Customers','1002','Name:First','Robert' put 'Customers','1002','Name:Last','Stevens' put 'Customers','1002','Contact:Phone','777-777-7777' put 'Customers','1002','Contact:Address','717 177th Ave' put 'Customers','1002','Contact:City','Bellevue' put 'Customers','1002','Contact:State','WA' put 'Customers','1002','Contact:ZipCode','98008'
檢視資料表的內容:
scan 'Customers'
建立 Ranger 原則
為 sales_user1 和 marketing_user1 建立 Ranger 原則。
開啟 Ranger 管理員 UI。 在 [HBase] 下,選取 <ClusterName>_hbase。
原則清單畫面會顯示為此叢集建立的所有 Ranger 原則。 可能會列出一個預先設定的原則。 選取 [新增原則]。
在畫面上
Create Policy
,輸入下列值:設定 建議的值 原則名稱 sales_customers_name_contact HBase 資料表 客戶 HBase 資料行系列 名稱、連絡資訊 HBase 資料行 * 選取群組 選取使用者 sales_user1 權限 參閱 主題名稱可以包含下列萬用字元:
*
表示出現零次以上的字元。?
表示單一字元。
注意
如果 [選取使用者] 的網域使用者未自訂填入,請稍後,讓 Ranger 與 Microsoft Entra ID 同步處理。
選取 [新增] 以儲存規則。
選取 [新增原則],並輸入下列值︰
設定 建議的值 原則名稱 marketing_customers_contact HBase 資料表 客戶 HBase 資料行系列 連絡人 HBase 資料行 * 選取群組 選取使用者 marketing_user1 權限 讀取 選取 [新增] 以儲存規則。
測試 Ranger 原則
根據所設定的 Ranger 原則,sales_user1 可以檢視 Name
和 Contact
資料行系列中所有資料行資料。 Marketing_user1 只能檢視 Contact
資料行系列中的資料。
以 sales_user1 的身分存取資料
對於叢集開啟新的 SSH 連線。 使用下列命令來登入叢集:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
使用
kinit
命令來變更為所需的使用者內容:kinit sales_user1
開啟 HBase 殼層,並掃描資料表
Customers
:hbase shell scan `Customers`
請注意,銷售使用者可以檢視
Customers
資料表的所有資料行。 使用者可以看到Name
資料行系列中的兩個資料行,以及Contact
資料行系列中的五個資料行。ROW COLUMN+CELL 1001 column=Contact:Address, timestamp=1548894873820, value=313 133rd Place 1001 column=Contact:City, timestamp=1548895061523, value=Redmond 1001 column=Contact:Phone, timestamp=1548894871759, value=333-333-3333 1001 column=Contact:State, timestamp=1548895061613, value=WA 1001 column=Contact:ZipCode, timestamp=1548895063111, value=98052 1001 column=Name:First, timestamp=1548894871561, value=Alice 1001 column=Name:Last, timestamp=1548894871707, value=Johnson 1002 column=Contact:Address, timestamp=1548894899174, value=717 177th Ave 1002 column=Contact:City, timestamp=1548895103129, value=Bellevue 1002 column=Contact:Phone, timestamp=1548894897524, value=777-777-7777 1002 column=Contact:State, timestamp=1548895103231, value=WA 1002 column=Contact:ZipCode, timestamp=1548895104804, value=98008 1002 column=Name:First, timestamp=1548894897419, value=Robert 1002 column=Name:Last, timestamp=1548894897487, value=Stevens 2 row(s) in 0.1000 seconds
以 marketing_user1 的身分存取資料
對於叢集開啟新的 SSH 連線。 下列命令可用來以 marketing_user1 身分登入:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
使用
kinit
命令來變更為我們所需的使用者內容:kinit marketing_user1
開啟 HBase 殼層,並掃描資料表
Customers
:hbase shell scan `Customers`
請注意,行銷使用者只能檢視
Contact
資料行系列的五個資料行。ROW COLUMN+CELL 1001 column=Contact:Address, timestamp=1548894873820, value=313 133rd Place 1001 column=Contact:City, timestamp=1548895061523, value=Redmond 1001 column=Contact:Phone, timestamp=1548894871759, value=333-333-3333 1001 column=Contact:State, timestamp=1548895061613, value=WA 1001 column=Contact:ZipCode, timestamp=1548895063111, value=98052 1002 column=Contact:Address, timestamp=1548894899174, value=717 177th Ave 1002 column=Contact:City, timestamp=1548895103129, value=Bellevue 1002 column=Contact:Phone, timestamp=1548894897524, value=777-777-7777 1002 column=Contact:State, timestamp=1548895103231, value=WA 1002 column=Contact:ZipCode, timestamp=1548895104804, value=98008 2 row(s) in 0.0730 seconds
從 Ranger UI 檢視稽核存取事件。
清除資源
如果您不打算繼續使用此應用程式,請刪除所建立的 HBase 叢集:
- 登入 Azure 入口網站。
- 在頂端的 [搜尋] 方塊中,輸入 HDInsight。
- 在 [服務] 底下,選取 [HDInsight 叢集]。
- 從出現的 HDInsight 叢集清單中,在您為本教學課程建立的叢集旁選取 [...]。
- 選取 [刪除]>[是]。