Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il provisioning si integra con i log di Monitoraggio di Azure e Log Analytics. Monitoraggio di Azure permette di eseguire operazioni come creare cartelle di lavoro, chiamate anche dashboard, archiviare i log di provisioning per più di 30 giorni e creare query e avvisi personalizzati. Questo articolo mostra come i log di provisioning si integrino con i log di Monitoraggio di Azure. Per altre informazioni sul funzionamento generale dei log di provisioning, vedere Log di provisioning.
Abilitazione dell'integrazione dei log di provisioning
Se non si ha già familiarità con Monitoraggio di Azure e Log Analytics, esplorare le risorse seguenti e quindi tornare a informazioni sull'integrazione dei log di provisioning delle applicazioni con i log di Monitoraggio di Azure.
- Panoramica di Monitoraggio di Azure
- Configurare un'area di lavoro Log Analytics
- Integrare i log attività con i log di Monitoraggio di Azure
Per integrare i log di provisioning con i log di Monitoraggio di Azure:
Accedere all'interfaccia di amministrazione di Microsoft Entra come almeno un amministratore della sicurezza.
Passare a Entra ID>Monitoraggio e integrità>Impostazioni diagnostiche.
Scegliere i log da trasmettere, selezionare l'opzione Invia all'area di lavoro Log Analytics e completare i campi.
Passare a Entra ID>Monitoring & health>Log Analytics e iniziare a interrogare i dati.
Nota
L'abilitazione dell'integrazione può richiedere del tempo prima che i log vengano visualizzati in Log Analytics. Se viene visualizzato un errore che indica che la sottoscrizione non è registrata per l'uso di microsoft.insights , eseguire il controllo dopo alcuni minuti.
Informazioni sui dati
Il flusso di dati sottostante che il provisioning invia ai visualizzatori log è quasi identico. I log di Monitoraggio di Azure ottengono quasi lo stesso flusso dell'interfaccia di amministrazione di Microsoft Entra e dell'API Microsoft Graph. Esistono alcune differenze nei campi di log, come descritto nella tabella seguente. Log Analytics potrebbe visualizzare più eventi rispetto ai log nell'interfaccia di amministrazione di Microsoft Entra. Per altre informazioni su questi campi, vedere List provisioningObjectSummary.
Log di Monitoraggio di Azure | Interfaccia utente del portale di Azure | Istanza app |
---|---|---|
Descrizione dell'errore | motivo | descrizioneRisultato |
stato | tipoRisultato | tipoRisultato |
activityDateTime | TimeGenerated | TimeGenerated |
Cartelle di lavoro di Microsoft Entra
Le cartelle di lavoro di Microsoft Entra identity offrono un canvas flessibile per l'analisi dei dati. Consentono anche di creare report visivi avanzati all'interno del portale di Azure. Per altre informazioni, vedere Cartelle di lavoro di Microsoft Entra.
Analisi del Provisioning e Provisioning Insights sono due delle cartelle di lavoro predefinite disponibili. Per visualizzare i dati, assicurarsi che tutti i filtri (timeRange, jobID, appName) siano popolati. Verificare anche che sia stato effettuato il provisioning dell'app, altrimenti i log non conterranno alcun dato.
Query personalizzate
È possibile creare query personalizzate e visualizzare i dati nelle cartelle di lavoro. Per informazioni su come, vedere Introduzione alle query di log in Monitoraggio di Azure e query di log in Monitoraggio di Azure.
Ecco alcuni esempi per iniziare a usare le query di log di provisioning delle applicazioni.
Eseguire una query sui log per un utente in base al suo ID nel sistema di origine:
AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"
Riepilogare il conteggio per ErrorCode:
AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature
Riepilogare il numero di eventi al giorno per azione:
AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)
Prendere in esame 100 eventi e proprietà chiave del progetto:
AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100
Recuperare i gruppi con i membri ignorati a causa di problemi durante la risoluzione dei riferimenti.
AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId, JobId
| take 100
Riepilogare le azioni in base all'applicazione.
AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5
Identificare i picchi in operazioni specifiche.
AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart
Avvisi personalizzati
Monitoraggio di Azure consente di configurare avvisi personalizzati in modo da ricevere notifiche sugli eventi chiave correlati al provisioning. Ad esempio, potrebbe essere necessario ricevere un avviso sui picchi di errori, disabilitazioni o eliminazioni. Potresti anche voler ricevere un avviso se c'è una mancanza di provisioning, che indica che c'è qualcosa che non va.
Per altre informazioni sugli avvisi, vedere Avvisi dei log di Monitoraggio di Azure. Sono disponibili molte opzioni e configurazioni, quindi esaminare la documentazione completa. Tuttavia, a livello generale, ecco come creare un avviso:
- In Log Analytics selezionare + Nuova regola di avviso.
- Nella scheda Condizione selezionare il collegamento Visualizza risultato e modifica query in Log .
- Immettere una query su cui si vuole inviare un avviso e completare i campi necessari per creare l'avviso.
Per creare un avviso quando si verifica un picco di errori:
AADProvisioningLogs
| where JobId == "string" // Customize by adding a specific app JobId
| where ResultType == "Failure"
Potrebbe verificarsi un problema che causava l'arresto dell'esecuzione del servizio di provisioning. Usare la query seguente per rilevare quando non sono presenti eventi di provisioning durante un determinato intervallo di tempo.
AADProvisioningLogs
| take 1
Per creare un avviso quando si verifica un picco di disabilitazioni o eliminazioni:
AADProvisioningLogs
| where Action in ("Disable", "Delete")
Contributi alla community
Stiamo adottando un approccio open source e basato sulla community per le query e i dashboard di provisioning delle applicazioni. Creare una query, un avviso o una cartella di lavoro che si ritiene utile per altri utenti, quindi pubblicarla nel repository GitHub AzureMonitorCommunity. È possibile inviare un messaggio di posta elettronica con un collegamento. Le query e i dashboard vengono esaminati e pubblicati nel servizio in modo che anche altri utenti ne possano usufruire. Contattare [email protected].