Come scaricare e analizzare i log di provisioning di Microsoft Entra
I log di provisioning di Microsoft Entra forniscono informazioni dettagliate sugli eventi di provisioning che si verificano nel tenant. È possibile usare le informazioni acquisite nei log di provisioning per risolvere i problemi relativi a un utente di cui è stato effettuato il provisioning.
Questo articolo descrive le opzioni per scaricare i log di provisioning dall'interfaccia di amministrazione di Microsoft Entra e come analizzare i log. Sono inclusi anche codici errore e considerazioni speciali.
Prerequisiti
Per visualizzare i log di provisioning, al tenant deve essere associata una licenza Microsoft Entra ID P1 o P2. Per aggiornare l'edizione di Microsoft Entra, vedere Introduzione a Microsoft Entra ID P1 o P2.
I proprietari delle applicazioni possono visualizzare i log per le proprie applicazioni. Per visualizzare i log di provisioning sono necessari i ruoli seguenti:
- Lettore di report
- Ruolo con autorizzazioni di lettura per la sicurezza
- Operatore per la sicurezza
- Amministratore della sicurezza
- Amministratore applicazione
- Amministratore di applicazioni cloud
- Utenti in un ruolo personalizzato con l'autorizzazione provisioningLogs
Come visualizzare i log di provisioning
Esistono diversi modi per visualizzare o analizzare i log di provisioning:
- Visualizzarli nell'Interfaccia di amministrazione di Microsoft Entra.
- Trasmettere i log a Monitoraggio di Azure tramite le impostazioni di diagnostica.
- Analizzare i log tramite i modelli di Cartella di lavoro.
- Accedere ai log in modo programmatico tramite l'API Microsoft Graph.
- Scaricare i log come file CSV o JSON.
Suggerimento
I passaggi descritti in questo articolo possono variare leggermente in base al portale di partenza.
Per accedere ai log nell'Interfaccia di amministrazione di Microsoft Entra:
- Accedere all'interfaccia di amministrazione di Microsoft Entra almeno con il ruolo Lettore report.
- Passare a Identità>Monitoraggio e integrità>Log di provisioning.
Come scaricare i log di provisioning
Per scaricare i log di provisioning, selezionare Scarica nella pagina Log di provisioning. Impostare i filtri nella maniera più specifica possibile per ridurre le dimensioni e il tempo del download.
Formato CSV
Il download CSV include tre file:
- ProvisioningLogs: scarica tutti i log, ad eccezione dei passaggi di provisioning e delle proprietà modificate.
- ProvisioningLogs_ProvisioningSteps: contiene i passaggi di provisioning e l'ID modifica. È possibile usare l'ID modifica per unire l'evento agli altri due file.
- ProvisioningLogs_ModifiedProperties: contiene gli attributi modificati e l'ID modifica. È possibile usare l'ID modifica per unire l'evento agli altri due file.
Formato JSON
Per aprire il file JSON, usare un editor di testo come Microsoft Visual Studio Code. Visual Studio Code semplifica la lettura del file fornendo l'evidenziazione della sintassi. È anche possibile aprire il file JSON usando i browser in un formato non modificabile, ad esempio Microsoft Edge.
Eseguire il prettify del file JSON
Il file JSON viene scaricato in un formato per ridurre le dimensioni del download. Questo formato può rendere difficile la lettura del payload. Per eseguire il prettify del file, sono disponibili due opzioni:
Usare PowerShell per formattare il codice JSON. Questo script genera un output JSON in un formato che include schede e spazi:
$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON
$JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>
Analizzare il file JSON
È possibile usare qualsiasi linguaggio di programmazione con cui si ha familiarità. Gli esempi seguenti sono disponibili in PowerShell.
-
$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON
È ora possibile analizzare i dati in base allo scenario. Ecco alcuni esempi:
Output di tutti gli ID processo nel file JSON:
foreach ($provitem in $JSONContent) { $provitem.jobId }
Restituire tutti gli ID delle modifiche per gli eventi in cui l'azione è stata "create":
foreach ($provitem in $JSONContent) {
if ($provItem.action -eq 'Create') {
$provitem.changeId
}
}
Informazioni utili
Ecco alcuni suggerimenti e considerazioni per l'analisi dei log di provisioning:
Il portale di Azure archivia i dati di provisioning segnalati per 30 giorni se si ha un'edizione Premium e 7 giorni se si ha un'edizione gratuita. È possibile indirizzare i log di provisioning ai log di Monitoraggio di Azure per la conservazione oltre 30 giorni.
È possibile usare l'attributo ID modifica come identificatore univoco, che può essere utile quando si interagisce con il supporto tecnico del prodotto, ad esempio.
È possibile che gli eventi ignorati siano visualizzati per gli utenti che non sono nell'ambito.
- Esempio 1: se l'ambito è impostato su
all users and groups
e si configurano filtri di ambito, è possibile che vengano visualizzati log ignorati per gli utenti che non soddisfano i criteri di ambito. - Esempio 2: se l'ambito è impostato su
assigned users and groups
, si potrebbe continuare a vedere gli utenti nei log come ignorati, anche se non sono assegnati all'applicazione. Il modo in cui il servizio di provisioning riceve modifiche dalla directory fa sì che questi utenti vengano visualizzati.
- Esempio 1: se l'ambito è impostato su
I log di provisioning non mostrano le importazioni di ruoli (si applica ad Amazon Web Services, Salesforce e Zendesk). È possibile trovare i log per le importazioni di ruoli nei log di audit.
Codici errore
Usare la tabella seguente per comprendere meglio come risolvere gli errori presenti nei log di provisioning.
Codice errore | Descrizione |
---|---|
Conflitto, EntryConflict |
Correggere i valori dell'attributo in conflitto in Microsoft Entra ID o nell'applicazione. In alternativa, esaminare la configurazione dell'attributo corrispondente se l'account utente in conflitto doveva essere confrontato e assunto. Per altre informazioni sulla configurazione degli attributi di corrispondenza, vedere Personalizzazione dei mapping degli attributi del provisioning degli utenti per le applicazioni SaaS in Microsoft Entra ID. |
TooManyRequests | L'app di destinazione ha rifiutato questo tentativo di aggiornare l'utente perché riceve troppe richieste. Non c'è niente da fare. Questo tentativo viene ripetuto automaticamente e Microsoft è stata informata di questo problema. |
InternalServerError | L'app di destinazione ha restituito un errore imprevisto. Un problema di servizio con l'applicazione di destinazione potrebbe impedire il funzionamento. Questo tentativo viene eseguito nuovamente in automatico in 40 minuti. |
InsufficientRights, MethodNotAllowed, NotPermitted, Unauthorized |
Microsoft Entra è stato autenticato con l'applicazione di destinazione ma non è stato autorizzato a eseguire l'aggiornamento. Esaminare le istruzioni fornite dall'applicazione di destinazione, insieme alla rispettiva applicazione. Per altre informazioni, vedere Esercitazioni sull'integrazione di applicazioni con Microsoft Entra ID. |
UnprocessableEntity | L'applicazione di destinazione ha restituito una risposta imprevista. La configurazione dell'applicazione di destinazione potrebbe non essere corretta o un problema di servizio con l'applicazione di destinazione potrebbe impedire il funzionamento. |
WebExceptionProtocolError | Si è verificato un errore del protocollo HTTP durante la connessione all'applicazione di destinazione. Non c'è niente da fare. Questo tentativo viene eseguito nuovamente in automatico in 40 minuti. |
InvalidAnchor | Un utente creato o abbinato in precedenza al servizio di provisioning non esiste più. Assicurarsi che l'utente esista. Per forzare una nuova corrispondenza di tutti gli utenti, usare l'API Microsoft Graph per riavviare il processo. Il riavvio del provisioning attiva un ciclo iniziale, che può richiedere tempo per il completamento. Il riavvio del provisioning elimina anche la cache usata dal servizio di provisioning per il funzionamento. Ciò significa che tutti gli utenti e i gruppi nel tenant devono essere nuovamente valutati e determinati eventi di provisioning potrebbero essere eliminati. |
NotImplemented | L'app di destinazione ha restituito una risposta imprevista. La configurazione dell'app potrebbe non essere corretta o un problema di servizio con l'app di destinazione potrebbe impedire il funzionamento. Esaminare le istruzioni fornite dall'applicazione di destinazione, insieme alla rispettiva applicazione. Per altre informazioni, vedere Esercitazioni sull'integrazione di applicazioni con Microsoft Entra ID. |
MandatoryFieldsMissing, MissingValues |
Impossibile creare l'utente perché mancano i valori obbligatori. Correggere i valori di attributo mancanti nel record di origine o esaminare la configurazione dell'attributo corrispondente per assicurarsi che i campi obbligatori non vengano omessi. Per altre informazioni, vedere Personalizzazione dei mapping degli attributi del provisioning degli utenti per le applicazioni SaaS in Microsoft Entra ID. |
SchemaAttributeNotFound | Impossibile eseguire l'operazione perché è stato specificato un attributo che non esiste nell'applicazione di destinazione. Assicurarsi che la configurazione sia corretta facendo riferimento a Personalizzare i mapping degli attributi di provisioning utenti per le applicazioni SaaS in Microsoft Entra ID. |
InternalError | Si è verificato un errore interno all'interno del servizio di provisioning di Microsoft Entra. Non c'è niente da fare. Questo tentativo viene eseguito nuovamente in automatico in 40 minuti. |
InvalidDomain | Impossibile eseguire l'operazione perché un valore di attributo contiene un nome di dominio non valido. Aggiornare il nome di dominio nell'utente o aggiungerlo all'elenco consentito nell'applicazione di destinazione. |
Timeout | Impossibile completare l'operazione perché l'applicazione di destinazione ha richiesto troppo tempo per rispondere. Non c'è niente da fare. Questo tentativo viene eseguito nuovamente in automatico in 40 minuti. |
LicenseLimitExceeded | Non è stato possibile creare l'utente nell'applicazione di destinazione perché non sono disponibili licenze per questo utente. Acquistare più licenze per l'applicazione di destinazione. In alternativa, esaminare le assegnazioni utente e la configurazione del mapping degli attributi per assicurarsi che gli utenti corretti vengano assegnati con gli attributi corretti. |
DuplicateTargetEntries | Impossibile completare l'operazione perché è stato trovato più di un utente nell'applicazione di destinazione con gli attributi corrispondenti configurati. Rimuovere l'utente duplicato dall'applicazione di destinazione o riconfigurare i mapping degli attributi. Per altre informazioni, vedere Personalizzazione dei mapping degli attributi del provisioning degli utenti per le applicazioni SaaS in Microsoft Entra ID. |
DuplicateSourceEntries | Impossibile completare l'operazione perché sono stati trovati più utenti con gli attributi corrispondenti configurati. Rimuovere l'utente duplicato o riconfigurare i mapping degli attributi. Per altre informazioni, vedere Personalizzazione dei mapping degli attributi del provisioning degli utenti per le applicazioni SaaS in Microsoft Entra ID. |
ImportSkipped | Quando ogni utente viene valutato, il sistema tenta di importare l'utente dal sistema di origine. Questo errore si verifica in genere quando l'utente che sta importando manca la proprietà corrispondente definita nei mapping degli attributi. Senza un valore presente nell'oggetto utente per l'attributo corrispondente, il sistema non può valutare le modifiche di ambito, corrispondenza o esportazione. La presenza di questo errore non indica che l'utente è nell'ambito, perché non è ancora stata valutata l'ambito per l'utente. |
EntrySynchronizationSkipped | Il servizio di provisioning ha eseguito correttamente una query sul sistema di origine e ha identificato l'utente. Non sono state eseguite altre azioni sull'utente e sono state ignorate. L'utente potrebbe non essere incluso nell'ambito oppure l'utente potrebbe essere già presente nel sistema di destinazione senza ulteriori modifiche necessarie. |
SystemForCrossDomainIdentity ManagementMultipleEntriesInResponse |
Una richiesta GET per recuperare un utente o un gruppo ha ricevuto più utenti o gruppi nella risposta. Il sistema prevede di ricevere un solo utente o gruppo nella risposta. Ad esempio, se si esegue una richiesta GET Group per recuperare un gruppo, fornire un filtro per escludere i membri e l'endpoint System for Cross-Domain Identity Management (SCIM) restituisce i membri, viene visualizzato questo errore. |
SystemForCrossDomainIdentity ManagementServiceIncompatible |
Il servizio di provisioning Microsoft Entra non è in grado di analizzare la risposta dall'applicazione non Microsoft. Collaborare con lo sviluppatore di applicazioni per assicurarsi che il server SCIM sia compatibile con il client SCIM di Microsoft Entra. |
SchemaPropertyCanOnlyAcceptValue | La proprietà nel sistema di destinazione può accettare un solo valore, ma la proprietà nel sistema di origine include più valori. Assicurarsi di eseguire il mapping di un attributo a valore singolo alla proprietà che genera un errore, aggiornare il valore nell'origine in modo che sia a valore singolo o rimuovere l'attributo dai mapping. |
Codici errore per la sincronizzazione tra tenant
Usare la tabella seguente per comprendere meglio come risolvere gli errori presenti nei log di provisioning per la sincronizzazione tra tenant.
Codice errore | Causa | Soluzione |
---|---|---|
AzureActiveDirectoryCannot UpdateObjectsOriginated InExternalService |
L'origine dell'autorità per l'utente è Exchange Online. Il servizio di provisioning non può aggiornare uno o più attributi di scambio sull'utente (ad esempio, extensionAttribute 1 - 15). Ciò influisce sugli utenti esistenti nel tenant di destinazione quando la proprietà dirSyncEnabled viene modificata da "True" a "False". | Aggiornare l'attributo direttamente in Exchange Online del tenant di destinazione. Ad esempio: Set-MailUser -Identity CloudMailUser5 -CustomAttribute2 "Updated with EXO PowerShell" |
Microsoft Entra ID CannotUpdateObjectsOriginated InExternalService |
Il motore di sincronizzazione non è riuscito ad aggiornare una o più proprietà utente nel tenant di destinazione. L'operazione non è riuscita nell'API Microsoft Graph a causa dell'imposizione dell'origine dell'autorità (SOA). Attualmente, nell'elenco vengono visualizzate le proprietà seguenti: Mail showInAddressList |
In alcuni casi, ad esempio quando la proprietà showInAddressList fa parte dell'aggiornamento dell'utente, il motore di sincronizzazione potrebbe ritentare automaticamente l'aggiornamento (utente) senza la proprietà che causa l'errore. Altrimenti, è necessario aggiornare la proprietà direttamente nel tenant di destinazione. |
AzureDirectory B2BManagementPolicy CheckFailure |
I criteri di sincronizzazione tra tenant che consentono il riscatto automatico non sono riusciti. Il motore di sincronizzazione verifica che l'amministratore del tenant di destinazione crei un criterio di sincronizzazione tra tenant in ingresso che consenta il riscatto automatico. Il motore di sincronizzazione controlla anche se l'amministratore del tenant di origine abbia abilitato un criterio in uscita per il riscatto automatico. |
Assicurarsi che l'impostazione di riscatto automatico sia abilitata sia per i tenant di origine che per i tenant di destinazione. Per altre informazioni, vedere Impostazione di riscatto automatico. |
Microsoft Entra ID QuotaLimitExceeded |
Il numero di oggetti nel tenant supera il limite della directory. Microsoft Entra ID ha limiti per il numero di oggetti che è possibile creare in un tenant. |
Controllare se sia possibile aumentare la quota. Per informazioni sui limiti e i passaggi della directory per aumentare la quota, vedere Limiti e restrizioni del servizio Microsoft Entra. |
InvitationCreationFailure | Il servizio di provisioning Microsoft Entra ha tentato di invitare l'utente nel tenant di destinazione. L'invito non è riuscito. | Per ulteriori indagini è probabile che sia necessario contattare il supporto tecnico. |
InvitationCreationFailureUserAccountDisabled | Il servizio di provisioning Microsoft Entra ha tentato di invitare l'utente nel tenant di destinazione. L'invito non è riuscito. | L'utente esiste nel tenant di destinazione, ma l'account è disabilitato e l'invito è in sospeso. Abilitare l'account utente nel tenant di destinazione e tentare di eseguire di nuovo il provisioning dell'utente. |
Microsoft Entra ID Non consentito |
Le impostazioni di collaborazione esterna bloccano gli inviti. | Passare alle impostazioni utente e assicurarsi che le impostazioni di collaborazione esterna siano consentite. |
InvitationCreation FailureInvalidPropertyValue |
Possibili cause: *Il valore dell'indirizzo SMTP primario non è valido. *Lo UserType non è guest o membro *L'indirizzo e-mail del gruppo non è supportato |
Possibili soluzioni: *Il valore dell'indirizzo SMTP primario non è valido. La risoluzione di questo problema richiederà probabilmente l'aggiornamento della proprietà e-mail dell'utente di origine. Per altre informazioni, vedere Preparare la sincronizzazione della directory a Microsoft 365 *Assicurarsi che il provisioning della proprietà userType sia impostato come guest o membro di tipo. Controllare i mapping degli attributi per comprendere come viene eseguito il mapping dell'attributo userType. *L'indirizzo e-mail dell'utente corrisponde all'indirizzo e-mail di un gruppo nel tenant. Aggiornare l'indirizzo e-mail per uno dei due oggetti. |
InvitationCreation FailureAmbiguousUser |
L'utente invitato ha un indirizzo proxy che corrisponde a un utente interno nel tenant di destinazione. L'indirizzo proxy deve essere univoco. | Per risolvere questo errore, eliminare l'utente interno esistente nel tenant di destinazione o rimuovere l'utente dall'ambito di sincronizzazione. |
Microsoft Entra ID CannotUpdateObjects MasteredOnPremises |
Se l'utente nel tenant di destinazione è stato originariamente sincronizzato da AD a Microsoft Entra ID e convertito in un utente esterno, l'origine dell'autorità è ancora locale e l'utente non può essere aggiornato. | L'utente non può essere aggiornato con la sincronizzazione tra tenant. |
EntityTypeNotSupported | I gruppi possono essere usati per determinare quali utenti sono nell'ambito del provisioning. Gli oggetti gruppi non possono essere sincronizzati. | Non è richiesto alcun intervento da parte del cliente. Si tratta di un evento ignorato. Se si usa il provisioning on-demand, assicurarsi di scegliere un utente anziché un gruppo di cui effettuare il provisioning. |