Risolvere i problemi di Active Directory Federation Services con eventi e registrazione

Active Directory Federation Services (AD FS) fornisce due log primari che è possibile usare per risolvere i problemi. ovvero:

  • Log Admin.
  • Tracelog.

Visualizzare il log admin

Il log Admin fornisce informazioni generali sui problemi che si verificano ed è abilitato per impostazione predefinita. Per visualizzare il log admin:

  1. Aprire il Visualizzatore eventi.

  2. Espandere Registri applicazioni e servizi.

  3. Espandere AD FS.

  4. Seleziona Admin.

    Screenshot of the Event Viewer with the Admin option called out.

Usare Tracelog

Tracelog è il log in cui vengono registrati i messaggi dettagliati ed è il log più utile per la risoluzione dei problemi. Poiché molte informazioni di Tracelog possono essere generate in breve tempo, il che può influire sulle prestazioni del sistema, i log sono disabilitati per impostazione predefinita.

Per abilitare e visualizzare Tracelog

  1. Aprire Visualizzatore eventi ed espandere Registri applicazioni e servizi.

  2. Fare clic con il pulsante destro del mouse su Registri applicazioni e servizi e scegliere Visualizza. Selezionare quindi Visualizza registri analitici e di debug. Questo riquadro mostra altri nodi.

    Screenshot of the Event Viewer showing that the user right-clicked Applications and Services Log and selected View with the Show Analytic and Debug Logs option called out.

  3. Espandere Traccia di AD FS.

  4. Fare clic con il pulsante destro del mouse su Debug e selezionare Attiva log.

    Screenshot of the Event Viewer showing that the user right-clicked Debug with the Enable Log option called out.

Informazioni sul controllo degli eventi per AD FS in Windows Server 2016

Per impostazione predefinita, AD FS in Windows Server 2016 ha un livello di controllo di base abilitato. Con il controllo di base, gli amministratori visualizzano massimo cinque eventi per una singola richiesta. Queste informazioni indicano una diminuzione significativa del numero di eventi che gli amministratori devono esaminare per visualizzare una singola richiesta. È possibile aumentare o ridurre il livello di controllo usando il cmdlet di PowerShell:

Set-AdfsProperties -AuditLevel

Nella tabella seguente vengono illustrati i livelli di controllo disponibili.

Livello di controllo Sintassi di Powershell Descrizione
Nessuno Set-AdfsProperties -AuditLevel None Il controllo è disabilitato e non vengono registrati eventi.
Di base (impostazione predefinita) Set-AdfsProperties -AuditLevel Basic Vengono registrati massimo cinque eventi per una singola richiesta.
Dettagliato Set-AdfsProperties -AuditLevel Verbose Vengono registrati tutti gli eventi. Questo livello registra una quantità significativa di informazioni per ogni richiesta.

Per visualizzare il livello di controllo corrente, è possibile usare il cmdlet di PowerShell: Get-AdfsProperties.

Screenshot of the PowerShell window showing the results of the Get-AdfsProperties cmdlet with the Audit Level property called out.

È possibile aumentare o ridurre il livello di controllo usando il cmdlet di PowerShell: Set-AdfsProperties -AuditLevel.

Screenshot of the PowerShell window showing the Set-AdfsProperties -AuditLevel Verbose cmdlet typed in the command prompt.

Tipi di eventi

Gli eventi AD FS possono essere di tipi diversi, in base ai diversi tipi di richieste elaborate da AD FS. A ogni tipo di evento sono associati dati specifici. Il tipo di eventi può essere differenziato tra richieste di accesso e richieste di sistema. Le richieste di accesso potrebbero essere richieste di token e le richieste di sistema potrebbero essere chiamate server-server, incluso il recupero delle informazioni di configurazione.

Nella tabella seguente vengono descritti i tipi di eventi di base.

Tipo evento ID evento Descrizione
Convalida delle credenziali nuove completata 1202 Richiesta in cui il servizio federativo convalida correttamente le credenziali nuove. Questo evento include WS-Trust, WS-Federation, SAML-P (prima fase per generare l'accesso SSO) e OAuth Authorize Endpoints.
Errore di convalida delle credenziali nuove 1203 Richiesta in cui la convalida delle credenziali nuove non è riuscita nel servizio federativo. Questo evento include WS-Trust, WS-Fed, SAML-P (prima fase per generare l'accesso SSO) e OAuth Authorize Endpoints.
Operazione riuscita del token dell'applicazione 1200 Richiesta in cui il servizio federativo rilascia correttamente un token di sicurezza. Per WS-Federation e SAML-P, questo evento viene registrato quando la richiesta viene elaborata con l'artefatto SSO, ad esempio il cookie SSO.
Errore del token dell'applicazione 1201 Richiesta in cui il rilascio del token di sicurezza non è riuscito nel servizio federativo. Per WS-Federation e SAML-P, questo evento viene registrato quando la richiesta è stata elaborata con l'artefatto SSO, ad esempio il cookie SSO.
Richiesta di modifica della password completata 1204 Transazione in cui il servizio federativo elabora correttamente la richiesta di modifica della password.
Errore di richiesta di modifica della password 1205 Transazione in cui il servizio federativo non elabora la richiesta di modifica della password.
Disconnessione completata 1206 Descrive una richiesta di disconnessione riuscita.
Errore di disconnessione 1207 Descrive una richiesta di disconnessione non riuscita.

Controllo della sicurezza

Il controllo della sicurezza dell'account del servizio AD FS può talvolta aiutare a tenere traccia dei problemi relativi agli aggiornamenti delle password, alla registrazione delle richieste/risposte, alle intestazioni del contenuto delle richieste e ai risultati della registrazione dei dispositivi. Il controllo dell'account del servizio AD FS è disabilitato per impostazione predefinita.

Abilitare il controllo della sicurezza

  1. Selezionare Inizio. Passare quindi a Programmi>Strumenti di amministrazione e quindi scegliere Criteri di sicurezza locali.

  2. Passare alla cartella Impostazioni protezione\Criteri locali\Assegnazione diritti utente e quindi fare doppio clic su Generazione controlli di protezione.

  3. Nella scheda Impostazioni sicurezza locale verificare che sia elencato l'account del servizio AD FS. Se non è presente, selezionare Aggiungi utente o Gruppo e aggiungerlo all'elenco. Quindi, seleziona OK.

  4. Per abilitare il controllo, aprire un prompt dei comandi con privilegi elevati ed eseguire il comando seguente: auditpol.exe /set /subcategory:"Application Generated" /failure:enable /success:enable

  5. Chiudere Criteri di sicurezza locali e quindi aprire lo snap-in Gestione di ADFS.

  6. Per aprire lo snap-in Gestione di AD FS, selezionare Start. Passare a Programmi>Strumenti di amministrazione e quindi selezionare Gestione di AD FS.

  7. Nel riquadro Azioni fare clic su Modifica proprietà servizio federativo.

  8. Nella finestra di dialogo Proprietà servizio federativo selezionare la scheda Eventi.

  9. Selezionare le caselle di controllo Operazioni riuscite e Operazioni non riuscite.

  10. Seleziona OK.

    Screenshot of the Events tab of the Federation Service Properties dialog box showing that the Success audits and Failure audits options are selected.

Nota

Le istruzioni precedenti vengono usate solo quando AD FS si trova in un server membro autonomo. Se AD FS è in esecuzione in un controller di dominio, invece dei criteri di sicurezza locali, usare i criteri del controller di dominio predefinito che si trovano in Gestione Criteri di gruppo/Foresta/Domini/Controller di dominio. Selezionare Modifica e passare a Configurazione computer\Criteri\Impostazioni di Windows\Impostazioni sicurezza\Criteri locali\Assegnazione diritti utente.

Messaggi di Windows Communication Foundation e Windows Identity Foundation

Oltre alla registrazione di traccia, a volte potrebbe essere necessario visualizzare i messaggi di Windows Communication Foundation (WCF) e Windows Identity Foundation (WIF) per risolvere un problema. È possibile visualizzare questi messaggi modificando il file Microsoft.IdentityServer.ServiceHost.Exe.Config nel server AD FS.

Questo file si trova in <%radice del sistema%>\Windows\ADFS ed è in formato XML. Le parti pertinenti del file sono illustrate nell'esempio seguente:

<!-- To enable WIF tracing, change the following switchValue to the desired trace level - Verbose, Information, Warning, Error, Critical -->

<source name="Microsoft.IdentityModel" switchValue="Off"> … </source>

<!-- To enable WCF tracing, change the following switchValue to the desired trace level - Verbose, Information, Warning, Error, Critical -->

<source name="System.ServiceModel" switchValue="Off" > … </source>

Dopo aver applicato queste modifiche, salvare la configurazione e riavviare il servizio AD FS. Dopo aver abilitato queste tracce impostando le opzioni appropriate, queste verranno visualizzate nel Tracelog di AD FS nel Visualizzatore eventi di Windows.

Correlazione di eventi

Uno degli aspetti più difficili da risolvere è rappresentato dai problemi di accesso che generano numerosi errori o eventi di debug.

A tale scopo, AD FS correla tutti gli eventi registrati nel Visualizzatore eventi, sia nel log admin che nel di debug. Ognuno di questi log corrisponde a una determinata richiesta usando un identificatore univoco globale (GUID) denominato ID attività. AD FS genera questo ID quando presenta la richiesta di rilascio del token all'applicazione Web per le applicazioni che usano il profilo richiedente passivo. AD FS genera anche un ID quando invia richieste direttamente al provider di attestazioni per le applicazioni che usano WS-Trust.

Screenshot of the Details tab of the event Properties dialog box with the ActivityID value called out.

Questo ID attività rimane invariato per l'intera durata della richiesta e viene registrato come parte di ogni evento registrato nel Visualizzatore eventi per tale richiesta. Ciò significa:

  • Il filtro o la ricerca nel Visualizzatore eventi usando questo ID attività consente di tenere traccia di tutti gli eventi correlati che corrispondono alla richiesta di token.
  • Lo stesso ID attività viene registrato in computer diversi, il che consente di risolvere i problemi di una richiesta utente in più computer, ad esempio il proxy server federativo (FSP).
  • L'ID attività viene visualizzato anche nel browser dell'utente se la richiesta AD FS non riesce in alcun modo, consentendo all'utente di comunicare questo ID all'help desk o al supporto IT.

Screenshot of the Details tab of the event Properties dialog box with the client request ID value called out.

Per facilitare il processo di risoluzione dei problemi, AD FS registra anche l'evento ID chiamante ogni volta che il processo di rilascio del token non riesce in un server AD FS. Questo evento contiene il tipo di attestazione e il valore di uno dei tipi di attestazione seguenti, presupponendo che queste informazioni siano state passate al servizio federativo come parte di una richiesta di token:

  • https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountnameh
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upnh
  • https://schemas.microsoft.com/ws/2008/06/identity/claims/upn
  • http://schemas.xmlsoap.org/claims/UPN
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressh
  • https://schemas.microsoft.com/ws/2008/06/identity/claims/emailaddress
  • http://schemas.xmlsoap.org/claims/EmailAddress
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
  • https://schemas.microsoft.com/ws/2008/06/identity/claims/name
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier

L'evento ID chiamante registra anche l'ID attività per consentire di usare tale ID attività per filtrare o cercare nei registri eventi una determinata richiesta.

Passaggi successivi