共用方式為


在 Microsoft Entra Domain Services 中設定 Kerberos 限制委派 (KCD)

當您執行應用程式時,可能需要這些應用程式存取不同用戶內容中的資源。 Active Directory Domain Services (AD DS) 支援稱為 Kerberos 委派 的機制,可啟用此使用案例。 Kerberos 受限 委派(KCD),然後基於此機制來定義可以在用戶上下文中存取的特定資源。

Microsoft Entra Domain Services 受控網域比傳統內部部署 AD DS 環境更安全地鎖定,因此請使用更安全的資源型 KCD。

本文說明如何在 Domain Services 受控網域中設定以資源為基礎的 Kerberos 限制委派。

先決條件

若要完成本文,您需要下列資源:

Kerberos 限制委派概述

Kerberos 委派可讓一個帳戶冒用另一個帳戶來存取資源。 例如,存取後端 Web 元件的 Web 應用程式,在進行後端連線時,可以模擬自己作為不同的用戶帳戶。 Kerberos 委派不安全,因為它不會限制模擬帳戶可以存取的資源。

Kerberos 限制 委派(KCD)功能會限制指定伺服器或應用程式在模擬另一個身分識別時的連線服務或資源。 傳統 KCD 需要網域系統管理員許可權來設定服務的網域帳戶,並限制帳戶在單一網域上執行。

傳統的 KCD 也有一些問題。 例如,在先前的作業系統中,服務管理員沒有有效的方法來得知哪些前端服務被委派到他們所擁有的資源服務。 任何可以委派給資源服務的前端服務,都可能是攻擊點。 如果一個裝載前端服務並設定為委派至資源服務的伺服器遭到入侵,那麼資源服務也可能會被入侵。

在受控網域中,您沒有網域系統管理員許可權。 因此,傳統帳戶型 KCD 無法在受控網域中設定。 您可以改用以資源為基礎的 KCD,這也是更安全的。

以資源為基礎的 KCD

Windows Server 2012 和更新版本可讓服務管理員設定其服務的限制委派。 此模型稱為資源型 KCD。 使用這種方法,後端服務管理員可以允許或拒絕使用 KCD 的特定前端服務。

以資源為基礎的 KCD 是使用 PowerShell 設定的。 您可以使用 Set-ADComputerSet-ADUser Cmdlet,這取決於模擬帳戶是電腦帳戶還是用戶帳戶或服務帳戶。

設定電腦帳戶的資源型 KCD

在此案例中,假設您有一個名為 contoso-webapp.aaddscontoso.com的計算機上執行的 Web 應用程式。

Web 應用程式需要以網域用戶身份存取在名為 contoso-api.aaddscontoso.com 的電腦上運行的 Web API。

完成下列步驟來設定此案例:

  1. 建立自訂 OU。 您可以將管理此自訂 OU 的許可權委派給受控網域內的使用者。

  2. 將虛擬機加入網域,也就是執行 Web 應用程式的虛擬機,以及執行 Web API 的虛擬機加入受控網域。 在上一個步驟的自定義 OU 中建立這些電腦帳戶。

    注意

    Web 應用程式和 Web API 的電腦帳戶必須位於您有權設定以資源為基礎的 KCD 的自訂 OU 中。 您無法在內建的 Microsoft Entra DC 電腦 容器中,為電腦帳戶設定資源型 KCD。

  3. 最後,使用 Set-ADComputer PowerShell Cmdlet 來設定以資源為基礎的 KCD。

    從已加入網域的管理 VM,並以屬於 Microsoft Entra DC 系統管理員 群組成員的用戶帳戶登入,執行下列 Cmdlet。 視需要提供您自己的電腦名稱:

    $ImpersonatingAccount = Get-ADComputer -Identity contoso-webapp.aaddscontoso.com
    Set-ADComputer contoso-api.aaddscontoso.com -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
    

設定使用者帳戶的資源型 KCD

在此案例中,假設您有一個以名為 appsvc的服務帳戶執行的 Web 應用程式。 Web 應用程式需要存取在網域用戶環境中由名為 backendsvc 的服務帳戶運行的 Web API。 完成下列步驟來設定此案例:

  1. 建立自訂的 OU。 您可以將管理此自訂 OU 的許可權委派給受控網域內的使用者。

  2. 將執行後端 Web API/資源的虛擬機器 加入至受控網域。 在自定義 OU 內建立其電腦帳戶。

  3. 建立用來在自定義 OU 內執行 Web 應用程式的服務帳戶(例如,appsvc]。

    注意

    同樣地,Web API VM 的計算機帳戶,以及 Web 應用程式的服務帳戶,必須位於您有權設定以資源為基礎的 KCD 的自定義 OU 中。 您無法為內建在 Microsoft Entra DC 電腦 容器或 Microsoft Entra DC 使用者 容器中的帳戶設定以資源為基礎的 KCD。 這也表示您無法使用從 Microsoft Entra ID 同步處理的使用者帳戶來設定以資源為基礎的 KCD。 您必須建立和使用網域服務中特別建立的服務帳戶。

  4. 最後,使用 Set-ADUser PowerShell Cmdlet 來設定以資源為基礎的 KCD。

    從已加入網域的管理 VM,並以屬於 Microsoft Entra DC 系統管理員 群組成員的用戶帳戶登入,執行下列 Cmdlet。 視需要提供您自己的服務名稱:

    $ImpersonatingAccount = Get-ADUser -Identity appsvc
    Set-ADUser backendsvc -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
    

後續步驟

若要深入瞭解委派在 Active Directory 網域服務中的運作方式,請參閱 Kerberos 限制委派概觀。