使用受管理的服務帳戶執行評定
受管理的服務帳戶 (MSAs) 是目前支援的 Active Directory Domain Services 版本中的一種安全主體。 它們共用電腦和使用者安全主體的特點。 它們可以加入安全性群組,可以驗證以及存取網路上的資源。 它們預期供服務、IIS 應用程式池及排定工作使用。
受管理的服務帳戶的權益
受管理的服務帳戶可解決將使用者帳戶用於執行服務、排定工作及 IIS 應用程式池所固有的挑戰:
- 自動密碼管理
- 簡化的服務主體名稱 (SPN) 管理
- 無法用於互動式登入 Windows
- 很容易控制授權哪些電腦驗證 MSA 和在其背景中執行代碼
會使用受管理服務帳戶的隨選評定
受管理的服務帳戶可能需要經過設定,以用於執行下列隨選評定
- Active Directory
- Active Directory 安全性
- System Center Configuration Manager
- SharePoint
- SQL Server
- Windows 用戶端
- Windows 伺服器
注意事項
對於某些環境設定,受管理服務帳戶未獲得 Microsoft 客戶服務的官方支援。 儘管它們可在大多數情況下執行,但當環境設定禁止受管理服務帳戶使用時,可能需要使用網域帳戶。
佈建受管理的服務帳戶
設定評定排定工作執行為 MSA 的先決條件是在 Active Directory Domain Services 中佈建或建立 MSA。 每個支援的評定指定排定工作帳戶成功執行的授權和存取需求。 請查閱支援的評定快速入門文件和先決條件文件,以了解排定工作帳戶的需求詳細資料。
受管理的服務帳戶有兩種類型。 任一種皆可設定用於針對支援之評定的評定排定工作:
- 獨立受管理的服務帳戶(亦稱為「虛擬帳戶」) 只能在單一網域授權加入電腦驗證。
- 群組受管理的服務帳戶只能在數台網域電腦上驗證。
需要 Windows PowerShell Active Directory 模組才可佈建和設定兩種類型的 MSA。 網域控制器通常在網域控制器角色安裝時安裝了此 PowerShell 模組。
此模組是遠端伺服器管理員工具的元件,可透過Server Manager新增至 Windows Server SKU。 此模組亦可新增至Windows 10。
案例 1 – 獨立受管理的服務帳戶 (sMSA)
Active Directory Domain Services 樹系結構必須至少使用 Windows Server 2008 R2 才可成功佈建獨立受管理的服務帳戶。 將排定工作執行為 sMSA 的電腦必須使用 Windows Server 2012 或更新版本。
佈建 sMSA 以執行隨選評定有三個步驟:
- 使用 New-ADServiceAccount PowerShell cmdlet 建立 sMSA。
- 使用 Add-ADComputerServiceAccount PowerShell cmdlet 授權資料收集電腦獲取 sMSA 的密碼。
- 根據所設定相關評定的先決條件文件,授予 sMSA 存取環境的必要權限。
建立獨立受管理的服務帳戶
若要建立 sMSA,請使用具有在 Active Directory 中建立帳戶所需之權限的帳戶 (帳戶操作員或網域系統管理員預設具有必要權限),在 PowerShell 工作階段中從安裝了 Windows PowerShell Active Directory 模組的網域控制器或網域成員執行下列命令。
New-ADServiceAccount -Name <sMSAaccountname> -RestrictToSingleComputer
例如:PS C:>New-ADServiceAccount -Name sMSA-SVC -RestrictToSingleComputer
授權資料收集電腦使用 sMSA
若要授權資料收集電腦獲取 sMSA 的密碼,請使用具有在 Active Directory 中建立帳戶所需之權限的帳戶 (帳戶操作員或網域系統管理員預設具有必要權限),在 PowerShell 工作階段中從安裝了 Windows PowerShell Active Directory 模組的網域控制器或網域成員執行下列命令。
Add-ADComputerServiceAccount -Identity “datacollectionmachine$” -ServiceAccount “sMSA samaccountname”
例如:Add-ADComputerServiceAccount -Identity "OMS-AD-Tools$" -ServiceAccount "sMSA-SVC$"
在資料收集電腦上安裝 sMSA
在資料收集電腦上預先快取 sMSA 有助於進行重要的驗證步驟,確保正確地佈建帳戶,並且資料收集電腦可以成功地擷取 sMSA 密碼和使用帳戶。 從已安裝 Active Directory Powershell 模組的資料收集電腦中,請執行下列命令。
Install-ADServiceAccount -Identity “sMSA samaccountname”
例如:Install-ADServiceAccount -Identity "sMSA-SVC$"
注意事項
如果找不到 Cmdlet 的錯誤已傳回,請依照上方佈建受管理的服務帳戶所述,安裝 Active Directory Powershell 模組。
至於其他錯誤,請檢閱 MSA 類別事件的 Microsoft-Windows-Security-Netlogon/Operational 事件記錄管道。
案例 2 – 群組受管理的服務帳戶 (gMSA)
Active Directory Domain Services 樹系結構必須至少使用 Windows Server 2012 才可成功佈建群組受管理的服務帳戶。 將排定工作執行為 gMSA 的電腦必須使用 Windows Server 2012 或更新版本。
佈建 gMSA 以執行隨選評定有三個步驟:
- 使用 Add-KDSRootKey 在 Active Directory 中建立主要分發服務 KDS 根金鑰
- 使用 New-ADServiceAccount PowerShell cmdlet 建立 gMSA 並授權資料收集電腦獲取 gMSA 的密碼。
- 根據所設定相關評定的先決條件文件,授予 gMSA 存取環境的必要權限。
佈建 KDS 根金鑰
如果 Active Directory 樹系中未建立 KDS 根金鑰,必須先建立。 若要確定是否存在現有的 KDS 根金鑰,請在 PowerShell 工作階段中執行下列命令。
Get-KdsRootKey
注意事項
如果此命令未傳回任何內容,則表示 Active Directory 林中沒有根密鑰。
若要建立 KDS 根金鑰,請使用具有在 Active Directory 中建立帳戶所需之權限的帳戶 (樹系根網域中的企業管理員和網域系統管理員預設具有必要權限),在 PowerShell 工作階段中從安裝了 Windows PowerShell Active Directory 模組的網域控制器或網域成員執行下列命令。
Add-KdsRootKey -EffectiveImmediately
Add-KdsRootKey -EffectiveImmediately 可在 10 小時後建立 gMSAs,以確保複寫聚合到所有 DC。
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10)) 允許可立即建立 gMSAs。
如果在正常作業下 AD 複寫收斂全樹系需要數小時,此方法在建立或使用 gMSA 失敗時不會造成風險。
建立群組受管理的服務帳戶
若要建立 gMSA,請使用具有在 Active Directory 中建立帳戶所需之權限的帳戶 (帳戶操作員或網域系統管理員預設具有必要權限),在 PowerShell 工作階段中從安裝了 Windows PowerShell Active Directory 模組的網域控制器或網域成員執行下列命令。
New-ADServiceAccount -Name <gMSAaccountname> -DNSHostname <gMSAaccountname.FQDN> -PrincipalsAllowedToRetrieveManagedPassword “data collection machine samaccountname”
例如:PS C:>New-ADServiceAccount -Name gMSA-SVC -DNSHostName gMSA-SVC.contoso.local -PrincipalsAllowedToRetrieveManagedPassword "oms-ad-tools$"
在資料收集機器上安裝 gMSA
在資料收集機器上預先快取 gMSA 有助於進行重要的驗證步驟,確保有正確佈建帳戶,而且資料收集機器可以成功擷取 gMSA 密碼並使用帳戶。 從已安裝 Active Directory Powershell 模組的資料收集電腦中,請執行下列命令。
Install-ADServiceAccount -Identity “gMSA samaccountname”
例如:Install-ADServiceAccount -Identity "gMSA-SVC$"
注意事項
如果找不到 Cmdlet 的錯誤已傳回,請依照上方佈建受管理的服務帳戶所述,安裝 Active Directory Powershell 模組。
至於其他錯誤,請檢閱 MSA 類別事件的 Microsoft-Windows-Security-Netlogon/Operational 事件記錄管道。