侦听联合元数据请求次数时发生错误

Microsoft.ActiveDirectoryFederationServices.2016.TrustManagementMetadataListenerErrorMonitor (UnitMonitor)

Knowledge Base article:

摘要

此监视器指示联合身份验证服务尝试侦听用于读取其发布的联合身份验证元数据的请求时发生意外错误。

如果在 15 分钟之内没有再次发生同样的问题,此监视器的运行状况状态将变回绿色状态。此监视器所生成的警报必须手动解除。

原因

AD FS Windows 服务可能无权访问联合身份验证元数据端点 URL,或者可能被限制性更强、覆盖其 URL 权限的访问控制列表 (ACL) 权限阻止。

解决方案

使用适用于 HTTP 的 netsh 命令检查你的联合身份验证元数据端点 URL 是否有 URL ACL 权限,或者对其他可能覆盖联合服务器使用的端点所需的权限的 URL 进行此项检查。 For more information, see the examples for netsh http show urlacl syntax in 适用于超文本传输协议(HTTP)的 Netsh 命令

以下示例显示了当你检查联合身份验证元数据端点权限(其中,用户定义的服务用户帐户("adfssrv")已配置并用于 AD FS 服务标识)时 netsh http show urlacl 命令的典型输出。

C:\>netsh http show urlacl url=https://+:443/FederationMetadata/2007-06/

保留的 URL :https://+:443/FederationMetadata/2007-06/

用户:NT SERVICE\adfssrv

侦听:是

委托:是

SDDL:D:(A;;GA;;;S-1-5-80-2246541699-21809830-3603976364-117610243-975697593)

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices.2016.TrustManagement
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
侦听联合元数据请求次数时发生错误
由于意外错误,联合身份验证服务无法通过“{0}”侦听读取联合身份验证元数据文档的请求。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices.2016.TrustManagementMetadataListenerErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices.2016.TrustManagement" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogTimer2StateMonitorType" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices.2016.TrustManagementMetadataListenerErrorMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[1]$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>$Target/Host/Property[Type="Microsoft.ActiveDirectoryFederationServices.2016.FederationServer"]/ADFSEventLog$</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">155</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
<TimerWaitInSeconds>900</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>