共用方式為


使用 Azure PowerShell 來建立內部部署網域的 Microsoft Entra Domain Services 樹系信任

在無法同步密碼雜湊的環境中,或有專門使用智慧卡登入 (使得他們不知道其密碼) 的使用者,您可以建立從 Microsoft Entra Domain Services 到一或多個內部部署 AD DS 環境的單向輸出信任。 此信任關係可讓使用者、應用程式和電腦向 Domain Services 受控網域中的內部部署網域進行驗證。 在此情況下,永遠不會同步內部部署密碼雜湊。

從 Domain Services 到內部部署 AD DS 的樹系信任圖表

在本文中,您將學會如何:

  • 使用 Azure PowerShell 來建立 Domain Services 樹系
  • 使用 Azure PowerShell 在受控網域中建立單向輸出樹系信任
  • 在內部部署 AD DS 環境中設定 DNS,藉此支援 Azure AD DS 的連線
  • 在內部部署 AD DS 環境中建立單向的輸入樹系信任
  • 測試和驗證信任關係以進行驗證和資源存取

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立帳戶

重要

受控網域樹系目前不支援 Azure HDInsight 或 Azure 檔案儲存體。 預設的受控網域樹系則可支援這兩種額外服務。

必要條件

若要完成本文章,您需要下列資源和權限:

登入 Microsoft Entra 系統管理中心

在本文中,您會透過 Azure 入口網站從 Microsoft Entra 系統管理中心建立與設定輸出樹系信任。 若要開始使用,請先登入 Microsoft Entra 系統管理中心

部署程序

在內部部署 AD DS 中建立受控網域樹系與信任關係的程序分成多個程序。 下列高階步驟可用於組建受信任的混合式環境:

  1. 建立受控網域服務主體。
  2. 建立受控網域樹系。
  3. 使用站對站 VPN 或 Express Route 建立混合式網路連線。
  4. 建立信任關係中的受控網域端。
  5. 建立信任關係中的內部部署 AD DS 端。

開始之前,請務必先瞭解各種網路考量、樹系命名方式和 DNS 需求。 部署受控網域樹系名稱後,即無法變更。

建立 Microsoft Entra 服務主體

Domain Services 需要服務主體從 Microsoft Entra ID 同步資料。 建立受控網域樹系之前,您必須先在 Microsoft Entra 租用戶中建立此主體。

建立 Microsoft Entra 服務主體,讓 Domain Services 通訊和驗證本身。 系統會使用特定的應用程式識別碼,其名稱為「網域控制站服務」以及「6ba9a5d4-8456-4118-b521-9c5ca10cdf84」 的識別碼。 請勿變更此應用程式識別碼。

使用 New-MgServicePrincipal Cmdlet 來建立 Microsoft Entra 服務主體:

New-MgServicePrincipal

建立受控網域

若要建立受控網域,您會使用 New-AaddsResourceForest 指令碼。 此指令碼是支援受控網域的更廣泛命令集的一部分,包括在下一節中建立單向繫結樹系。 這些指令碼可從 PowerShell 資源庫取得,並由 Microsoft Entra 工程小組進行數位簽署。

  1. 首先,請使用 New-AzResourceGroup Cmdelt 建立資源群組。 在下列範例中,會在 westus 區域中建立名為 myResourceGroup 的資源群組。 使用您自己的名稱和所需的區域:

    New-AzResourceGroup `
      -Name "myResourceGroup" `
      -Location "WestUS"
    
  2. 使用 Install-Script Cmdlet 從 PowerShell 資源庫安裝 New-AaddsResourceForest 指令碼:

    Install-Script -Name New-AaddsResourceForest
    
  3. 檢閱下方的 New-AaddsResourceForest 指令碼所需參數。 請確認您也具備必備的 Azure PowerShellMicrosoft Graph PowerShell 模組。 請務必針對應用程式和內部部署的連線需求規劃虛擬網路。

    名稱 指令碼參數 描述
    訂用帳戶 -azureSubscriptionId 用於 Domain Services 計費的訂用帳戶識別碼。 您可以使用 Get-AzureRMSubscription Cmdlet 來取得訂用帳戶清單。
    資源群組 -aaddsResourceGroupName 受控網域和相關資源的資源群組名稱。
    Location -aaddsLocation 代管受控網域的 Azure 區域。 如需查看可用區域,請參閱 Domain Services 支援的區域
    Domain Services 系統管理員 -aaddsAdminUser 第一個受控網域管理員的使用者主體名稱。 此帳戶必須是您 Microsoft Entra ID 中的現有雲端使用者帳戶。 使用者及執行指令碼的使用者會新增至 AAD DC Administrators 群組中。
    Domain Services 網域名稱 -aaddsDomainName 受控網域的 FQDN,以上一版的樹系名稱選擇指引為依據。

    如果這些資源並非現有,則 New-AaddsResourceForest 指令碼可建立 Azure 虛擬網路和 Domain Services 子網路。 在指定下列項目後,您就可以按照需求使用指令碼建立工作負載子網路:

    名稱 指令碼參數 描述
    虛擬網路名稱 -aaddsVnetName 受控網域的虛擬網路名稱。
    位址空間 -aaddsVnetCIDRAddressSpace 虛擬網路位址範圍,採用 CIDR 標記法 (如有建立虛擬網路)。
    Domain Services 子網路名稱 -aaddsSubnetName 代管受控網域的 aaddsVnetName 虛擬網路具有的子網路名稱。 請勿在此子網路中部署您自己的 VM 和工作負載。
    Domain Services 位址範圍 -aaddsSubnetCIDRAddressRange Domain Services 執行個體的子網路位址範圍,採用 CIDR 標記法,例如 192.168.1.0/24。 該位址範圍必須包含在虛擬網路的位址範圍中,並且與其他子網路不同。
    工作負載子網路名稱 (選填) -workloadSubnetName aaddsVnetName 虛擬網路中非必填的子網路名稱,您可以按需求為自己的應用程式工作負載建立。 VM 和應用程式也會改為連線到對等互連的 Azure 虛擬網路。
    工作負載位址範圍 (選填) -workloadSubnetCIDRAddressRange 選填的應用程式工作負載子網路位址範圍,採用 CIDR 標記法,例如 192.168.2.0/24。 該位址範圍必須包含在虛擬網路的位址範圍中,並且與其他子網路不同。
  4. 現在使用 New-AaddsResourceForest 指令碼來建立受控網域樹系。 下列範例會建立名稱為 addscontoso.com 的樹系,也會建立工作負載子網路。 請提供您自己的參數名稱以及 IP 位址範圍或現有的虛擬網路。

    New-AzureAaddsForest `
        -azureSubscriptionId <subscriptionId> `
        -aaddsResourceGroupName "myResourceGroup" `
        -aaddsLocation "WestUS" `
        -aaddsAdminUser "contosoadmin@contoso.com" `
        -aaddsDomainName "aaddscontoso.com" `
        -aaddsVnetName "myVnet" `
        -aaddsVnetCIDRAddressSpace "192.168.0.0/16" `
        -aaddsSubnetName "AzureADDS" `
        -aaddsSubnetCIDRAddressRange "192.168.1.0/24" `
        -workloadSubnetName "myWorkloads" `
        -workloadSubnetCIDRAddressRange "192.168.2.0/24"
    

    建立受控網域樹系和支援資源需要花費一段時間。 請等候指令碼完成作業。 在 Microsoft Entra 樹系進行背景佈建期間,請繼續前往下一節設定您的內部部署網路連線。

設定及驗證網路設定

在受控網域持續部署期間,設定及驗證內部部署資料中心的混合式網路連線。 您也需要搭配受控網域使用管理 VM,以便進行定期維護。 您的環境中可能已經存在部分混合式連線,或者您可能需要與小組中的其他人合作設定連線。

開始之前,請務必先行瞭解各種網路考量和建議

  1. 使用 Azure VPN 或 Azure ExpressRoute 連線在 Azure 的內部部署網路建立混合式連線。 本文件的內容並不包含混合式網路的設定,且您的環境中可能已存在相關設定。 如需特定設定情境的詳細資訊,請參閱下列文章:

    重要

    如果您直接對受控網域的虛擬網路建立連線,請使用其他閘道子網路。 請勿在受控網域的子網路中建立閘道。

  2. 若要管理受控網域,請建立管理 VM,將它加入受控網域,然後安裝必要的 AD DS 管理工具。

    部署受控網域時,請建立 Windows Server VM,然後安裝核心 AD DS 管理工具,藉此安裝所需管理工具。 成功部署網域之後,先等候管理 VM 加入受控網域,再執行下列其中一個步驟。

  3. 驗證內部部署網路與 Azure 虛擬網路之間的網路連線。

    • 確認您的內部部署網域控制站可以使用 ping 或遠端桌面等方式連線到受控 VM。
    • 使用 ping 等公用程式,確認您的管理 VM 可以連線到內部部署網域控制站。
  4. 在 Microsoft Entra 系統管理中心中,搜尋並選取 [Microsoft Entra Domain Services]。 選擇您的受控網域,例如 aaddscontoso.com ,並等候狀態回報為「正在執行」

    請在執行時更新 Azure 虛擬網路的 DNS 設定,然後啟用 Domain Services 的使用者帳戶,藉此完成受控網域的設定。

  5. 記下概觀頁面上顯示的 DNS 位址。 在下一節中設定信任關係的內部部署 Active Directory 端時,您需要用到這些位址。

  6. 重新開啟管理 VM,以便接收新的 DNS 設定,然後將 VM 加入受控網域

  7. 將管理 VM 加入受控網域之後,請使用遠端桌面再次連線。

    從命令提示字元中,使用 nslookup 和受控網域名稱來驗證樹系的名稱解析。

    nslookup aaddscontoso.com
    

    此命令應該會傳回兩個樹系的 IP 位址。

建立樹系信任

樹系信任具有兩個部分:受控網域中的單向輸出樹系信任,以及內部部署 AD DS 樹系中的單向輸入樹系信任。 您必須手動建立此信任關係的兩端。 建立這兩端後,使用者和資源就能使用樹系信任成功進行驗證。 受控網域最多可對內部部署樹系支援五個單向輸出樹系信任。

建立信任關係中的受控網域端

使用 Add-AaddsResourceForestTrust 指令碼建立信任關係中的受控網域端。 首先,請使用 Install-Script Cmdlet 從 PowerShell 資源庫安裝 Add-AaddsResourceForestTrust 指令碼:

Install-Script -Name Add-AaddsResourceForestTrust

接下來向指令碼提供下列資訊:

名稱 指令碼參數 描述
Domain Services 網域名稱 -ManagedDomainFqdn 受控網域的 FQDN,例如 aaddscontoso.com
內部部署 AD DS 網域名稱 -TrustFqdn 信任樹系的 FQDN,例如 onprem.contoso.com
好記的信任名稱 -TrustFriendlyName 好記的信任關係名稱。
內部部署 AD DS DNS IP 位址 -TrustDnsIPs 列出受信任網域的 DNS 伺服器 IPv4 位址清單 (以逗號分隔)。
信任密碼 -TrustPassword 信任關係的複雜密碼。 在內部部署 AD DS 中建立單向輸入信任時,也需要輸入此密碼。
認證 -Credentials 用來向 Azure 進行驗證的認證。 使用者必須位於 AAD DC Administrators 群組中。 如未提供此認證,指令碼就會跳出提示要求驗證。

下列範例會對 onprem.contoso.com 建立名稱為 myAzureADDSTrust 的信任關係。 請使用您自己的參數名稱和密碼。

Add-AaddsResourceForestTrust `
    -ManagedDomainFqdn "aaddscontoso.com" `
    -TrustFqdn "onprem.contoso.com" `
    -TrustFriendlyName "myAzureADDSTrust" `
    -TrustDnsIPs "10.0.1.10,10.0.1.11" `
    -TrustPassword <complexPassword>

重要

請記住您的信任密碼。 建立信任的內部部署端時,您必須使用相同密碼。

設定內部部署網域中的 DNS

若要從內部部署環境正確地解析受控網域,建議您將轉寄站新增至現有的 DNS 伺服器。 如果您尚未將內部部署環境設定為可與受控網域通訊,請從內部部署 AD DS 網域的管理工作站完成下列步驟:

  1. 選取開始 | 系統管理工具 | DNS
  2. 以滑鼠右鍵選取 DNS 伺服器,例如 myAD01,然後選取 [屬性]
  3. 選擇 [轉寄站],然後選擇 [編輯] 新增其他轉寄站。
  4. 新增受控網域的 IP 位址,例如 10.0.1.410.0.1.5
  5. 在本機命令提示字元中,使用受控網域名稱中的 nslookup 驗證名稱解析。 舉例而言,Nslookup aaddscontoso.com 應會傳回兩個受控網域的 IP 位址。

在內部部署網域中建立輸入樹系信任

內部部署 AD DS 網域需要受控網域的連入樹系信任。 此信任必須在內部部署 AD DS 網域中手動予以建立,無法從 Microsoft Entra 系統管理中心予以建立。

若要在內部部署 AD DS 網域設定輸入信任,請從內部部署 AD DS 網域的管理工作站完成下列步驟:

  1. 選取 開始 | 系統管理工具 | Active Directory 網域及信任
  2. 以滑鼠右鍵選取網域,例如 onprem.contoso.com,然後選取 [屬性]
  3. 選擇 [信任] 索引標籤,然後選擇 [新增信任]
  4. 輸入受控網域的名稱,例如 aaddscontoso.com,然後選取 [下一步]
  5. 選取選項以建立樹系信任,然後建立單向: 連入 信任。
  6. 選擇為僅此網域建立信任。 在下一個步驟中,您會在受控網域的 Microsoft Entra 系統管理中心中建立信任。
  7. 選擇使用全樹系驗證,然後輸入並確認信任密碼。 在下節中,也會在 Microsoft Entra 系統管理中心中輸入這個相同的密碼。
  8. 使用預設選項逐步執行接下來的幾個視窗,然後選擇 [否,不要確認外寄信任] 的選項。 委派給受控網域的管理員帳戶不具必要權限,因此您無法驗證信任關係。 這是依照設計的行為。
  9. 選取 [完成]

驗證資源驗證

下列常見案例可讓您驗證樹系信任是否正確地驗證使用者和資源的存取權:

來自 Domain Services 樹系的內部部署使用者驗證

您應該已將 Windows Server 虛擬機器加入受控網域的資源網域。 使用這部虛擬機器來測試您的內部部署使用者是否可以在虛擬機器上進行驗證。

  1. 使用遠端桌面和受控網域的管理員認證,連線到加入受控網域的 Windows Server VM。 如果您收到網路層級驗證 (NLA) 錯誤,請確認您使用的使用者帳戶並非網域使用者帳戶。

    提示

    若要安全地連線到已加入 Microsoft Entra Domain Services 的 VM,您可以在支援的 Azure 區域中使用 Azure Bastion 主機服務

  2. 開啟命令提示字元,然後使用 whoami 命令來顯示目前已驗證使用者的辨別名稱:

    whoami /fqdn
    
  3. 使用 runas 命令,以來自內部部署網域的使用者身分進行驗證。 在下列命令中,以來自受信任內部部署網域之使用者的 UPN 取代 userUpn@trusteddomain.com。 此命令會提示您輸入使用者密碼:

    Runas /u:userUpn@trusteddomain.com cmd.exe
    
  4. 如果驗證成功,就會開啟新的命令提示字元。 新命令提示字元的標題包含 running as userUpn@trusteddomain.com

  5. 在新的命令提示字元中使用 whoami /fqdn,以從內部部署 Active Directory 檢視已驗證使用者的辨別名稱。

以內部部署使用者身分存取 Domain Services 中的資源

使用已加入受控網域的 Windows Server VM 時,您可以測試案例,也就是當使用者從內部部署網域中的電腦向內部部署網域的使用者進行驗證時,是否可以存取樹系中裝載的資源。 下列範例會示範如何建立和測試各種常見的案例。

啟用檔案及印表機共用

  1. 使用遠端桌面和受控網域的管理員認證,連線到加入受控網域的 Windows Server VM。 如果您收到網路層級驗證 (NLA) 錯誤,請確認您使用的使用者帳戶並非網域使用者帳戶。

    提示

    若要安全地連線到已加入 Microsoft Entra Domain Services 的 VM,您可以在支援的 Azure 區域中使用 Azure Bastion 主機服務

  2. 開啟 Windows 設定,然後搜尋並選取 [網路和共用中心]

  3. 選擇 [變更進階共用] 設定選項。

  4. 在 [網域設定檔]下,選取 [開啟檔案及印表機共用] 然後選取 [儲存變更]

  5. 關閉網路和共用中心

建立安全性群組並新增成員

  1. 開啟 [Active Directory 使用者及電腦]。

  2. 在網域名稱上按一下滑鼠右鍵,選擇 [新增],然後選取 [組織單位]

  3. 在 [名稱] 方塊中,輸入 LocalObjects,然後選取 [確定]

  4. 選取並以滑鼠右鍵按一下瀏覽窗格中的 LocalObjects。 選取 [新增],然後選取 [群組]

  5. 在 [群組名稱] 方塊中,輸入 FileServerAccess。 在 [群組範圍] 中,選取 [網域本機],然後選擇 [確定]

  6. 在內容窗格中,按兩下 FileServerAccess。 選取 [成員],選擇 [新增],然後選取 [位置]

  7. 位置檢視中選取您的內部部署 Active Directory,然後選擇 [確定]

  8. 在 [輸入要選取的物件名稱] 方塊中輸入「網域使用者」。 選取 [檢查名稱]並提供內部部署 Active Directory 的認證,然後選取 [確定]

    注意

    您必須提供認證,因為信任關係只有單向。 也就是說,來自受控網域的使用者無法存取資源,也無法在受信任的 (內部部署) 網域中搜尋使用者或群組。

  9. 來自內部部署 Active Directory 的網域使用者群組應該是 FileServerAccess 群組的成員。 選取 [確定] 儲存群組並關閉視窗。

建立跨樹系存取的檔案共用

  1. 在已加入受控網域的 Windows Server VM 上建立資料夾並輸入名稱,例如 CrossForestShare
  2. 以滑鼠右鍵按一下資料夾,然後選擇 [屬性]
  3. 選取 [安全性] 索引標籤,接著選取 [編輯]
  4. 在 [CrossForestShare 權限] 對話方塊中,選取 [新增]
  5. 輸入物件名稱以選取中輸入 FileServerAccess,然後選取 [確定]
  6. 從 [群組或使用者名稱] 清單中選取 FileServerAccess。 在 [FileServerAccess 權限] 清單中,針對 [修改] 和 [寫入] 權限選擇 [允許],然後選取 [確定]
  7. 選取 [共用] 索引標籤,然後選擇 [進階共用...]
  8. 選擇 [共用此資料夾],然後在 [共用名稱] 中,為檔案共用輸入易記的名稱,例如 CrossForestShare
  9. 選取 [權限]。 在 [每個人的權限] 清單中,針對 [變更] 權限選擇 [允許]
  10. 選取 [確定] 兩次,然後選取 [關閉]

驗證資源的跨樹系驗證

  1. 使用內部部署 Active Directory 的使用者帳戶,登入已加入內部部署 Active Directory 的 Windows 電腦。

  2. 使用 Windows 檔案總管連線到您使用完整主機名稱和共用 (例如 \\fs1.aaddscontoso.com\CrossforestShare) 所建立的共用。

  3. 若要驗證寫入權限,請在資料夾中按一下滑鼠右鍵,選擇 [新增],然後選取 [文字文件]。 使用預設名稱新增文字檔

    如果已正確設定寫入權限,則會建立新的文字檔。 接下來的步驟將會適當地開啟、編輯及刪除檔案。

  4. 若要驗證讀取權限,請開啟新增文字文件

  5. 若要驗證修改權限,請將文字新增至檔案,然後關閉記事本。 當系統提示您儲存變更時,請選擇 [儲存]

  6. 若要驗證刪除權限,請以滑鼠右鍵選取 [新增文字文件],然後選擇 [刪除]。 選擇 [是] 確認檔案刪除。

更新或移除輸出樹系信任

如果您需要從受控網域更新現有的單向輸出樹系,您可以使用 Get-AaddsResourceForestTrustsSet-AaddsResourceForestTrust 指令碼。 在想要更新樹系信任易記名稱或信任密碼時,這些指令碼很實用。 若要從受控網域移除單向輸出信任,您可以使用 Remove-AaddsResourceForestTrust 指令碼。 您必須在關聯的內部部署 AD DS 樹系中手動移除單向輸入樹系信任。

更新樹系信任

在正常運作之下,受控網域和內部部署樹系會協調彼此之間的定期密碼更新程序。 這種程序是正常 AD DS 信任關係安全性程序的一部分。 除非信任關係發生問題,且您想要手動重設為已知的密碼,否則您不需要手動輪替信任密碼。 如需詳細資訊,請參閱變更信任網域的物件密碼

如果您需要手動重設輸出信任密碼,下列範例步驟說明了如何更新現有信任關係:

  1. 使用 Install-Script Cmdlet 從 PowerShell 資源庫安裝 Get-AaddsResourceForestTrustsSet-AaddsResourceForestTrust 指令碼:

    Install-Script -Name Get-AaddsResourceForestTrusts,Set-AaddsResourceForestTrust
    
  2. 您必須先使用 Get-AaddsResourceForestTrusts 指令碼取得信任資源,才能更新現有的信任。 在下列範例中,現有的信任指派給名稱為 existingTrust 的物件。 更新時請指定自己的受控網域樹系名稱和內部部署樹系名稱:

    $existingTrust = Get-AaddsResourceForestTrust `
        -ManagedDomainFqdn "aaddscontoso.com" `
        -TrustFqdn "onprem.contoso.com" `
        -TrustFriendlyName "myAzureADDSTrust"
    
  3. 若要更新現有的信任密碼,請使用 Set-AaddsResourceForestTrust 指令碼。 從上一個步驟指定現有的信任物件,然後再指定新的信任關係密碼。 PowerShell 不會強制密碼的複雜性,因此請務必自行產生要讓您的環境使用的安全密碼。

    Set-AaddsResourceForestTrust `
        -Trust $existingTrust `
        -TrustPassword <newComplexPassword>
    

刪除樹系信任

如果您不再需要從受控網域對內部部署 AD DS 樹系使用單向輸出樹系信任,可以將它移除。 在移除信任之前,請確認內部部署 AD DS 樹系不需要驗證任何應用程式或服務。 您也必須在內部部署 AD DS 樹系中手動移除單向輸入信任。

  1. 使用 Install-Script Cmdlet 從 PowerShell 資源庫安裝 Remove-AaddsResourceForestTrust 指令碼:

    Install-Script -Name Remove-AaddsResourceForestTrust
    
  2. 接下來,使用 Remove-AaddsResourceForestTrust 指令碼移除樹系信任。 以下範例會在名稱為 aaddscontoso.com 的受控網域樹系與內部部署樹系 onprem.contoso.com 之間,移除名稱為 myAzureADDSTrust 的信任。 移除時請指定自己的受控網域樹系名稱和內部部署樹系名稱:

    Remove-AaddsResourceForestTrust `
        -ManagedDomainFqdn "aaddscontoso.com" `
        -TrustFqdn "onprem.contoso.com" `
        -TrustFriendlyName "myAzureADDSTrust"
    

若要從內部部署 AD DS 樹系移除單向輸入信任,請連線到可存取內部部署 AD DS 樹系的管理電腦,並完成下列步驟:

  1. 選取 [開始] | [系統管理工具] | [Active Directory 網域及信任]
  2. 以滑鼠右鍵選取網域,例如 onprem.contoso.com,然後選取 [屬性]
  3. 選擇 [信任] 索引標籤,然後從受控網域樹系選取現有的傳入信任。
  4. 選取 [移除],然後確認您要移除傳入信任。

下一步

在本文中,您已了解如何:

  • 使用 Azure PowerShell 建立受控網域
  • 使用 Azure PowerShell 在受控網域中建立單向輸出樹系信任
  • 在內部部署 AD DS 環境中設定 DNS,藉此支援受控網域連線
  • 在內部部署 AD DS 環境中建立單向的輸入樹系信任
  • 測試和驗證信任關係以進行驗證和資源存取

如需 Domain Services 中樹系類型的詳細概念資訊,請參閱樹系信任如何在 Domain Services 中運作?

Connect-MgGraph:/powershell/microsoftgraph/authentication-commands

New-MgServicePrincipal:/powershell/module/microsoft.graph.applications/new-mgserviceprincipal