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

當您執行應用程式時,可能需要這些應用程式存取不同使用者內容中的資源。 Active Directory 網域服務 (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-ADComputer 或 Set-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

在此案例中,假設您有 Web 應用程式以名為 appsvc 的服務帳戶的形式執行。 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 限制委派概觀