我们ADFS 4.0
在 DMZ 中设置了一台带有 WAP 服务器的服务器。最近,我们HTTP Error 503: Service Unavailable
在通过 WAP 访问端点时开始遇到错误。在网络上访问这些端点时,它们可以正常工作。
我尝试过其他端点,有些可以,有些则不可以。
- 不起作用:https://server.domain.com/adfs/ls/idpinitiatedsignon.html
- 作品:https://server.domain.com/adfs/portal/updatepassword/
我尝试重新通过WAP
配置向导,一切都设置正确。我在服务器ADFS
或代理服务器上的事件查看器中也没有看到任何错误。有什么想法吗?
更新:
我今天又做了一些工作。我们运行了ADFS 诊断工具并解决了除 1 个错误和 1 个警告之外的所有问题。我认为警告只是一个工具问题,因为代理服务器能够看到 ADFS 服务器上的联合元数据。然而,这个错误让我很困惑。我运行了ADFS 更改用户帐户脚本并将其重新设置为已设置的 gMSA 用户,一切似乎都正常工作。我不明白 gMSA 帐户如何被锁定、密码被更改或禁用。一切似乎都设置正确。
答案1
因此 gMSA 帐户不会被禁用或锁定。影响它们的是 PrincipalsAllowedToRetrieveManagedPassword 属性。此属性控制哪些主体能够从 AD 获取密码。确保您的所有 ADFS 节点都包含在此列表中。此 powershell 单行代码应向您显示允许检索密码的所有对象,只需将 ADFSgMSA 更新为您所使用的 gMSA 帐户的名称即可。
Get-ADServiceAccount ADFSgMSA -Properties * | Select-Object Name,PrincipalsAllowedToRetrieveManagedPassword|fl
如果您想将服务器添加到该列表中,类似这样的操作应该就足够了。只需修改数组以包含您需要添加的任何服务器,ADFSgMSA 帐户就会更新为您使用的 gMSA 帐户。
#get existing Principals
$adfsgmsa = Get-ADServiceAccount ADFSgMSA -Properties
PrincipalsAllowedToRetrieveManagedPassword
#get DNs for other principals we're adding to the gMSA
$principals = @(
((Get-ADUser MyAdminUser).DistinguishedName),
((Get-ADComputer ADFS02).DistinguishedName)
)
#add new the two arrays
$principals+=$adfsgmsa.PrincipalsAllowedToRetrieveManagedPassword
#set the ad service account to use all principals
Set-ADServiceAccount -Identity 'adfsgmsa' -PrincipalsAllowedToRetrieveManagedPassword
$principals
#verify the changes (this might take a while to go into effect)
Get-ADServiceAccount ADFSgMSA -Properties PrincipalsAllowedToRetrieveManagedPassword