服务帐户是显式创建的用户帐户,用于为 Windows Server 操作系统上运行的服务提供安全上下文。 安全上下文决定了服务访问本地和网络资源的能力。 Windows 操作系统依靠服务来运行各种功能。 可通过应用程序、服务管理单元或任务管理器,或者使用 Windows PowerShell 来配置这些服务。
本文包含有关以下类型的服务帐户的信息:
独立托管服务帐户
托管服务帐户旨在隔离关键应用程序中的域帐户,例如 Internet Information Services (IIS)。 无需管理员手动管理服务主体名称 (SPN) 和帐户凭据。
一个托管服务帐户可用于单台计算机上的多个服务。 托管服务帐户不能在多台计算机之间共享。 它们也不能用于在多个群集节点上复制服务的服务器群集中。 对于这种情况,必须使用组托管服务帐户。 有关详细信息,请参阅组托管服务帐户概述。
除了针对关键服务的独立帐户所提供的高度安全,还有 4 个与托管服务帐户相关联的重要的管理优势:
可创建一类可用于在本地计算机上管理和维护服务的域帐户。
组托管服务帐户的网络密码会自动重置,这一点与域帐户不同,后者需要管理员手动重置密码。
无需完成复杂的 SPN 管理任务即可使用托管服务帐户。
可将托管服务帐户的管理任务委托给非管理员。
Note
托管服务帐户仅适用于本文开头的“ 适用于” 部分中列出的 Windows作系统。
组托管服务帐户
组托管服务帐户是独立托管服务帐户的扩展。 这些帐户是托管域帐户,可提供自动的密码管理和简化的 SPN 管理(包括将管理委派给其他管理员)。
组托管服务帐户和独立托管服务帐户在域中提供同样的功能,但通过多个服务器对功能进行了扩展。 连接到托管在服务器场上的服务(例如网络负载均衡)时,支持相互身份验证的身份验证协议要求服务的所有实例都使用同一主体。 将组托管服务帐户用作服务主体时,Windows Server 操作系统将管理帐户密码,而不是依靠管理员管理密码。
Microsoft密钥分发服务(kdssvc.dll)提供了一种机制,用于安全地获取具有 Active Directory 帐户密钥标识符的最新密钥或特定密钥。 此服务是在 Windows Server 2012 中引入的,它不能在早期版本的 Windows Server 操作系统上运行。 Kdssvc.dll 共享一个机密,用于为帐户创建密钥。 这些密钥会定期更改。 对于组托管服务帐户,域控制器(DC)除了组托管服务帐户的其他属性外,还会计算由 kdssvc.dll提供的密钥的密码。
委派的托管服务帐户
在 Windows Server 2025 中引入了名为委托托管服务帐户 (dMSA) 的新帐户类型。 此帐户类型使你能够从传统服务帐户过渡到具有托管和完全随机密钥的计算机帐户,同时禁用原始服务帐户密码。 针对 dMSA 的身份验证已链接到设备标识,因此只有 AD 中已映射的指定计算机标识才能访问该帐户。 通过使用 dMSA,你可以防范通过与传统服务帐户相关联的已泄露账户进行凭据窃取这一常见问题。
你可以创建 dMSA 作为独立帐户,或用它替换现有的标准服务帐户。 如果现有帐户替换为 dMSA,则会阻止通过旧帐户的密码进行身份验证。 相反,请求被重定向到本地安全机构 (LSA),以便通过 dMSA 进行身份验证,dMSA 可以访问与 AD 中以前的帐户相同的资源。 若要了解更多信息,请参阅委派的托管服务帐户概述。
虚拟帐户
虚拟帐户是托管的本地帐户,通过提供以下优势来简化服务管理:
- 自动管理虚拟帐户。
- 虚拟帐户可以在域环境下访问网络。
- 无需密码管理。 例如,如果在 Windows Server 上设置 SQL Server 期间为服务帐户使用了默认值,则使用实例名称作为服务名称的虚拟帐户以
NT SERVICE\<SERVICENAME>格式建立。
以虚拟帐户身份运行的服务通过使用计算机帐户的凭据(格式为 <domain_name>\<computer_name>$)访问网络资源。
若要了解如何配置和使用虚拟服务帐户,请参阅托管服务帐户和虚拟帐户概念。
Note
虚拟帐户仅适用于本文开头的 “适用于 列表”中列出的 Windows作系统。
选择服务帐户
服务帐户用于控制服务对本地和网络资源的访问,它们有助于确保该服务可以安全可靠地运行,而不会将敏感信息或资源暴露给未经授权的用户。 下表描述服务帐户类型之间的差异:
| Criterion | sMSA | gMSA | dMSA | 虚拟帐户 |
|---|---|---|---|---|
| 应用在单个服务器上运行 | Yes | Yes | Yes | Yes |
| 应用在多个服务器上运行 | No | Yes | No | No |
| 应用在负载均衡器之后运行 | No | Yes | No | No |
| 应用在 Windows Server 上运行 | Yes | No | No | Yes |
| 要求将服务帐户限制为单一服务器 | Yes | No | Yes | No |
| 支持与设备标识链接的计算机帐户 | No | No | Yes | No |
| 用于高安全性方案(防止凭据捕获) | No | No | Yes | No |
选择服务帐户时,请务必考虑服务所需的访问级别和安全策略等因素。 还应评估运行的应用程序或服务的特定需求。
sMSA:专为在单个计算机上使用而设计,sMSA 提供了一种安全和简化的方法来管理 SPN 和凭据。 它们可以自动管理密码,是隔离关键应用程序中的域帐户的理想选择。 但是,它们不能跨多个服务器或在服务器群集中使用。
gMSA:通过支持多个服务器来扩展 sMSA 的功能,使其适合服务器场和负载均衡的应用程序。 它们提供自动密码和 SPN 管理,减轻了管理负担。 gMSA 提供单个标识解决方案,允许服务在多个实例之间无缝进行身份验证。
dMSA:将身份验证链接到特定计算机标识,防止通过凭据收获进行未经授权的访问,从而允许从具有完全随机和管理密钥的传统服务帐户转换。 dMSA 可以取代现有的传统服务帐户,确保只有经过授权的设备才能访问敏感资源。
虚拟帐户:一个托管的本地帐户,提供简化的服务管理方法,无需手动密码管理。 他们可以使用计算机帐户的凭据访问网络资源,使其适用于需要域访问权限的服务。 虚拟帐户是自动管理的,需要最少的配置。
相关内容
| 内容类型 | References |
|---|---|
| 产品评估 |
托管服务帐户新增功能 组托管服务帐户入门 |
| Deployment | Windows Server 2012:组托管服务帐户 - 技术社区 |
| 相关技术 |
安全主体 Windows Server 2016 中的新增功能 |