共用方式為


使用 gMSA 設定適用於身分識別的 Defender 的目錄服務帳戶

本文說明如何 (gMSA) 建立群組受控服務帳戶 ,以作為適用於身分識別的 Defender DSA 專案。

如需詳細資訊,請參閱適用於 適用於身分識別的 Microsoft Defender 的目錄服務帳戶

注意事項

在多樹系、多網域環境中,需要使用 gMSA 的感測器必須讓其計算機帳戶受到 gMSA 建立所在網域的信任。 建議您在每個網域中建立通用群組,其中包含所有感測器的計算機帳戶,讓所有感測器都能擷取 gMSA 的密碼,並執行跨網域驗證。 我們也建議為每個樹系或網域建立具有唯一名稱的 gMSA。

必要條件:授與擷取 gMSA 帳戶密碼的許可權

建立 gMSA 帳戶之前,請考慮如何指派許可權來擷取帳戶的密碼。

使用 gMSA 專案時,感測器必須從 Active Directory 擷取 gMSA 的密碼。 這可以藉由指派給每個感測器或使用群組來完成。

  • 在單一樹系的單一網域部署中,如果您不打算在任何 AD FS/ AD CS 伺服器上安裝感測器,您可以使用內建的域控制器安全組。

  • 在具有多個網域的樹系中,使用單一 DSA 帳戶時,建議您建立通用群組,並將每個域控制器和 AD FS / AD CS 伺服器新增至通用群組。

如果您在電腦收到 Kerberos 票證之後,將電腦帳戶新增至通用群組,在收到新的 Kerberos 票證之前,將無法擷取 gMSA 的密碼。 Kerberos 票證具有簽發票證時實體所屬的群組清單。

在這類情況下,請執行下列其中一項:

  • 等候發出新的 Kerberos 票證。 Kerberos 票證通常有效期為 10 小時。

  • 重新啟動伺服器。 當伺服器重新啟動時,會要求具有新群組成員資格的新 Kerberos 票證。

  • 清除現有的 Kerberos 票證。 這會強制域控制器要求新的 Kerberos 票證。

    若要清除票證,請從域控制器上的系統管理員命令提示字元執行下列命令: klist purge -li 0x3e7

建立 gMSA 帳戶

本節說明如何建立可擷取帳戶密碼的特定群組、建立 gMSA 帳戶,然後測試帳戶是否已準備好使用。

注意事項

如果您之前從未使用過 gMSA 帳戶,您可能需要為 Active Directory 內的 Microsoft 群組金鑰發佈服務 (KdsSvc) 產生新的根密鑰。 每個樹系只需要執行此步驟一次。

若要產生新的根金鑰以立即使用,請執行下列命令:

Add-KdsRootKey -EffectiveImmediately

使用您環境的變數值更新下列程序代碼。 然後,以系統管理員身分執行 PowerShell 命令:

# Variables:
# Specify the name of the gMSA you want to create:
$gMSA_AccountName = 'mdiSvc01'
# Specify the name of the group you want to create for the gMSA,
# or enter 'Domain Controllers' to use the built-in group when your environment is a single forest, and will contain only domain controller sensors.
$gMSA_HostsGroupName = 'mdiSvc01Group'
# Specify the computer accounts that will become members of the gMSA group and have permission to use the gMSA. 
# If you are using the 'Domain Controllers' group in the $gMSA_HostsGroupName variable, then this list is ignored
$gMSA_HostNames = 'DC1', 'DC2', 'DC3', 'DC4', 'DC5', 'DC6', 'ADFS1', 'ADFS2'

# Import the required PowerShell module:
Import-Module ActiveDirectory

# Set the group
if ($gMSA_HostsGroupName -eq 'Domain Controllers') {
    $gMSA_HostsGroup = Get-ADGroup -Identity 'Domain Controllers'
} else {
    $gMSA_HostsGroup = New-ADGroup -Name $gMSA_HostsGroupName -GroupScope DomainLocal -PassThru
    $gMSA_HostNames | ForEach-Object { Get-ADComputer -Identity $_ } |
        ForEach-Object { Add-ADGroupMember -Identity $gMSA_HostsGroupName -Members $_ }
}

# Create the gMSA:
New-ADServiceAccount -Name $gMSA_AccountName -DNSHostName "$gMSA_AccountName.$env:USERDNSDOMAIN" `
 -PrincipalsAllowedToRetrieveManagedPassword $gMSA_HostsGroup

授與必要的 DSA 許可權

DSA 需要 Active Directory 中 所有 物件的唯讀許可權,包括 刪除的物件容器

[ 刪除的物件 ] 容器上的只讀許可權可讓適用於身分識別的 Defender 偵測您 Active Directory 中的使用者刪除。

使用下列程式代碼範例,協助您授與 [刪除的物件 ] 容器上所需的讀取許可權,無論您是否使用 gMSA 帳戶。

提示

如果您想要授與許可權的 DSA 是 gMSA) (群組受控服務帳戶,您必須先建立安全組、將 gMSA 新增為成員,然後將許可權新增至該群組。 如需詳細資訊, 請參閱使用 gMSA 設定適用於身分識別的 Defender 的目錄服務帳戶

# Declare the identity that you want to add read access to the deleted objects container:
$Identity = 'mdiSvc01'

# If the identity is a gMSA, first to create a group and add the gMSA to it:
$groupName = 'mdiUsr01Group'
$groupDescription = 'Members of this group are allowed to read the objects in the Deleted Objects container in AD'
if(Get-ADServiceAccount -Identity $Identity -ErrorAction SilentlyContinue) {
    $groupParams = @{
        Name           = $groupName
        SamAccountName = $groupName
        DisplayName    = $groupName
        GroupCategory  = 'Security'
        GroupScope     = 'Universal'
        Description    = $groupDescription
    }
    $group = New-ADGroup @groupParams -PassThru
    Add-ADGroupMember -Identity $group -Members ('{0}$' -f $Identity)
    $Identity = $group.Name
}

# Get the deleted objects container's distinguished name:
$distinguishedName = ([adsi]'').distinguishedName.Value
$deletedObjectsDN = 'CN=Deleted Objects,{0}' -f $distinguishedName

# Take ownership on the deleted objects container:
$params = @("$deletedObjectsDN", '/takeOwnership')
C:\Windows\System32\dsacls.exe $params

# Grant the 'List Contents' and 'Read Property' permissions to the user or group:
$params = @("$deletedObjectsDN", '/G', ('{0}\{1}:LCRP' -f ([adsi]'').name.Value, $Identity))
C:\Windows\System32\dsacls.exe $params
  
# To remove the permissions, uncomment the next 2 lines and run them instead of the two prior ones:
# $params = @("$deletedObjectsDN", '/R', ('{0}\{1}' -f ([adsi]'').name.Value, $Identity))
# C:\Windows\System32\dsacls.exe $params

如需詳細資訊,請參閱 變更已刪除物件容器的許可權

確認 gMSA 帳戶具有必要的許可權

適用於身分識別的 Defender 感測器服務 Azure 進階威脅防護感測器會以 LocalService 身分執行,並執行 DSA 帳戶的模擬。 如果已設定登入 即服務 原則,但尚未將許可權授與 gMSA 帳戶,則模擬將會失敗。 在這種情況下,您會看到下列健康情況問題: 目錄服務用戶認證不正確。

如果您看到此警示,建議您檢查是否已設定登入 即服務原則 。 如果您需要設定以服務方式登入原則,請在 群組原則 設定或本機安全策略中執行此動作。

  • 若要檢查本機原則,請執行 secpol.msc 並選取 [ 本機原則]。 在 [用戶權力指派] 下,移至 [以 服務方式登入] 原則 設定。 例如:

    以服務方式登入屬性的螢幕快照。

    如果已啟用原則,請將 gMSA 帳戶新增至可以服務方式登入的帳戶清單。

  • 若要檢查設定是否已在 群組原則 中設定rsop.msc執行 ,並查看是否已選取 [計算機設定 - Windows 設定 ->> 安全性設定 -> 本機原則 -> 使用者權力指派 -> 以服務方式登入] 原則。 例如:

    群組原則 管理 編輯器 中 [以服務方式登入] 原則的螢幕快照。

    如果已設定此設定,請將 gMSA 帳戶新增至可在 群組原則 管理 編輯器 中以服務方式登入的帳戶清單。

注意事項

如果您使用 群組原則 管理 編輯器 設定 [以服務方式登入] 設定,請務必同時新增 NT Service\All Services 和您建立的 gMSA 帳戶。

在 Microsoft Defender 全面偵測回應 中設定目錄服務帳戶

若要將感測器與 Active Directory 網域連線,您必須在 Microsoft Defender 全面偵測回應 中設定 Directory 服務帳戶。

  1. Microsoft Defender 全面偵測回應 中,移至 [設定身分>識別]。 例如:

    Microsoft Defender 全面偵測回應 中身分識別設定的螢幕快照。

  2. 取 [目錄服務帳戶]。 您會看到哪些帳戶與哪些網域相關聯。 例如:

    [目錄服務帳戶] 頁面的螢幕快照。

  3. 若要新增目錄服務帳戶認證,請選取 [ 新增認證 ],然後輸入您稍早建立之帳戶的 [ 帳戶名稱]、[ 網域] 和 [ 密碼 ]。 您也可以選擇其是否為 gMSA) (群組受控服務帳戶 ,以及是否屬於 單一卷標網域。 例如:

    [新增認證] 窗格的螢幕快照。

    欄位 Comments
    需要帳戶名稱 () 輸入唯讀 AD 用戶名稱。 例如: DefenderForIdentityUser

    - 您必須使用 標準 AD 使用者或 gMSA 帳戶。
    - 請勿 針對您的使用者名稱使用UPN格式。
    - 使用 gMSA 時,使用者字串應該以 $ 符號結尾。 例如:mdisvc$

    注意: 建議您避免使用指派給特定用戶的帳戶。
    標準 AD 使用者帳戶) 所需的密碼 ( 僅針對 AD 用戶帳戶,為唯讀用戶產生強密碼。 例如:PePR!BZ&}Y54UpC3aB
    gMSA 帳戶所需的群組受控服務帳戶 () 僅針對 gMSA 帳戶,選取 [群組受控服務帳戶]
    需要網域 () 輸入唯讀使用者的網域。 例如: contoso.com

    請務必輸入使用者所在網域的完整 FQDN。 例如,如果使用者的帳戶位於網域 corp.contoso.com,您必須輸入 corp.contoso.com 而不是 contoso.com

    如需詳細資訊, 請參閱Microsoft支援單一卷標網域
  4. 選取 [儲存]

  5. (選擇性) 如果您選取帳戶,將會開啟詳細數據窗格,其中包含該帳戶的設定。 例如:

    帳戶詳細數據窗格的螢幕快照。

注意事項

您可以使用這個相同的程式來變更標準 Active Directory 使用者帳戶的密碼。 gMSA 帳戶未設定密碼。

疑難排解

如需詳細資訊,請參閱 感測器無法擷取 gMSA 認證

下一步