将域用户帐户用作服务登录帐户

注意

以下文档面向开发人员: 如果您是最终用户,正在寻找有关涉及域用户帐户的错误消息的信息,请参阅 Microsoft 社区论坛。 有关管理域用户帐户的信息,请参阅 TechNet

域用户帐户支持服务充分利用 Windows 和 Microsoft Active Directory 域服务的服务安全功能。 该服务向帐户授予了任何本地和网络访问权限,或者授予该帐户所属的任何组。 该服务可以支持 Kerberos 相互身份验证。

使用域用户帐户的优点是,服务的操作受与帐户关联的访问权限和特权的限制。 与 LocalSystem 服务不同,用户帐户服务中的错误不会损坏系统。 如果服务受到安全攻击,则损害不影响系统允许用户帐户执行的操作。 同时,在不同特权级别运行的客户端可以连接到服务,使服务能够模拟客户端执行敏感操作。

服务用户帐户不应是本地、域或企业的任何管理员组的成员。 如果服务需要本地管理特征,请在 LocalSystem 帐户下运行它。 对于需要域管理特权的操作,请通过模拟客户端应用程序的安全上下文来执行这些操作。

使用域用户帐户的服务实例需要定期管理操作来维护帐户密码。 服务实例的主机计算机上的服务控制管理器 (SCM) 会缓存用于登录服务的帐户密码。 更改帐户密码时,还必须更新安装服务的主机计算机上的缓存密码。 有关详细信息和代码示例,请参阅更改服务用户帐户的密码。 通过保留密码不变,可以避免定期维护,但这会增加服务帐户受到密码攻击的概率。 请注意,即使 SCM 将密码存储在注册表的安全部分,但它仍会受到攻击。

域用户帐户具有两种名称格式:目录中用户对象的可分辨名称,以及本地服务控制管理器使用的“<domain>\<username>”格式。 有关详细信息和从一种格式转换为另一种格式的代码示例,请参阅转换域名格式