在 Azure HDInsight 中建立和設定企業安全性套件叢集
適用於 Azure HDInsight 的企業安全性套件 (ESP) 可為您提供企業級的功能,例如 Active Directory 型驗證、多使用者支援,以及角色型存取控制。 HDInsight ESP 叢集可讓遵守嚴格公司安全性原則的組織安全地處理敏感性資料。
本指南說明如何建立啟用 ESP 的 Azure HDInsight 叢集。 另外也會示範如何建立啟用 Active Directory 和網域名稱系統 (DNS) 的 Windows IaaS VM。 使用本指南來設定必要的資源,以允許內部部署使用者登入已啟用 ESP 的 HDInsight 叢集。
您所建立的伺服器將作為「實際」內部部署環境的替代項目。 您會將其用於設定和設定步驟。 稍後您需要在自己的環境中重複這些步驟。
本指南也會協助您使用與 Microsoft Entra ID 同步的密碼雜湊來建立混合式身分識別環境。 本指南是在 HDInsight 中使用 ESP 的補充內容。
在您自己的環境中使用此程序之前:
- 設定 Active Directory 和 DNS。
- 啟用 Microsoft Entra ID。
- 將內部部署使用者帳戶同步處理至 Microsoft Entra ID。
建立內部部署環境
在本節中,您將使用 Azure 快速入門部署範本來建立新的 VM、設定 DNS,以及新增 Active Directory 樹系。
移至快速入門部署範本,以使用新的 Active Directory 樹系建立 Azure VM。
選取 [部署到 Azure]。
登入 Azure 訂用帳戶。
在 [使用新的 AD 樹系建立 Azure VM] 頁面上,提供下列資訊:
屬性 值 訂用帳戶 選取要部署資源的訂用帳戶。 資源群組 選取 [新建],然後輸入名稱 OnPremADVRG
Location 選取位置。 管理員使用者名稱 HDIFabrikamAdmin
管理員密碼 輸入密碼。 網域名稱 HDIFabrikam.com
DNS 前置詞 hdifabrikam
保留其餘預設值。
檢閱條款及條件,然後選取 [我同意上方所述的條款及條件]。
選取 [購買],並監視部署等待其完成。 部署需要 30 分鐘左右的時間才能完成。
設定使用者與群組對叢集的存取權
在本節中您將建立使用者,讓他們在本指南結束時可存取 HDInsight 叢集。
使用遠端桌面連線至網域控制站。
- 從 Azure 入口網站,依序瀏覽至 [資源群組]>[OnPremADVRG]>[adVM]>[連線]。
- 從 [IP 位址] 下拉式清單中,選取公用 IP 位址。
- 選取 [下載 RDP 檔案],然後開啟檔案。
- 使用
HDIFabrikam\HDIFabrikamAdmin
作為使用者名稱。 - 輸入您為系統管理員帳戶選擇的密碼。
- 選取 [確定]。
從網域控制站 [伺服器管理員] 儀表板,瀏覽至 [工具]>[Active Directory 使用者和電腦]。
建立兩個新的使用者:HDIAdmin 和 HDIUser。 這兩個使用者將會登入 HDInsight 叢集。
從 [Active Directory 使用者和電腦] 頁面中,以滑鼠右鍵按一下
HDIFabrikam.com
,然後依序瀏覽至 [新增]>[使用者]。在 [新增物件 - 使用者] 頁面上,針對 [名字] 和 [使用者登入名稱] 輸入
HDIUser
。 其他欄位將會自動填入。 然後選取下一步。在出現的快顯視窗中,輸入新帳戶的密碼。 選取 [密碼永久有效],然後在快顯訊息中選取 [確定]。
選取 [下一步],然後選取 [完成] 以建立新的帳戶。
重複上述步驟以建立使用者
HDIAdmin
。
建立安全性群組。
從 [Active Directory 使用者和電腦] 頁面中,以滑鼠右鍵按一下
HDIFabrikam.com
,然後依序瀏覽至 [新增]>[群組]。在 [群組名稱]文字方塊中輸入
HDIUserGroup
。選取 [確定]。
將成員新增至 HDIUserGroup。
以滑鼠右鍵按一下 HDIUser,然後選取 [新增至群組...]。
在 [輸入要選取的物件名稱] 文字方塊中,輸入
HDIUserGroup
。 接著選取 [確定],然後在快顯視窗中再次選取 [確定]。針對 HDIAdmin 帳戶重複上述步驟。
您現在已建立 Active Directory 環境。 您已新增可存取 HDInsight 叢集的兩個使用者和一個使用者群組。
使用者將會與 Microsoft Entra ID 同步。
建立 Microsoft Entra 目錄
登入 Azure 入口網站。
選取 [建立資源] 並輸入
directory
。 選取 [Microsoft Entra ID] > [建立]。在 [組織名稱] 下,輸入
HDIFabrikam
。在 [初始網域名稱] 下,輸入
HDIFabrikamoutlook
。選取 建立。
建立自訂網域
從新的 [Microsoft Entra ID] 中,選取 [管理] 下方的 [自訂網域名稱]。
選取 [+ 新增自訂網域]。
在 [自訂網域名稱] 下,輸入
HDIFabrikam.com
,然後選取 [新增網域]。接著完成將 DNS 資訊新增至網域註冊機構。
建立群組
- 從新的 [Microsoft Entra ID] 中,選取 [管理] 下方的 [群組]。
- 選取 [+ 新增群組]。
- 在 [群組名稱] 文字方塊中輸入
AAD DC Administrators
。 - 選取 建立。
設定 Microsoft Entra 租用戶
現在您需要設定 Microsoft Entra 租用戶,以便將使用者和群組從內部部署的 Active Directory 執行個體同步處理至雲端。
建立 Active Directory 租用戶系統管理員。
登入 Azure 入口網站,然後選取您的 Microsoft Entra 租用戶 HDIFabrikam。
依序瀏覽至 [管理]>[使用者]>[新增使用者]。
輸入新使用者的下列詳細資料:
身分識別
屬性 說明 使用者名稱 在文字方塊中輸入 fabrikamazureadmin
。 從網域名稱下拉式清單中,選取hdifabrikam.com
名稱 輸入 fabrikamazureadmin
。密碼
- 選取 [讓我建立密碼]。
- 輸入您選擇的安全密碼。
群組和角色
選取 [已選取 0 個群組]。
選取 [
AAD DC
系統管理員],然後選取 [選取]。選取 [使用者]。
選取 [系統管理員],然後選取 [選取]。
選取 建立。
接著讓新的使用者登入 Azure 入口網站,系統將會提示變更密碼。 設定 Microsoft Entra Connect 之前,您將需要執行此動作。
將內部部署使用者同步處理至 Microsoft Entra ID
設定 Microsoft Entra Connect
從網域控制站中,下載 Microsoft Entra Connect。
開啟您下載的可執行檔,並同意授權條款。 選取繼續。
選取 [使用快速設定]。
在 [連線至 Microsoft Entra ID] 頁面上,輸入 Microsoft Entra ID 系統管理員的使用者名稱和密碼。 使用您在設定 Active Directory 租用戶時建立的使用者名稱
fabrikamazureadmin@hdifabrikam.com
。 然後選取下一步。在 [連接到 Active Directory Domain Services] 頁面上,輸入企業系統管理員帳戶的使用者名稱和密碼。 使用您稍早建立的使用者名稱
HDIFabrikam\HDIFabrikamAdmin
及其密碼。 然後選取下一步。在 [Microsoft Entra 登入設定] 頁面上,選取 [下一步]。
在 [準備設定] 頁面上,選取 [安裝]。
在 [設定完成] 頁面上,選取 [結束]。
同步處理完成之後,請確認您在 IaaS 目錄中建立的使用者已同步處理至 Microsoft Entra ID。
- 登入 Azure 入口網站。
- 選取 [Microsoft Entra ID] > [HDIFabrikam] > [使用者]。
建立使用者指派的受控識別
建立使用者指派的受控識別,以用來設定 Microsoft Entra Domain Services。 如需更多資訊,請參閱使用 Azure 入口網站對使用者指派的受控識別建立、列出、刪除或指派角色。
- 登入 Azure 入口網站。
- 選取 [建立資源] 並輸入
managed identity
。 選取 [使用者指派的受控識別]>[建立]。 - 針對 [資源名稱],輸入
HDIFabrikamManagedIdentity
。 - 選取您的訂用帳戶。
- 在 [資源群組] 下方,選取 [新建] 並輸入
HDIFabrikam-CentralUS
。 - 在 [位置] 下選取 [美國中部]。
- 選取 建立。
啟用 Microsoft Entra Domain Services
遵循下列步驟來啟用 Microsoft Entra Domain Services。 如需詳細資訊,請參閱使用 Azure 入口網站啟用 Microsoft Entra Domain Services。
建立虛擬網路以裝載 Microsoft Entra Domain Services。 執行下列 PowerShell 程式碼。
# Sign in to your Azure subscription $sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # If you have multiple subscriptions, set the one to use # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>" $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS' -Location 'Central US' -Name 'HDIFabrikam-AADDSVNET' -AddressPrefix 10.1.0.0/16 $subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name 'AADDS-subnet' -AddressPrefix 10.1.0.0/24 -VirtualNetwork $virtualNetwork $virtualNetwork | Set-AzVirtualNetwork
登入 Azure 入口網站。
選取 [建立資源],並輸入
Domain services
,然後依序選取 [Microsoft Entra Domain Services] > [建立]。在 [基本] 頁面上:
在 [目錄名稱] 下方,選取您建立的 Microsoft Entra 目錄:HDIFabrikam。
針對 [DNS 網域名稱],輸入 HDIFabrikam.com。
選取您的訂用帳戶。
指定資源群組 HDIFabrikam-CentralUS。 針對 [位置],選取 [美國中部]。
在 [網路] 頁面上,選取您使用 PowerShell 指令碼建立的網路 (HDIFabrikam-VNET) 和子網路 (AADDS-subnet)。 或者,選擇 [新建] 以立即建立虛擬網路。
在 [系統管理員群組] 頁面上,您應該會看到一項通知,指出已建立一個名為
AAD DC
系統管理員的群組來管理此群組。 您可以視需要修改此群組的成員資格,但在此情境中您不需要進行變更。 選取 [確定]。在 [同步處理] 頁面上,選取 [所有]>[確定] 以啟用完整的同步處理。
在 [摘要] 頁面上,確認 Microsoft Entra Domain Services 的詳細資料,然後選取 [確定]。
在您啟用 Microsoft Entra Domain Services 之後,本機 DNS 伺服器會在 Microsoft Entra VM 上執行。
設定 Microsoft Entra Domain Services 虛擬網路
使用下列步驟來設定 Microsoft Entra Domain Services 虛擬網路 (HDIFabrikam-AADDSVNET),以使用自訂 DNS 伺服器。
找出自訂 DNS 伺服器的 IP 位址。
- 選取
HDIFabrikam.com
Microsoft Entra Domain Services 資源。 - 在 [管理] 底下,選取 [屬性]。
- 在虛擬網路上的 IP 位址下尋找 IP 位址。
- 選取
設定 HDIFabrikam-AADDSVNET 以使用自訂 IP 位址 10.0.0.4 和 10.0.0.5。
- 選取 [設定] 底下的 [DNS 伺服器]。
- 選取自訂。
- 在文字方塊中,輸入第一個 IP 位址 (10.0.0.4)。
- 選取 [儲存]。
- 重複步驟以新增其他 IP 位址 (10.0.0.5)。
在我們的情節中,已將 Microsoft Entra Domain Services 設定為使用 IP 位址 10.0.0.4 和 10.0.0.5,並在 Microsoft Entra Domain Services 虛擬網路上設定相同的 IP 位址:
保護 LDAP 流量
輕量型目錄存取通訊協定 (LDAP) 是用來從 Microsoft Entra ID 讀取和寫入 Microsoft Entra ID。 採用安全通訊端層 (SSL)/傳輸層安全性 (TLS) 技術,可使 LDAP 流量更具機密性及安全性。 您可以藉由安裝格式正確的憑證,啟用透過 SSL (LDAPS) 的 LDAP。
如需安全 LDAP 的詳細資訊,請參閱設定 Microsoft Entra Domain Services 受控網域的 LDAPS。
在本節中,您會建立自我簽署憑證,並下載憑證,然後設定 HDIFabrikam Microsoft Entra Domain Services 受控網域的 LDAPS。
下列指令碼會建立 HDIFabrikam 的憑證。 憑證會儲存在 LocalMachine 路徑中。
$lifetime = Get-Date
New-SelfSignedCertificate -Subject hdifabrikam.com `
-NotAfter $lifetime.AddDays(365) -KeyUsage DigitalSignature, KeyEncipherment `
-Type SSLServerAuthentication -DnsName *.hdifabrikam.com, hdifabrikam.com
注意
任何建立有效公開金鑰加密標準 (PKCS) #10 要求的公用程式或應用程式,都可以用來形成 TLS/SSL 憑證要求。
確認憑證已安裝在電腦的 [個人] 存放區中:
啟動 Microsoft Management Console (MMC)。
新增在本機電腦上管理憑證的 [憑證] 嵌入式管理單元。
展開 [憑證 (本機電腦)] > [個人] > [憑證]。 [個人] 存放區中應該有新的憑證。 此憑證會發行至完整主機名稱。
在右側的窗格中,以滑鼠右鍵按一下您所建立的憑證。 指向 [所有工作],然後選取 [匯出]。
在 [匯出私密金鑰] 頁面上,選取 [是,匯出私密金鑰]。 將要匯入金鑰的電腦,需要私密金鑰才能讀取加密的訊息。
在 [匯出檔案格式] 頁面上,保留預設設定,接著選取 [下一步]。
在 [密碼] 頁面上,輸入私密金鑰的密碼。 針對 [加密],選取 [TripleDES-SHA1]。 然後選取下一步。
在 [要匯出的檔案] 頁面上,輸入匯出憑證檔案的路徑和名稱,然後選取 [下一步]。 檔名必須使用 .pfx 副檔名。 請在 Azure 入口網站中設定此檔案以建立安全的連線。
啟用 Microsoft Entra Domain Services 受控網域的 LDAPS。
- 從 Azure 入口網站,選取網域
HDIFabrikam.com
。 - 在 [管理] 底下,選取 [安全 LDAP]。
- 在 [安全 LDAP] 頁面的 [安全 LDAP] 底下,選取 [啟用]。
- 瀏覽您在電腦上匯出的 .pfx 憑證檔案。
- 輸入憑證的密碼。
- 從 Azure 入口網站,選取網域
現在您已啟用 LDAPS,請確定其可透過啟用連接埠 636 來連線。
在 HDIFabrikam-CentralUS 資源群組中,選取網路安全性群組 AADDS-HDIFabrikam.com-NSG。
在 [設定] 下,選取 [輸入安全性規則]>[新增]。
在 [新增輸入安全性規則] 頁面上,輸入下列詳細資料,然後選取 [新增]:
屬性 數值 來源 任何 來源連接埠範圍 * Destination 任意 目的地連接埠範圍 636 通訊協定 任意 動作 允許 優先順序 <所需的數字> 名稱 Port_LDAP_636
HDIFabrikamManagedIdentity 是使用者指派的受控識別。 HDInsight 網域服務參與者角色已啟用受控識別,允許此身分識別讀取、建立、修改和刪除網域服務作業。
建立啟用 ESP 的 HDInsight 叢集
此步驟需要下列先決條件:
在位置 [West US] 建立新的資源群組 HDIFabrikam-WestUS。
建立虛擬網路以裝載啟用 ESP 的 HDInsight 叢集。
$virtualNetwork = New-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS' -Location 'West US' -Name 'HDIFabrikam-HDIVNet' -AddressPrefix 10.1.0.0/16 $subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name 'SparkSubnet' -AddressPrefix 10.1.0.0/24 -VirtualNetwork $virtualNetwork $virtualNetwork | Set-AzVirtualNetwork
在裝載 Microsoft Entra Domain Services (
HDIFabrikam-AADDSVNET
) 的虛擬網路與將裝載已啟用 ESP 的 HDInsight 叢集 (HDIFabrikam-HDIVNet
) 的虛擬網路之間建立對等關聯性。 使用下列 PowerShell 程式碼來對等互連兩個虛擬網路。Add-AzVirtualNetworkPeering -Name 'HDIVNet-AADDSVNet' -RemoteVirtualNetworkId (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS').Id -VirtualNetwork (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS') Add-AzVirtualNetworkPeering -Name 'AADDSVNet-HDIVNet' -RemoteVirtualNetworkId (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS').Id -VirtualNetwork (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS')
建立名為 Hdigen2store 的新 Azure Data Lake Storage Gen2 帳戶。 透過使用者管理的識別 HDIFabrikamManagedIdentity 設定帳戶。 如需詳細資訊,請參閱搭配 Azure HDInsight 叢集使用 Azure Data Lake Storage Gen2。
在 HDIFabrikam-AADDSVNET 虛擬網路上設定自訂 DNS。
移至 Azure 入口網站 >[資源群組]>[OnPremADVRG]>[HDIFabrikam-AADDSVNET]>[DNS 伺服器]。
選取 [自訂],然後輸入 10.0.0.4 和 10.0.0.5。
選取 [儲存]。
建立已啟用 ESP 的新 HDInsight Spark 叢集。
選取 [自訂 (大小、設定、應用程式)]。
輸入 [基本] (區段 1) 的詳細資料。 確定 [叢集類型] 為 Spark 2.3 (HDI 3.6)。 確定 [資源群組] 為 HDIFabrikam-CentralUS。
針對 [安全性 + 網路] (區段 2),請填寫下列詳細資料:
在 [企業安全性套件] 底下,選取 [啟用]。
選取 [叢集管理員使用者],然後選取您建立為內部部署系統管理員使用者的 HDIAdmin 帳戶。 按一下 [選取]。
選取[叢集存取群組]>[HDIUserGroup]。 未來新增至此群組的任何使用者都能夠存取 HDInsight 叢集。
完成叢集組態的其他步驟,並確認 [叢集摘要] 的詳細資料。 選取 建立。
在
https://CLUSTERNAME.azurehdinsight.net
登入新建立叢集的 Ambari UI。 使用您的系統管理員使用者名稱hdiadmin@hdifabrikam.com
及其密碼。從叢集儀表板中,選取 [角色]。
在 [角色] 頁面上,於 [叢集管理員] 角色旁邊的 [將角色指派給下列] 下方輸入群組 hdiusergroup。
開啟您的安全殼層 (SSH) 用戶端並登入叢集。 使用您在內部部署 Active Directory 執行個體中建立的 hdiuser。
如果可以使用此帳戶登入,則表示您已正確設定 ESP 叢集,與內部部署的 Active Directory 執行個體同步。