Condividi tramite


Archiviare log e report sulla gestione entitlement in Monitoraggio di Azure

Microsoft Entra ID archivia gli eventi di controllo per un massimo di 30 giorni nel log di controllo. Tuttavia, è possibile conservare i dati di controllo per più tempo rispetto al periodo di conservazione predefinito, descritto in Quanto tempo Microsoft Entra ID archivia i dati di report?, instradandolo a un account Archiviazione di Azure o usando Monitoraggio di Azure. È quindi possibile usare le cartelle di lavoro e le query e i report personalizzati in questi dati.

Configurare l'ID Microsoft Entra per l'uso di Monitoraggio di Azure

Suggerimento

I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.

Prima di usare le cartelle di lavoro di Monitoraggio di Azure, è necessario configurare Microsoft Entra ID per inviare una copia dei relativi log di controllo a Monitoraggio di Azure.

L'archiviazione dei log di controllo di Microsoft Entra richiede che Monitoraggio di Azure sia disponibile in una sottoscrizione di Azure. Altre informazioni sui prerequisiti e sui costi stimati dell'uso di Monitoraggio di Azure nei log attività di Microsoft Entra in Monitoraggio di Azure.

Ruolo prerequisito: global Amministrazione istrator

  1. Accedere all'interfaccia di amministrazione di Microsoft Entra come global Amministrazione istrator. Assicurarsi di avere accesso al gruppo di risorse contenente l'area di lavoro Monitoraggio di Azure.

  2. Passare a Identity Monitoring and health Diagnostic settings (Monitoraggio identità>e impostazioni di diagnostica dell'integrità).>

  3. Verificare se è già presente un'impostazione per inviare i log di controllo all'area di lavoro.

  4. Se non è già presente un'impostazione, selezionare Aggiungi impostazione di diagnostica. Usare le istruzioni riportate in Integrare i log di Microsoft Entra con i log di Monitoraggio di Azure per inviare il log di controllo di Microsoft Entra all'area di lavoro di Monitoraggio di Azure.

    Diagnostics settings pane

  5. Dopo l'invio del log a Monitoraggio di Azure, selezionare Aree di lavoro Log Analytics e selezionare l'area di lavoro che contiene i log di controllo di Microsoft Entra.

  6. Selezionare Utilizzo e costi stimati e selezionare Conservazione dati. Modificare il dispositivo di scorrimento in base al numero di giorni per cui si vuole mantenere i dati per soddisfare i requisiti di controllo.

    Log Analytics workspaces pane

  7. In seguito, per visualizzare l'intervallo di date contenute nell'area di lavoro, è possibile usare la cartella di lavoro Intervallo di date dei log archiviati:

    1. Passare a Identity Monitoring &health Workbooks (Cartelle di lavoro di monitoraggio delle identità>e integrità).>

    2. Espandere la sezione Risoluzione dei problemi di Microsoft Entra e selezionare Intervallo di date log archiviato.

Visualizzare gli eventi per un pacchetto di accesso

Per visualizzare gli eventi per un pacchetto di accesso, è necessario disporre dell'accesso all'area di lavoro Monitoraggio di Azure sottostante (vedere Gestire l'accesso ai dati di log e alle aree di lavoro in Monitoraggio di Azure per informazioni) e in uno dei ruoli seguenti:

  • Amministratore globale
  • Amministratore della sicurezza
  • Ruolo con autorizzazioni di lettura per la sicurezza
  • Amministratore che legge i report
  • Amministratore dell'applicazione

Usare la procedura seguente per visualizzare gli eventi:

  1. Nell'interfaccia di amministrazione di Microsoft Entra selezionare Identità e quindi cartelle di lavoro. Se è disponibile solo una sottoscrizione, passare al passaggio 3.

  2. Se sono disponibili più sottoscrizioni, selezionare la sottoscrizione che contiene l'area di lavoro.

  3. Selezionare la cartella di lavoro denominata Attività del pacchetto di accesso.

  4. In tale cartella di lavoro selezionare un intervallo di tempo (passare a Tutto , se non è sicuro) e selezionare un ID pacchetto di accesso dall'elenco a discesa di tutti i pacchetti di accesso che avevano attività durante tale intervallo di tempo. Verranno visualizzati gli eventi correlati al pacchetto di accesso che si sono verificati durante l'intervallo di tempo selezionato.

    View access package events

    Ogni riga include l'ora, l'ID del pacchetto di accesso, il nome dell'operazione, l'ID oggetto, l'UPN e il nome visualizzato dell'utente che ha avviato l'operazione. In JSON sono inclusi dettagli aggiuntivi.

  5. Se si desidera verificare se sono state apportate modifiche alle assegnazioni di ruolo dell'applicazione per un'applicazione che non erano dovute alle assegnazioni di pacchetti di accesso, ad esempio da un amministratore globale che assegna direttamente un utente a un ruolo applicazione, è possibile selezionare la cartella di lavoro denominata Attività di assegnazione del ruolo applicazione.

    View app role assignments

Creare query personalizzate di Monitoraggio di Azure usando l'interfaccia di amministrazione di Microsoft Entra

È possibile creare query personalizzate sugli eventi di controllo di Microsoft Entra, inclusi gli eventi di gestione entitlement.

  1. In Identità dell'interfaccia di amministrazione di Microsoft Entra selezionare Log nella sezione Monitoraggio nel menu di spostamento a sinistra per creare una nuova pagina di query.

  2. L'area di lavoro deve essere visualizzata in alto a sinistra della pagina query. Se sono presenti più aree di lavoro di Monitoraggio di Azure e l'area di lavoro in uso per archiviare gli eventi di controllo di Microsoft Entra non viene visualizzata, selezionare Seleziona ambito. Selezionare quindi la sottoscrizione e l'area di lavoro corrette.

  3. Successivamente, nell'area di testo della query, eliminare la stringa "Cerca*" e sostituirla con la query seguente:

    AuditLogs | where Category == "EntitlementManagement"
    
  4. Quindi seleziona Esegui.

    Click Run to start query

La tabella mostra gli eventi del log di controllo per la gestione entitlement dell'ultima ora per impostazione predefinita. È possibile modificare l'impostazione "Intervallo di tempo" per visualizzare gli eventi meno recenti. Tuttavia, la modifica di questa impostazione mostrerà solo gli eventi che si sono verificati dopo la configurazione di Microsoft Entra ID per l'invio di eventi a Monitoraggio di Azure.

Per informazioni sugli eventi di controllo meno recenti e più recenti contenuti in Monitoraggio di Azure, usare la query seguente:

AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type

Per altre informazioni sulle colonne archiviate per gli eventi di controllo in Monitoraggio di Azure, vedere Interpretare lo schema dei log di controllo di Microsoft Entra in Monitoraggio di Azure.

Creare query di Monitoraggio di Azure personalizzate usando Azure PowerShell

È possibile accedere ai log tramite PowerShell dopo aver configurato Microsoft Entra ID per inviare i log a Monitoraggio di Azure. Inviare quindi query da script o dalla riga di comando di PowerShell, senza dover essere un Amministrazione istrator globale nel tenant.

Verificare che l'assegnazione di ruolo dell'utente o dell'entità servizio sia corretta

Assicurarsi che l'utente o l'entità servizio che eseguirà l'autenticazione all'ID Microsoft Entra siano nel ruolo di Azure appropriato nell'area di lavoro Log Analytics. Le opzioni dei ruoli sono Lettore di Log Analytics o Collaboratore di Log Analytics. Se si ha già uno di questi ruoli, passare a Recuperare l'ID di Log Analytics con una sottoscrizione di Azure.

Per impostare l'assegnazione di ruolo e creare una query, eseguire i passaggi seguenti:

  1. Nell'interfaccia di amministrazione di Microsoft Entra individuare l'area di lavoro Log Analytics.

  2. Seleziona Controllo di accesso (IAM).

  3. Selezionare quindi Aggiungi per aggiungere un'assegnazione di ruolo.

    Add a role assignment

Installare un modulo Azure PowerShell

Una volta eseguita l'assegnazione di ruolo appropriata, avviare PowerShell e installare il modulo di Azure PowerShell (se non è già stato fatto), digitando:

install-module -Name az -allowClobber -Scope CurrentUser

A questo momento è possibile eseguire l'autenticazione in Microsoft Entra ID e recuperare l'ID dell'area di lavoro Log Analytics su cui si sta eseguendo una query.

Recuperare l'ID di Log Analytics con una sottoscrizione di Azure

Se si dispone di una sola sottoscrizione di Azure e di una singola area di lavoro Log Analytics, digitare quanto segue per eseguire l'autenticazione a Microsoft Entra ID, connettersi a tale sottoscrizione e recuperare l'area di lavoro:

Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace

Recuperare l'ID di Log Analytics con più sottoscrizioni di Azure

Get-AzOperationalInsightsWorkspace funziona in una sottoscrizione alla volta. Pertanto, se si hanno più sottoscrizioni di Azure, si vuole assicurarsi di connettersi a quello con l'area di lavoro Log Analytics con i log di Microsoft Entra.

I cmdlet seguenti visualizzano un elenco di sottoscrizioni e individuano l'ID della sottoscrizione contenente l'area di lavoro Log Analytics:

Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft

È possibile eseguire nuovamente l'autenticazione e associare la sessione di PowerShell a tale sottoscrizione usando un comando come Connect-AzAccount –Subscription $subs[0].id. Per altre informazioni su come eseguire l'autenticazione in Azure da PowerShell, anche in modo non interattivo, vedere Accedere con Azure PowerShell.

Se nella sottoscrizione sono presenti più aree di lavoro Log Analytics, il cmdlet Get-AzOperationalInsightsWorkspace restituisce l'elenco delle aree di lavoro. È quindi possibile trovare quello con i log di Microsoft Entra. Il CustomerId campo restituito da questo cmdlet corrisponde al valore di "ID area di lavoro" visualizzato nell'interfaccia di amministrazione di Microsoft Entra nella panoramica dell'area di lavoro Log Analytics.

$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name

Inviare la query all'area di lavoro Log Analytics

Infine, dopo aver identificato un'area di lavoro, è possibile usare Invoke-AzOperationalInsightsQuery per inviare una query Kusto a tale area di lavoro. Queste query sono scritte nel linguaggio di query Kusto.

Ad esempio, è possibile recuperare l'intervallo di date dei record degli eventi di controllo dall'area di lavoro Log Analytics, con i cmdlet di PowerShell per inviare una query come la seguente:

$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft

È anche possibile recuperare gli eventi di gestione entitlement usando una query come la seguente:

$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft 

Uso dei filtri di query

È possibile includere il campo per definire l'ambito TimeGenerated di una query in un intervallo di tempo specifico. Ad esempio, per recuperare gli eventi del log di controllo per i criteri di assegnazione dei pacchetti di accesso alla gestione entitlement creati o aggiornati negli ultimi 90 giorni, è possibile fornire una query che include questo campo, nonché la categoria e il tipo di operazione.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources

Per gli eventi di controllo di alcuni servizi, ad esempio la gestione entitlement, è anche possibile espandere e filtrare le proprietà interessate delle risorse da modificare. Ad esempio, è possibile visualizzare solo i record del log di controllo per i criteri di assegnazione dei pacchetti di accesso creati o aggiornati, che non richiedono l'approvazione per gli utenti per l'aggiunta di un'assegnazione.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
mv-expand TargetResources | 
where TargetResources.type == "AccessPackageAssignmentPolicy" | 
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties | 
mv-expand MP1 | 
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc 

Passaggi successivi