Non è stato possibile avviare il servizio Windows ADFS perché l'account del servizio ADFS non è in grado di accedere alla chiave privata del certificato per la firma e/o la decrittografia di token che si trova nel database di configurazione di ADFS.
Se il servizio Windows ADFS viene avviato correttamente, viene ripristinato lo stato di integrità "verde" del monitoraggio e l'avviso critico originale viene risolto automaticamente.
Questa condizione può verificarsi quando il certificato viene trovato nell'archivio specificato, ma si è verificato un problema durante l'accesso alla chiave privata del certificato. Le cause più comuni di questa condizione includono:
Il certificato è stato installato da un'origine che non include la chiave privata, ad esempio da un file con estensione cer o p7b.
La chiave privata del certificato è stata importata, ad esempio da un file con estensione pfx, in un archivio diverso da quello specificato nell'evento.
Il certificato è stato generato nell'ambito di una richiesta di certificato in cui non è stata specificata l'opzione "Chiave computer".
All'identità del servizio federativo non è stato concesso l'accesso in lettura alla chiave privata del certificato.
Le possibili soluzioni per questa condizione includono:
Se il certificato è stato importato da un'origine che non include la chiave privata, selezionare un certificato dotato di chiave privata o importare di nuovo il certificato da un'origine che include la chiave privata, ad esempio un file con estensione pfx.
Se il certificato è stato importato in un contesto utente, verificare che l'archivio specificato precedentemente corrisponda a quello in cui è stato importato il certificato.
Se il certificato è stato generato da una richiesta di certificato per cui non era stata specificata l'opzione "Chiave computer" e la chiave è contrassegnata come esportabile, esportare il certificato insieme a una chiave privata dall'archivio utente a un file con estensione pfx e reimportarlo direttamente nell'archivio specificato nel file di configurazione.
Se la chiave non è contrassegnata come esportabile, richiedere un nuovo certificato specificando l'opzione "Chiave computer".
Se all'identità del servizio federativo non è stata concessa l'autorizzazione di accesso in lettura alla chiave privata del certificato, correggere questa condizione utilizzando lo snap-in certificati. Per ulteriori informazioni, vedere la procedura per la verifica dell'accessibilità delle chiavi private per i certificati da parte dell'account utente del servizio AD FS, illustrata nella sezione relativa ai controlli preliminari per la risoluzione dei problemi di AD FS della guida alla risoluzione dei problemi di AD FS.
Target | Microsoft.ActiveDirectoryFederationServices.2016.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.ActiveDirectoryFederationServices.2016.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices.2016.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices.2016.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.ActiveDirectoryFederationServices.2016.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.ActiveDirectoryFederationServices.2016.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>