所以文档创建 gMSA 的说明指出,参数“-PrincipalsAllowedToRetrieveManagedPassword”应将使用 gMSA 的能力限制为属于该参数中给定的安全组的计算机。例如
New-ADServiceAccount-name dev-service-DNSHostName dev-service-PrincipalsAllowedToRetrieveManagedPassword gMSA-dev-service-allowed-hosts
据我了解,应该只允许属于安全组“gMSA-dev-service-allowed-hosts”的机器访问帐户 dev-service 的密码,从而限制可以使用该帐户的机器。
我的问题是我无法让它以这种方式工作。即使在不是“gMSA-dev-service-allowed-hosts”成员的机器上,也可以毫无问题地使用该帐户。
我是否误解了 -PrincipalsAllowedToRetrieveManagedPassword 的含义?
谢谢
最好的,
数据安全管理局
答案1
设置 -PrincipalsAllowedToRetrieveManagedPassword 会限制使用Install-ADServiceAccount
,这是使用 gMSA 之前必须执行的另一个步骤。安装 gMSA 后,无论 PrincipalsAllowed 设置如何,服务都将启动直到管理密码更改。
任何使用 gMSA 且未包含在 PrincipalsAllowed 实体中的计算机都将无法更改托管密码,也无法在更改后从域中检索托管密码。如果 gMSA 托管密码由具有权限的计算机更改,则会导致在不在 PrincipalsAllowed 实体中的计算机上运行的服务登录失败。
您必须确保使用特定 gMSA 运行服务的每台计算机都包含在该 gMSA 的 PrincipalsAllowed 实体中,否则将要导致启动/重新启动服务时出现问题(一个月后,因为默认管理密码更改计划在 30 天进行)。
https://technet.microsoft.com/en-us/library/hh852196%28v=wps.630%29.aspx
笔记 要成功安装托管服务帐户,服务帐户应先使用 New-ADServiceAccount 或 Set-ADServiceAccount cmdlet 设置 PrincipalsAllowedToRetrieveManagedPassword 参数选项。否则,安装将失败。
例如
# Running this on APPSERVER1
$appServer1 = Get-ADComputer APPSERVER1
$appServer2 = Get-ADComputer APPSERVER2
$gMSA = New-ADServiceAccount 'APP1' -PrincipalsAllowedToRetrieveManagedPassword $appServer2 -DnsHostName 'APP1'
Install-ADServiceAccount 'APP1'
Install-ADServiceAccount : Cannot install service account. Error Message: 'An unspecified error has occurred'.
At line:1 char:1
+ Install-ADServiceAccount 'APP1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (APP1:String) [Install-ADServiceAccount], ADException
+ FullyQualifiedErrorId : InstallADServiceAccount:PerformOperation:InstallServiceAccountFailure,Microsoft.ActiveDirectory.Management.Commands.InstallADServiceAccount
Set-ADServiceAccount 'APP1' -PrincipalsAllowedToRetrieveManagedPassword $appServer1
Install-ADServiceAccount 'APP1'
最后一个命令现在将成功。配置服务凭据后,服务将启动。
Set-ADServiceAccount 'APP1' -PrincipalsAllowedToRetrieveManagedPassword $appServer2
现在,重新启动服务仍然有效。但是,如果您执行Uninstall-ADServiceAccount
并尝试重新安装它,您将收到上面显示的相同错误。
如果在此期间 APPSERVER2 更改了密码,则启动服务也将失败,并导致登录失败。
答案2
确保检查以下内容的输出:
Test-ADServiceAccount dev-service