使用托管服务帐户运行评估

托管服务帐户 (MSA) 是当前支持的 Active Directory 域服务版本中可用的一种安全主体。 它们共享计算机和用户安全主体的特征。 它们可以添加到安全组,可以进行身份验证以及访问网络上的资源。 它们旨在供服务、IIS 应用程序池和计划任务使用。

托管服务帐户的优势

托管服务帐户解决了使用用户帐户运行服务、计划任务和 IIS 应用程序池所固有的特定挑战:

  • 自动密码管理
  • 简化的服务主体名称 (SPN) 管理
  • 不能用于以交互方式登录 Windows
  • 轻松控制授权哪些计算机验证 MSA 并在其上下文中运行代码

可能使用托管服务帐户的按需评估

托管服务帐户可以配置为运行以下按需评估

  • Active Directory
  • Active Directory 安全性
  • System Center Configuration Manager
  • SharePoint
  • SQL Server
  • Windows 客户端
  • Windows Server

注意

托管服务帐户在某些环境配置中不受 Microsoft 客户服务正式支持。 虽然这些配置在大多数情况下都有效,但当环境配置阻止使用托管服务帐户时,可能有必要使用域帐户。

预配托管服务帐户

将评估计划任务配置为作为 MSA 运行的先决条件是在 Active Directory 域服务中预配或创建 MSA。 每个支持的评估都指定计划任务帐户的授权和访问要求,以便成功运行。 有关计划任务帐户的访问要求详细信息,请参阅支持的评估入门文档先决条件文档

有两种类型的托管服务帐户。 可以为支持的评估的评估计划任务配置任何一种:

  • 独立托管服务帐户(也称为“虚拟帐户”)只能被授权在加入单一域的计算机上进行身份验证。
  • 组托管服务帐户可以被授权在多台域计算机上进行身份验证。

预配和配置这两种类型的 MSA 都需要 Windows PowerShell Active Directory 模块。 域控制器通常在安装域控制器角色期间安装此 PowerShell 模块。

该模块是远程服务器管理员工具的一个组件,可以通过服务器管理器添加到 Windows 服务器 SKU。 该模块也可以添加到 Windows 10中。

场景 1 – 独立托管服务帐户 (sMSA)

Active Directory 域服务林架构必须至少在 Windows Server 2008 R2 上,才能成功预配独立托管服务帐户。 将计划任务作为 sMSA 运行的计算机必须运行 Windows Server 2012 或更高版本。

预配 sMSA 以运行按需评估有三个步骤:

  1. 使用 New-ADServiceAccount PowerShell cmdlet 创建 sMSA。
  2. 使用 Add-ADComputerServiceAccount PowerShell cmdlet 授权数据收集计算机获取 sMSA 的密码。
  3. 根据所配置的相关评估的先决条件文档,授予 sMSA 对所评估环境的必要访问权限。

创建独立托管服务帐户

若要创建 sMSA,请在域控制器或域成员的 PowerShell 会话中执行以下命令,并且域控制器或域成员使用具有在 Active Directory 中创建帐户所需权限的帐户安装了 Windows PowerShell Active Directory 模块(帐户操作员或域管理员默认具有必要的权限)。

New-ADServiceAccount -Name <sMSAaccountname>  -RestrictToSingleComputer

例如:PS C:>New-ADServiceAccount -Name sMSA-SVC -RestrictToSingleComputer

授权数据收集计算机使用 sMSA

若要授权数据收集计算机获取 sMSA 的密码,请在域控制器或域成员的 PowerShell 会话中执行以下命令,并且域控制器或域成员使用具有在 Active Directory 中创建帐户所需权限的帐户安装了 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 安全-Netlogon/操作事件日志通道。

场景 2 – 组托管服务帐户 (gMSA)

Active Directory 域服务林架构必须至少在 Windows Server 2012 上,才能成功预配组托管服务帐户。 将计划任务作为 gMSA 运行的计算机必须运行 Windows Server 2012 或更高版本。

预配 gMSA 以运行按需评估有 3 个步骤:

  1. 使用 Add-KDSRootKey 在 Active Directory 中创建密钥分发服务 (KDS) 根密钥
  2. 创建 gMSA 并授权数据收集计算机以使用 New-ADServiceAccount PowerShell cmdlet 获取 gMSA 的密码。
  3. 根据所配置的相关评估的先决条件文档,授予 gMSA 对所评估环境的必要访问权限。

预配 KDS 根密钥

如果从未在 Active Directory 林中创建 KDS 根密钥,则必须首先创建该密钥。  若要确定是否存在现有 KDS 根密钥,请在 PowerShell 会话中执行以下命令。

Get-KdsRootKey

注意

如果此命令未返回任何内容,则 Active Directory 林中不存在根密钥。

若要创建 KDS 根密钥,请在域控制器或域成员的 PowerShell 会话中执行以下命令,并且域控制器或域成员使用具有在 Active Directory 中创建帐户所需权限的帐户安装了 Windows PowerShell Active Directory 模块(林中的企业管理员和域管理员默认具有必要的权限)。

Add-KdsRootKey -EffectiveImmediately 

Add-KdsRootKey -EffectiveImmediately 允许在 10 小时后创建 gMSA,以确保复制已聚合到所有 DC。

Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10)) 

Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10)) 允许立即创建 gMSA。

如果 AD 复制收敛林范围在正常操作下需要几个小时,则此方法会导致一些 gMSA 创建或使用失败的风险。

创建组托管服务帐户

若要创建 gMSA,请在域控制器或域成员的 PowerShell 会话中执行以下命令,并且域控制器或域成员使用具有在 Active Directory 中创建帐户所需权限的帐户安装了 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 安全-Netlogon/操作事件日志通道。