共用方式為


在 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。

Microsoft Entra 架構圖。

建立內部部署環境

在本節中,您將使用 Azure 快速入門部署範本來建立新的 VM、設定 DNS,以及新增 Active Directory 樹系。

  1. 移至快速入門部署範本,以使用新的 Active Directory 樹系建立 Azure VM

  2. 選取 [部署到 Azure]

  3. 登入 Azure 訂用帳戶。

  4. 在 [使用新的 AD 樹系建立 Azure VM] 頁面上,提供下列資訊:

    屬性
    訂用帳戶 選取要部署資源的訂用帳戶。
    資源群組 選取 [新建],然後輸入名稱 OnPremADVRG
    Location 選取位置。
    管理員使用者名稱 HDIFabrikamAdmin
    管理員密碼 輸入密碼。
    網域名稱 HDIFabrikam.com
    DNS 前置詞 hdifabrikam

    保留其餘預設值。

    使用新的 Microsoft Entra 樹系建立 Azure VM 的範本。

  5. 檢閱條款及條件,然後選取 [我同意上方所述的條款及條件]

  6. 選取 [購買],並監視部署等待其完成。 部署需要 30 分鐘左右的時間才能完成。

設定使用者與群組對叢集的存取權

在本節中您將建立使用者,讓他們在本指南結束時可存取 HDInsight 叢集。

  1. 使用遠端桌面連線至網域控制站。

    1. 從 Azure 入口網站,依序瀏覽至 [資源群組]>[OnPremADVRG]>[adVM]>[連線]
    2. 從 [IP 位址] 下拉式清單中,選取公用 IP 位址。
    3. 選取 [下載 RDP 檔案],然後開啟檔案。
    4. 使用 HDIFabrikam\HDIFabrikamAdmin 作為使用者名稱。
    5. 輸入您為系統管理員帳戶選擇的密碼。
    6. 選取 [確定]。
  2. 從網域控制站 [伺服器管理員] 儀表板,瀏覽至 [工具]>[Active Directory 使用者和電腦]

    在 [伺服器管理員] 儀表板上開啟 Active Directory 管理。

  3. 建立兩個新的使用者:HDIAdminHDIUser。 這兩個使用者將會登入 HDInsight 叢集。

    1. 從 [Active Directory 使用者和電腦] 頁面中,以滑鼠右鍵按一下 HDIFabrikam.com,然後依序瀏覽至 [新增]>[使用者]

      建立新的 Active Directory 使用者。

    2. 在 [新增物件 - 使用者] 頁面上,針對 [名字] 和 [使用者登入名稱] 輸入 HDIUser。 其他欄位將會自動填入。 然後選取下一步

      建立第一個管理使用者物件。

    3. 在出現的快顯視窗中,輸入新帳戶的密碼。 選取 [密碼永久有效],然後在快顯訊息中選取 [確定]

    4. 選取 [下一步],然後選取 [完成] 以建立新的帳戶。

    5. 重複上述步驟以建立使用者 HDIAdmin

      建立第二個管理使用者物件。

  4. 建立安全性群組。

    1. 從 [Active Directory 使用者和電腦] 頁面中,以滑鼠右鍵按一下 HDIFabrikam.com,然後依序瀏覽至 [新增]>[群組]

    2. 在 [群組名稱]文字方塊中輸入 HDIUserGroup

    3. 選取 [確定]。

    建立新的 Active Directory 群組。

    建立新的  物件。

  5. 將成員新增至 HDIUserGroup

    1. 以滑鼠右鍵按一下 HDIUser,然後選取 [新增至群組...]

    2. 在 [輸入要選取的物件名稱] 文字方塊中,輸入 HDIUserGroup。 接著選取 [確定],然後在快顯視窗中再次選取 [確定]

    3. 針對 HDIAdmin 帳戶重複上述步驟。

      將 HDIUser 成員新增至 HDIUserGroup 群組。

您現在已建立 Active Directory 環境。 您已新增可存取 HDInsight 叢集的兩個使用者和一個使用者群組。

使用者將會與 Microsoft Entra ID 同步。

建立 Microsoft Entra 目錄

  1. 登入 Azure 入口網站。

  2. 選取 [建立資源] 並輸入 directory。 選取 [Microsoft Entra ID] > [建立]

  3. 在 [組織名稱] 下,輸入 HDIFabrikam

  4. 在 [初始網域名稱] 下,輸入 HDIFabrikamoutlook

  5. 選取 建立

    建立 Microsoft Entra 目錄。

建立自訂網域

  1. 從新的 [Microsoft Entra ID] 中,選取 [管理] 下方的 [自訂網域名稱]

  2. 選取 [+ 新增自訂網域]

  3. 在 [自訂網域名稱] 下,輸入 HDIFabrikam.com,然後選取 [新增網域]

  4. 接著完成將 DNS 資訊新增至網域註冊機構

    建立自訂網域。

建立群組

  1. 從新的 [Microsoft Entra ID] 中,選取 [管理] 下方的 [群組]
  2. 選取 [+ 新增群組]
  3. 在 [群組名稱] 文字方塊中輸入 AAD DC Administrators
  4. 選取 建立

設定 Microsoft Entra 租用戶

現在您需要設定 Microsoft Entra 租用戶,以便將使用者和群組從內部部署的 Active Directory 執行個體同步處理至雲端。

建立 Active Directory 租用戶系統管理員。

  1. 登入 Azure 入口網站,然後選取您的 Microsoft Entra 租用戶 HDIFabrikam

  2. 依序瀏覽至 [管理]>[使用者]>[新增使用者]

  3. 輸入新使用者的下列詳細資料:

    身分識別

    屬性 說明
    使用者名稱 在文字方塊中輸入 fabrikamazureadmin。 從網域名稱下拉式清單中,選取 hdifabrikam.com
    名稱 輸入 fabrikamazureadmin

    密碼

    1. 選取 [讓我建立密碼]
    2. 輸入您選擇的安全密碼。

    群組和角色

    1. 選取 [已選取 0 個群組]

    2. 選取 [AAD DC 系統管理員],然後選取 [選取]

      [Microsoft Entra 群組] 對話方塊。

    3. 選取 [使用者]

    4. 選取 [系統管理員],然後選取 [選取]

      [Microsoft Entra 角色] 對話方塊。

  4. 選取 建立

  5. 接著讓新的使用者登入 Azure 入口網站,系統將會提示變更密碼。 設定 Microsoft Entra Connect 之前,您將需要執行此動作。

將內部部署使用者同步處理至 Microsoft Entra ID

設定 Microsoft Entra Connect

  1. 從網域控制站中,下載 Microsoft Entra Connect

  2. 開啟您下載的可執行檔,並同意授權條款。 選取繼續

  3. 選取 [使用快速設定]

  4. 在 [連線至 Microsoft Entra ID] 頁面上,輸入 Microsoft Entra ID 系統管理員的使用者名稱和密碼。 使用您在設定 Active Directory 租用戶時建立的使用者名稱 fabrikamazureadmin@hdifabrikam.com。 然後選取下一步

    連線至 Microsoft Entra ID。

  5. 在 [連接到 Active Directory Domain Services] 頁面上,輸入企業系統管理員帳戶的使用者名稱和密碼。 使用您稍早建立的使用者名稱 HDIFabrikam\HDIFabrikamAdmin 及其密碼。 然後選取下一步

    連線至 A D D S 頁面。

  6. 在 [Microsoft Entra 登入設定] 頁面上,選取 [下一步]

    Microsoft Entra 登入設定頁面。

  7. 在 [準備設定] 頁面上,選取 [安裝]

    準備好設定頁面。

  8. 在 [設定完成] 頁面上,選取 [結束]設定完成頁面。

  9. 同步處理完成之後,請確認您在 IaaS 目錄中建立的使用者已同步處理至 Microsoft Entra ID。

    1. 登入 Azure 入口網站。
    2. 選取 [Microsoft Entra ID] > [HDIFabrikam] > [使用者]

建立使用者指派的受控識別

建立使用者指派的受控識別,以用來設定 Microsoft Entra Domain Services。 如需更多資訊,請參閱使用 Azure 入口網站對使用者指派的受控識別建立、列出、刪除或指派角色

  1. 登入 Azure 入口網站。
  2. 選取 [建立資源] 並輸入 managed identity。 選取 [使用者指派的受控識別]>[建立]
  3. 針對 [資源名稱],輸入 HDIFabrikamManagedIdentity
  4. 選取您的訂用帳戶。
  5. 在 [資源群組] 下方,選取 [新建] 並輸入 HDIFabrikam-CentralUS
  6. 在 [位置] 下選取 [美國中部]
  7. 選取 建立

建立新的使用者指派的受控識別。

啟用 Microsoft Entra Domain Services

遵循下列步驟來啟用 Microsoft Entra Domain Services。 如需詳細資訊,請參閱使用 Azure 入口網站啟用 Microsoft Entra Domain Services

  1. 建立虛擬網路以裝載 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
    
  2. 登入 Azure 入口網站。

  3. 選取 [建立資源],並輸入 Domain services,然後依序選取 [Microsoft Entra Domain Services] > [建立]

  4. 在 [基本] 頁面上:

    1. 在 [目錄名稱] 下方,選取您建立的 Microsoft Entra 目錄:HDIFabrikam

    2. 針對 [DNS 網域名稱],輸入 HDIFabrikam.com

    3. 選取您的訂用帳戶。

    4. 指定資源群組 HDIFabrikam-CentralUS。 針對 [位置],選取 [美國中部]

      Microsoft Entra Domain Services 基本詳細資料。

  5. 在 [網路] 頁面上,選取您使用 PowerShell 指令碼建立的網路 (HDIFabrikam-VNET) 和子網路 (AADDS-subnet)。 或者,選擇 [新建] 以立即建立虛擬網路。

    建立虛擬網路步驟。

  6. 在 [系統管理員群組] 頁面上,您應該會看到一項通知,指出已建立一個名為 AAD DC 系統管理員的群組來管理此群組。 您可以視需要修改此群組的成員資格,但在此情境中您不需要進行變更。 選取 [確定]。

    檢視 Microsoft Entra 系統管理員群組。

  7. 在 [同步處理] 頁面上,選取 [所有]>[確定] 以啟用完整的同步處理。

    啟用 Microsoft Entra Domain Services 同步處理。

  8. 在 [摘要] 頁面上,確認 Microsoft Entra Domain Services 的詳細資料,然後選取 [確定]

    啟用 Microsoft Entra Domain Services。

在您啟用 Microsoft Entra Domain Services 之後,本機 DNS 伺服器會在 Microsoft Entra VM 上執行。

設定 Microsoft Entra Domain Services 虛擬網路

使用下列步驟來設定 Microsoft Entra Domain Services 虛擬網路 (HDIFabrikam-AADDSVNET),以使用自訂 DNS 伺服器。

  1. 找出自訂 DNS 伺服器的 IP 位址。

    1. 選取 HDIFabrikam.com Microsoft Entra Domain Services 資源。
    2. [管理] 底下,選取 [屬性]
    3. 虛擬網路上的 IP 位址下尋找 IP 位址。

    尋找 Microsoft Entra Domain Services 的自訂 DNS IP 位址。

  2. 設定 HDIFabrikam-AADDSVNET 以使用自訂 IP 位址 10.0.0.4 和 10.0.0.5。

    1. 選取 [設定] 底下的 [DNS 伺服器]
    2. 選取自訂
    3. 在文字方塊中,輸入第一個 IP 位址 (10.0.0.4)。
    4. 選取 [儲存]。
    5. 重複步驟以新增其他 IP 位址 (10.0.0.5)。

在我們的情節中,已將 Microsoft Entra Domain Services 設定為使用 IP 位址 10.0.0.4 和 10.0.0.5,並在 Microsoft Entra Domain Services 虛擬網路上設定相同的 IP 位址:

自訂 DNS 伺服器頁面。

保護 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 憑證要求。

確認憑證已安裝在電腦的 [個人] 存放區中:

  1. 啟動 Microsoft Management Console (MMC)。

  2. 新增在本機電腦上管理憑證的 [憑證] 嵌入式管理單元。

  3. 展開 [憑證 (本機電腦)] > [個人] > [憑證]。 [個人] 存放區中應該有新的憑證。 此憑證會發行至完整主機名稱。

    確認本機憑證建立。

  4. 在右側的窗格中,以滑鼠右鍵按一下您所建立的憑證。 指向 [所有工作],然後選取 [匯出]

  5. 在 [匯出私密金鑰] 頁面上,選取 [是,匯出私密金鑰]。 將要匯入金鑰的電腦,需要私密金鑰才能讀取加密的訊息。

    [憑證匯出精靈] 的 [匯出私密金鑰] 頁面。

  6. 在 [匯出檔案格式] 頁面上,保留預設設定,接著選取 [下一步]

  7. 在 [密碼] 頁面上,輸入私密金鑰的密碼。 針對 [加密],選取 [TripleDES-SHA1]。 然後選取下一步

  8. 在 [要匯出的檔案] 頁面上,輸入匯出憑證檔案的路徑和名稱,然後選取 [下一步]。 檔名必須使用 .pfx 副檔名。 請在 Azure 入口網站中設定此檔案以建立安全的連線。

  9. 啟用 Microsoft Entra Domain Services 受控網域的 LDAPS。

    1. 從 Azure 入口網站,選取網域 HDIFabrikam.com
    2. 在 [管理] 底下,選取 [安全 LDAP]
    3. 在 [安全 LDAP] 頁面的 [安全 LDAP] 底下,選取 [啟用]
    4. 瀏覽您在電腦上匯出的 .pfx 憑證檔案。
    5. 輸入憑證的密碼。

    啟用安全 LDAP。

  10. 現在您已啟用 LDAPS,請確定其可透過啟用連接埠 636 來連線。

    1. HDIFabrikam-CentralUS 資源群組中,選取網路安全性群組 AADDS-HDIFabrikam.com-NSG

    2. 在 [設定] 下,選取 [輸入安全性規則]>[新增]

    3. 在 [新增輸入安全性規則] 頁面上,輸入下列詳細資料,然後選取 [新增]

      屬性 數值
      來源 任何
      來源連接埠範圍 *
      Destination 任意
      目的地連接埠範圍 636
      通訊協定 任意
      動作 允許
      優先順序 <所需的數字>
      名稱 Port_LDAP_636

      [新增輸入安全性規則] 對話方塊。

HDIFabrikamManagedIdentity 是使用者指派的受控識別。 HDInsight 網域服務參與者角色已啟用受控識別,允許此身分識別讀取、建立、修改和刪除網域服務作業。

建立使用者指派的受控識別。

建立啟用 ESP 的 HDInsight 叢集

此步驟需要下列先決條件:

  1. 在位置 [West US] 建立新的資源群組 HDIFabrikam-WestUS

  2. 建立虛擬網路以裝載啟用 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
    
  3. 在裝載 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')
    
  4. 建立名為 Hdigen2store 的新 Azure Data Lake Storage Gen2 帳戶。 透過使用者管理的識別 HDIFabrikamManagedIdentity 設定帳戶。 如需詳細資訊,請參閱搭配 Azure HDInsight 叢集使用 Azure Data Lake Storage Gen2

  5. HDIFabrikam-AADDSVNET 虛擬網路上設定自訂 DNS。

    1. 移至 Azure 入口網站 >[資源群組]>[OnPremADVRG]>[HDIFabrikam-AADDSVNET]>[DNS 伺服器]

    2. 選取 [自訂],然後輸入 10.0.0.410.0.0.5

    3. 選取 [儲存]。

      儲存虛擬網路的自訂 DNS 設定。

  6. 建立已啟用 ESP 的新 HDInsight Spark 叢集。

    1. 選取 [自訂 (大小、設定、應用程式)]

    2. 輸入 [基本] (區段 1) 的詳細資料。 確定 [叢集類型]Spark 2.3 (HDI 3.6)。 確定 [資源群組]HDIFabrikam-CentralUS

    3. 針對 [安全性 + 網路] (區段 2),請填寫下列詳細資料:

      • 在 [企業安全性套件] 底下,選取 [啟用]

      • 選取 [叢集管理員使用者],然後選取您建立為內部部署系統管理員使用者的 HDIAdmin 帳戶。 按一下 [選取]。

      • 選取[叢集存取群組]>[HDIUserGroup]。 未來新增至此群組的任何使用者都能夠存取 HDInsight 叢集。

        選取叢集存取群組 HDIUserGroup。

    4. 完成叢集組態的其他步驟,並確認 [叢集摘要] 的詳細資料。 選取 建立

  7. https://CLUSTERNAME.azurehdinsight.net 登入新建立叢集的 Ambari UI。 使用您的系統管理員使用者名稱 hdiadmin@hdifabrikam.com 及其密碼。

    Apache Ambari UI 登入視窗。

  8. 從叢集儀表板中,選取 [角色]

  9. 在 [角色] 頁面上,於 [叢集管理員] 角色旁邊的 [將角色指派給下列] 下方輸入群組 hdiusergroup

    將叢集系統管理員角色指派給 hdiusergroup。

  10. 開啟您的安全殼層 (SSH) 用戶端並登入叢集。 使用您在內部部署 Active Directory 執行個體中建立的 hdiuser

    使用 SSH 用戶端登入叢集。

如果可以使用此帳戶登入,則表示您已正確設定 ESP 叢集,與內部部署的 Active Directory 執行個體同步。

下一步

閱讀具有 ESP 的 Apache Hadoop 安全性簡介