使用企業安全性套件管理 HDInsight 叢集
了解 HDInsight 企業安全性套件 (ESP) 中的使用者與角色,以及如何管理 ESP 叢集。
使用 VS Code 連結至已加入網域的叢集
您可以使用 Apache Ambari 受控使用者名稱來連結正常的叢集,也可以使用網域使用者名稱 (例如:user1@contoso.com
) 來連結安全性 Apache Hadoop 叢集。
開啟 Visual Studio Code。 確定已安裝 Spark 與 Hive 工具擴充功能。
請遵循連結叢集以進行 Visual Studio Code 的步驟。
使用 IntelliJ 連結至已加入網域的叢集
您可以使用 Ambari 受控使用者名稱來連結正常的叢集,也可以使用網域使用者名稱 (例如:user1@contoso.com
) 來連結安全性 hadoop 叢集。
使用 Eclipse 連結至已加入網域的叢集
您可以使用 Ambari 受控使用者名稱來連結正常的叢集,也可以使用網域使用者名稱 (例如:user1@contoso.com
) 來連結安全性 hadoop 叢集。
以企業安全性套件存取叢集
企業安全性套件 (先前稱為 HDInsight Premium) 提供對叢集的多位使用者存取,其驗證是由 Active Directory 執行,並且由 Apache Ranger 和 Storage ACL (ADLS ACL) 授權。 授權會提供多位使用者間的安全界限,只允許特殊權限的使用者根據授權原則存取資料。
安全性和使用者隔離對於使用企業安全性套件的 HDInsight 叢集很重要。 為了符合這些需求,在叢集建立時間選取的本機使用者,以及 AAD-DS 中提供的使用者,(例如 Kerberos) 支援對叢集的 SSH 存取。 下表顯示每個叢集類型的建議存取方法:
工作負載 | 案例 | 存取方法 |
---|---|---|
Apache Hadoop \(英文\) | Hive – 互動式作業/查詢 | |
Apache Spark | 互動式作業/查詢,PySpark 互動式 | |
Apache Spark | 批次案例 – Spark 提交,PySpark | |
互動式查詢 (LLAP) | 互動式 | |
任意 | 安裝自訂應用程式 |
注意
企業安全性套件不會安裝/支援 Jupyter。
從安全性觀點來說,使用標準 API 會有所幫助。 您也會獲得下列優點:
- 管理 – 您可以使用標準 API (Livy、HS2 等等) 管理您的程式碼並自動化作業。
- 稽核 – 使用 SSH 無法稽核哪些使用者 SSH 到叢集。 當作業是透過標準端點建構時,作業會在使用者內容中執行,所以這不是問題。
使用 BeeLine
在您的機器上安裝 Beeline,並透過公用網際網路連線,使用下列參數:
- Connection string: -u 'jdbc:hive2://<clustername>.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2'
- Cluster login name: -n admin
- Cluster login password -p 'password'
若您有在本機上安裝 Beeline 並透過公用網際網路連線,請使用下列參數:
Connection string: -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'
若要尋找前端節點的完整功能變數名稱,請使用使用Ambari REST API 檔受控 HDInsight 中的資訊。
有 ESP 的 HDInsight 叢集的使用者
非 ESP 的 HDInsight 叢集有兩個使用者帳戶,是在叢集建立期間建立的︰
- Ambari 系統管理員:此帳戶亦稱為「Hadoop 使用者」或「HTTP 使用者」。 此帳戶可用於在
https://CLUSTERNAME.azurehdinsight.net
登入 Ambari。 它也可以用來在 Ambari 檢視上執行查詢、透過外部工具 (例如 PowerShell、Templeton、Visual Studio) 執行作業、以及使用 Hive ODBC 驅動程式和 BI 工具 (例如 Excel、PowerBI、或 Tableau) 進行驗證。
除了 Ambari 系統管理員之外,使用 ESP 的 HDInsight 叢集有三個新使用者。
Ranger 系統管理員︰此帳戶是本機的 Apache Ranger 系統管理員帳戶。 不是 Active Directory 網域使用者。 此帳戶可以用來設定原則、將其他使用者設為系統管理員、或委派系統管理工作 (讓某些使用者可以管理原則)。 預設的使用者名稱是 admin,密碼則是與 Ambari 系統管理員的密碼相同。 可以在 Ranger 的 [設定] 頁面中更新密碼。
叢集系統管理員網域使用者︰此帳戶是被指定為 Hadoop 叢集系統管理員 (包括 Ambari 和 Ranger) 的 Active Directory 網域使用者。 您必須在叢集建立期間提供此使用者的認證。 此使用者有下列權限:
- 在叢集建立期間,將機器加入網域,並將它們放入您指定的 OU 中。
- 在叢集建立期間,於您指定的 OU 中建立服務主體。
- 建立反向 DNS 項目。
請注意,其他的 AD 使用者也有這些權限。
叢集中有一些端點(例如 Templeton),這些端點不是由 Ranger 管理,因此很安全。 這些端點會針對所有使用者鎖定,只有叢集系統管理員網域使用者除外。
一般︰在叢集建立期間,您可以提供多個 Active Directory 群組。 這些群組中的使用者都將同步至 Ranger 和 Ambari。 這些使用者是網域使用者,而且只能存取 Ranger 管理的端點(例如 ,
Hiveserver2
)。 所有 RBAC 原則和稽核皆不適用於這些使用者。
使用 ESP 之 HDInsight 叢集的角色
HDInsight 企業安全性套件有下列角色:
- 叢集系統管理員
- 叢集操作員
- 服務管理員
- 服務操作員
- 叢集使用者
若要查看這些角色的權限
開啟 Ambari 管理 UI。 請參閱開啟 Ambari 管理 UI。
從左側功能表中選取 [角色]。
選取藍色問號可查看權限︰
開啟 Ambari 管理 UI
瀏覽至
https://CLUSTERNAME.azurehdinsight.net/
,其中 CLUSTERNAME 是叢集的名稱。使用叢集系統管理員網域使用者的名稱和密碼登入 Ambari:
選取右上角的 [管理] 下拉式功能表,然後選取 [管理 Ambari]。
UI 看起來像這樣:
列出從您的 Active Directory 同步處理的網域使用者
開啟 Ambari 管理 UI。 請參閱開啟 Ambari 管理 UI。
從左側功能表中選取 [使用者]。 您應該會看到從您的 Active Directory 同步至 HDInsight 叢集的所有使用者。
列出從您的 Active Directory 同步處理的網域群組
開啟 Ambari 管理 UI。 請參閱開啟 Ambari 管理 UI。
從左側功能表中選取 [檢視]。 您應該會看到從您的 Active Directory 同步至 HDInsight 叢集的所有群組。
設定 Hive 檢視權限
開啟 Ambari 管理 UI。 請參閱開啟 Ambari 管理 UI。
從左側功能表中選取 [檢視]。
選取 [HIVE] 以顯示詳細資料。
選取 [Hive 檢視] 連結以設定 Hive 檢視。
向下捲動至 [權限]。
選取 [新增使用者] 或 [新增群組],然後指定可以使用 Hive 檢視的使用者或群組。
設定角色的使用者
若要查看角色及其權限的清單,請參閱使用 ESP 之 HDInsight 叢集的角色。
- 開啟 Ambari 管理 UI。 請參閱開啟 Ambari 管理 UI。
- 從左側功能表中選取 [角色]。
- 選取 [新增使用者] 或 [新增群組] 以將使用者或群組指定至不同角色。
下一步
- 如需設定具有企業安全性套件的 HDInsight 叢集,請參閱設定具有 ESP 的 HDInsight 叢集。
- 如需設定 Hive 原則和執行 Hive 查詢,請參閱使用 ESP 針對 HDInsight 叢集設定 Apache Hive 原則。