El servicio de Windows AD FS no pudo iniciarse porque la cuenta del servicio de AD FS no puede acceder a la clave privada para el certificado de firma o descifrado de tokens que se encuentra en la base de datos de configuración de AD FS.
Si el servicio de Windows AD FS se inicia correctamente, el monitor cambiará al estado verde y la alerta crítica original se solucionará automáticamente.
Esta condición puede producirse cuando el certificado se encuentra en el almacén especificado pero se produce un problema al acceder a la clave privada del certificado. Estas son algunas de las causas posibles de esta condición:
El certificado se instaló de un origen que no incluía la clave privada, como por ejemplo un archivo .cer o .p7b.
La clave privada del certificado se importó (por ejemplo, de un archivo .pxf) en un almacén distinto al especificado en este evento.
El certificado se generó como parte de una solicitud de certificado que no especificaba la opción "Clave de equipo".
La identidad del servicio de federación no tiene acceso de lectura para la clave privada del certificado.
Estas son algunas resoluciones posibles para esta condición:
Si el certificado se importó de un origen que no tenía clave privada, seleccione un certificado que tenga una clave privada o vuelva a importar el certificado de un origen que incluya la clave privada (por ejemplo, un archivo .pxf).
Si el certificado se importó en un contexto de usuario, compruebe que el almacén especificado anteriormente coincida con el almacén donde se importó el certificado.
Si el certificado fue generado por una solicitud de certificado que no especifica la opción "Clave de equipo" y la clave está marcada como exportable, exporte el certificado con una clave privada del almacén del usuario a un archivo .pxf y, a continuación, vuelva a importarla directamente al almacén especificado en el archivo de configuración.
Si la clave no está marcada como exportable, solicite un certificado nuevo mediante la opción "Clave de equipo".
Si la identidad del servicio de federación no tiene acceso de lectura para la clave privada del certificado, corrija esta condición mediante el complemento Certificados. Para obtener más información, consulte el procedimiento "Confirm that private keys for certificates are accessible by the AD FS service user account" en la sección "Things to Check Before Troubleshooting AD FS" de la Guía de solución de problemas de AD FS (en inglés).
Target | Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">133</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">100</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>