保護群組受控服務帳戶

群組受控服務帳戶 (gMSA) 是網域帳戶,可協助保護服務。 gMSA 可以在一部伺服器上或伺服器陣列中執行,例如網路負載平衡或網際網路資訊服務 (IIS) 伺服器後方的系統。 將服務設定為使用 gMSA 主體之後,帳戶密碼管理會由 Windows 作業系統 (OS) 處理。

gMSA 的優點

gMSA 是具有更高安全性的身分識別解決方案,可協助降低系統管理額外負荷:

  • 設定強式密碼 - 240 位元組、隨機產生的密碼:gMSA 密碼的複雜度和長度可降低暴力密碼破解或字典攻擊入侵的可能性
  • 定期 迴圈密碼 - 密碼管理會移至 Windows OS,每隔 30 天變更密碼一次。 服務與網域系統管理員不需要排程密碼變更,或管理服務中斷。
  • 支援伺服器陣列 部署 - 將 gMSA 部署到多部伺服器,以支援多個主機執行相同服務的負載平衡解決方案
  • 支援簡化的服務主體名稱 (SPN) 管理 - 當您建立帳戶時,使用 PowerShell 設定 SPN。
    • 此外,如果 gMSA 許可權已正確設定,則支援自動 SPN 註冊的服務可能會對 gMSA 執行此動作。

使用 gMSA

除非服務,例如容錯移轉叢集,不支援 gMSA 作為內部部署服務的帳戶類型。

重要

在服務進入生產環境之前,先使用 gMSA 測試您的服務。 設定測試環境以確保應用程式使用 gMSA,然後存取資源。 如需詳細資訊,請參閱 群組受管理的服務帳戶 支援。

如果服務不支援 gMSA,您可以使用獨立受控服務帳戶 (sMSA)。 sMSA 具有相同的功能,但用於在單一伺服器上部署。

如果您無法使用服務支援的 gMSA 或 sMSA,請將服務設定為以標準使用者帳戶執行。 需要服務和網域系統管理員才能觀察強式密碼管理程式,以協助保護帳戶的安全。

評估 gMSA 安全性狀態

gMSA 比標準使用者帳戶更安全,需要進行中的密碼管理。 不過,請考慮 gMSA 與安全性狀態相關的存取範圍。 下表顯示使用 gMSA 的潛在安全性問題和緩和措施:

安全性問題 風險降低
gMSA 是特殊許可權群組的成員 - 檢閱您的群組成員資格。 建立 PowerShell 腳本以列舉群組成員資格。 依 gMSA 檔案名
篩選結果 CSV 檔案 - 從特殊許可權群組
移除 gMSA - 授與 gMSA 執行其服務所需的 gMSA 許可權。 查看您的服務廠商。
gMSA 具有敏感性資源的讀取/寫入存取權 - 稽核敏感性資源的
存取 - 將稽核記錄封存至 SIEM,例如 Azure Log Analytics 或 Microsoft Sentinel
- 如果有不必要的存取層級,請移除不必要的資源許可權

尋找 gMSA

您的組織可能有 gMSA。 若要擷取這些帳戶,請執行下列 PowerShell Cmdlet:

Get-ADServiceAccount 
Install-ADServiceAccount 
New-ADServiceAccount 
Remove-ADServiceAccount 
Set-ADServiceAccount 
Test-ADServiceAccount 
Uninstall-ADServiceAccount

受控服務帳戶容器

若要有效運作,gMSA 必須位於受控服務帳戶容器中。

Screenshot of a gMSA in the Managed Service Accounts container.

若要尋找不在清單中的服務 MSA,請執行下列命令:


Get-ADServiceAccount -Filter *

# This PowerShell cmdlet returns managed service accounts (gMSAs and sMSAs). Differentiate by examining the ObjectClass attribute on returned accounts.

# For gMSA accounts, ObjectClass = msDS-GroupManagedServiceAccount

# For sMSA accounts, ObjectClass = msDS-ManagedServiceAccount

# To filter results to only gMSAs:

Get-ADServiceAccount –Filter * | where-object {$_.ObjectClass -eq "msDS-GroupManagedServiceAccount"}

管理 gMSA

若要管理 gMSA,請使用下列 Active Directory PowerShell Cmdlet:

Get-ADServiceAccount

Install-ADServiceAccount

New-ADServiceAccount

Remove-ADServiceAccount

Set-ADServiceAccount

Test-ADServiceAccount

Uninstall-ADServiceAccount

注意

在 Windows Server 2012 和更新版本中,*-ADServiceAccount Cmdlet 可與 gMSA 搭配運作。 深入瞭解: 開始使用群組受管理的服務帳戶

移至 gMSA

gMSA 是內部部署的安全服務帳戶類型。 建議您盡可能使用 gMSA。 此外,請考慮將服務移至 Azure,並將服務帳戶移至 Microsoft Entra ID。

注意

設定服務以使用 gMSA 之前,請參閱 開始使用群組受管理的服務帳戶

若要移至 gMSA:

  1. 確定金鑰散發服務 (KDS) 根金鑰部署在樹系中。 這是一次性的操作。 請參閱建立 金鑰散發服務 KDS 根金鑰
  2. 建立新的 gMSA。 請參閱開始使用群組受管理的服務帳戶
  3. 在執行服務的主機上安裝新的 gMSA。
  4. 將服務身分識別變更為 gMSA。
  5. 指定空白密碼。
  6. 驗證您的服務正在新的 gMSA 身分識別下運作。
  7. 刪除舊的服務帳戶身分識別。

下一步

若要深入瞭解保護服務帳戶,請參閱下列文章: