Group Managed Service Accounts Overview

本面向 IT 专业人士的文章介绍了组托管服务帐户,解释了实际应用、Microsoft 实现的更改以及硬件和软件要求。

功能描述

独立托管服务帐户 (sMSA) 是一个托管域帐户,提供自动密码管理、简化的服务主体名称 (SPN) 管理以及将管理委派给其他管理员的功能。 域管理员可以将服务管理委派给服务管理员,或者可以管理托管服务帐户或组托管服务帐户的整个生命周期。 现有客户端计算机将能对任何此类服务进行身份验证,且无需了解进行身份验证的是哪个服务实例。 此类托管服务帐户 (MSA) 是在 Windows Server 2008 R2 和 Windows 7 中引入的。

组托管服务帐户 (gMSA) 在域中提供相同的功能,但也将功能扩展到多个服务器上。 通过允许 Windows 处理这些帐户的密码管理,将最大程度降低对服务帐户的管理开销。 连接到服务器场上托管的服务时(如网络负载均衡解决方案),支持双向认证的身份验证协议要求服务的所有实例都使用同一主体。 将 gMSA 用作服务主体时,Windows 操作系统将管理帐户密码,而不是依靠管理员管理密码。

Microsoft 密钥分发服务 (kdssvc.dll) 让你能安全地获得最新密钥或具有 Active Directory 帐户密钥标识符的特定密钥。 密钥分发服务共享用于创建帐户密钥的机密。 这些密钥会定期更改。 对于 gMSA,域控制器会计算密钥分发服务提供的密钥密码,以及 gMSA 的其他属性。 通过联系域控制器,成员主机可获得当前和以前的密码值。

实际的应用程序

gMSA 为在服务器场上或在网络负载均衡器后的系统上运行的服务提供单个身份解决方案。 通过 gMSA 解决方案,可以为新的 gMSA 主体配置服务,并且密码管理将由 Windows 处理。

使用 gMSA 的服务或服务管理员无需管理服务实例之间的密码同步。 gMSA 支持主机长时间脱机,并管理所有服务实例的成员主机。 部署的服务器场可以支持现有客户端计算机能够验证的单个身份,而无需知道其连接到的服务实例。

尽管故障转移群集不支持 gMSA,但在群集服务上运行的服务可以使用 gMSA 或 sMSA(如果它们是 Windows 服务、应用池、计划任务,或者本机支持 gMSA 或 sMSA)。

软件要求

要运行用于管理 gMSA 的 Windows PowerShell 命令,需要 64 位体系结构。

托管服务帐户依赖支持 Kerberos 的加密类型。 客户端计算机使用 Kerberos 在服务器中进行身份验证时,DC 将创建一个 Kerberos 服务票证,该票证受到 DC 和服务器都支持的加密保护。 DC 使用帐户的 msDS-SupportedEncryptionTypes 属性来确定服务器支持的加密方式。 如果没有属性,DC 会假定客户端计算机不支持更强的加密类型。 如果将主机配置为不支持 RC4,则身份验证将始终失败。 因此,应始终为 MSA 配置 AES。

注意

从 Windows Server 2008 R2 开始,默认情况下禁用 DES。 有关支持的加密类型的详细信息,请参阅 Kerberos 身份验证中的变化

注意

gMSA 不适用于低于 Windows Server 2012 的 Windows 操作系统。 对于 Windows Server 2012,Windows PowerShell cmdlet 默认为管理 gMSA,而不是服务器托管服务帐户。

服务器管理器信息

无需执行任何额外的配置就能使用服务器管理器或 Install-WindowsFeature cmdlet 实现 MSA 和 gMSA。

后续步骤

你可以阅读以下资源,了解更多有关托管服务帐户的信息: