Tenere traccia dei cambiamenti rapidi all’interno del tuo tenant Microsoft 365, come modifiche agli utenti, aggiornamenti di sicurezza o assegnazioni di ruoli, può sembrare impossibile senza una visibilità centralizzata.
Una soluzione consiste nell’usare Power Automate per i log di controllo, trasformandoli in un registro chiaro e utilizzabile per garantire responsabilità e sicurezza. In questa guida imparerai a costruirlo passo dopo passo con Power Automate e Microsoft Purview.
Ti servono più elementi visivi? Guarda il nostro video “Come creare un registro delle modifiche a livello di tenant con i log di controllo e Power Automate” per una spiegazione approfondita dell’argomento.
Procedure per creare un registro delle modifiche del tenant
Centralizzare il monitoraggio delle modifiche previene lacune di sicurezza e semplifica gli audit di conformità in tutto l’ambiente Microsoft 365.
📌 Situazione d’uso: un registro delle modifiche del tenant automatizzato ti aiuta a monitorare attività critiche come modifiche ai permessi, aggiornamenti delle policy ed eventi del ciclo di vita degli utenti, mantenendo una visibilità storica tra i reparti. Trasforma i log di controllo di Microsoft Purview sparsi in un’unica risorsa di sicurezza.
📌 Prerequisiti: prima di procedere, assicurati di avere Microsoft 365 E3/E5, l’accesso a Power Automate, un ruolo di amministratore nell’ambiente (ad esempio Amministratore globale, Amministratore della sicurezza o Amministratore della conformità), l’accesso al portale di conformità Microsoft Purview e i moduli PowerShell (nello specifico Microsoft Graph ed ExchangeOnlineManagement).
Ti consigliamo di consultare ⚠️Aspetti a cui prestare attenzione prima di procedere.
📌 Strategie di distribuzione:
Metodo 1: abilitare il controllo unificato
Attivare il controllo unificato garantisce che Microsoft 365 registri ogni modifica critica nel tuo tenant.
📌 Situazione d’uso: è la procedura ideale quando configuri per la prima volta il registro delle modifiche del tenant o quando vuoi verificare la copertura del controllo esistente..
Procedura passo dopo passo:
- Accedi al portale Purview.
- Vai al portale di conformità Microsoft Purview, quindi accedi con il tuo account amministratore.
- Vai su Audit.
- Nel menu a sinistra, seleziona Soluzioni > Audit.
- Se non lo trovi, fai prima clic su Visualizza tutte le soluzioni.
- Abilita la registrazione.
- Se il controllo è disattivato, vedrai un banner ben visibile; fai quindi clic su Avvia la registrazione delle attività di utenti e amministratori.
💡 Nota: se non compare alcun banner, il controllo è già abilitato.
- Verifica la copertura.
- Conferma che questi servizi siano inclusi:
- Exchange Online
- SharePoint/OneDrive
- Microsoft Teams
- Microsoft Entra ID
- Conferma che questi servizi siano inclusi:
- Attendi l’attivazione.
- Concedi al sistema 24 ore per la generazione completa dei log. I primi eventi compaiono entro un’ora.
Entro 24 ore Microsoft 365 inizierà a registrare eventi come creazioni di utenti, modifiche ai permessi e aggiornamenti delle policy. Questi log di controllo di Microsoft Purview diventano la fonte dati per il tuo flusso di lavoro in Power Automate.
Metodo 2: usare Power Automate per registrare le modifiche dagli eventi di controllo
Automatizza il monitoraggio a livello di tenant trasformando i dati di controllo grezzi in registrazioni utilizzabili.
📌 Situazione d’uso: scegli questo metodo quando ti serve una registrazione continua e personalizzata di modifiche specifiche, come gli aggiornamenti dei permessi o le modifiche alle cassette postali..
Procedura passo dopo passo:
- Crea una registrazione app in Azure AD.
- Vai su Azure Portal > Entra ID > Registrazioni app > Nuova registrazione.
- Concedi queste autorizzazioni API:
- AuditLog.Read.All (per Microsoft Graph)
- ActivityFeed.Read (Office 365 Management APIs)
- Crea un nuovo flusso.
- Vai su Power Automate, poi fai clic su Crea e scegli Flusso cloud pianificato.
- Assegnagli un nome (ad esempio Tenant Change Logger).
- Impostane l’esecuzione ogni ora (impostazione predefinita), quindi fai clic su Crea.
- Ottieni il token di sicurezza.
- Aggiungi una nuova azione:
- Fai clic su Cerca, quindi seleziona Azure AD > Get OAuth 2.0 Token.
- Compila i campi:
- Authority URL: https://login.microsoftonline.com
- Client ID: [dalla tua app Azure AD]
- Client Secret: [dalla tua app Azure AD]
- Resource: https://graph.microsoft.com
- Aggiungi una nuova azione:
- Aggiungi il recupero dei log di controllo.
- Fai clic su + Nuovo passaggio, poi cerca HTTP e seleziona HTTP-HTTP.
- Configura:
- Method: GET
- URI: incolla https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
- Intestazioni:
{"Authorization": "Bearer <PASTE_TOKEN_HERE>"
}
- Filtra gli eventi importanti.
- Fai clic su + Nuovo passaggio, poi cerca Filtra matrice.
- In Da, seleziona value dal passaggio HTTP.
- Incolla questo nella casella del filtro:
@or(
equals(item()?[‘activityDisplayName’], ‘Add member to role’),
equals(item()?[‘activityDisplayName’], ‘Delete user’)
)
- In questo modo vengono intercettate solo le modifiche a ruoli e permessi: personalizza qui l’elenco degli eventi da monitorare.
- Salva nel tuo registro.
- Aggiungi l’azione finale, quindi cerca SharePoint > Crea elemento.
- Seleziona il tuo sito/elenco.
- Mappa i campi:
- Timestamp: activityDateTime
- User: userPrincipalName
- Action: activityDisplayName
- Testa e attiva.
- Esegui il flusso manualmente con il pulsante Test.
- Verifica che gli eventi compaiano nella destinazione del registro.
Il tuo flusso popolerà automaticamente ogni ora il registro delle modifiche automatizzato con eventi come eliminazioni di utenti o aggiornamenti delle policy. Avrai così un archivio centralizzato e consultabile per gli audit o le indagini sugli incidenti.
Metodo 3: usare PowerShell per esportare e archiviare i log di controllo
PowerShell offre un controllo preciso per estrarre e archiviare le registrazioni delle modifiche più importanti.
📌 Situazione d’uso: usa questo metodo quando ti servono filtri avanzati, pianificazioni personalizzate o esportazioni CSV dirette per l’analisi storica.
Procedura passo dopo passo:
- Connettiti a Exchange Online.
- Apri Windows Terminal (come amministratore), quindi esegui:
Connect-ExchangeOnline -Device
# Authenticate with your admin account when prompted
- Cerca ed esporta i log.
- Esegui questo comando per acquisire gli eventi principali:
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-1) -EndDate (Get-Date) `-Operations “Add-MailboxPermission”, “Update-User”, “Add-MemberToRole” `-ResultSize 1000 | Export-Csv "C:\AuditLogs\Changes.csv" -NoTypeInformation
- Automatizza le esportazioni giornaliere.
- Salva lo script come Export-AuditLogs.ps1.
- Crea un processo nell’Utilità di pianificazione di Windows oppure usa la tua piattaforma RMM (ad esempio NinjaOne) per distribuire questo script ai dispositivi enterprise:
- Trigger: ogni giorno alle 2:00 (o nell’orario più adatto alla tua organizzazione).
- Azione: powershell.exe -File
"C:\Scripts\Export-AuditLogs.ps1"
L’attività pianificata genererà file CSV giornalieri (ad esempio Changes_08-15-2023.csv) contenenti registrazioni con data e ora delle azioni amministrative, pronte per l’analisi in Excel (usa Power Query per analizzare i campi JSON), per l’archiviazione a lungo termine (Azure Blob/condivisioni di rete) e per audit manuali o l’importazione in un SIEM.
Metodo 4: archiviare i log in una posizione centralizzata su SharePoint o Teams
Archivia lo storico delle modifiche dove i team possono accedervi e collaborare in sicurezza.
📌 Situazione d’uso: ideale per i team che necessitano di tracce di controllo condivise e consultabili con permessi personalizzabili.
Procedura passo dopo passo:
- Crea una posizione per i log su SharePoint.
- Vai su SharePoint Online > + Nuovo > Elenco.
- Nome: TenantChangeLog.
- Crea queste colonne:
| Nome colonna | Tipo |
| Timestamp | Data e ora |
| User | Persona |
| Operation | Riga singola |
| Workload | Scelta (opzioni: Exchange, Teams, Entra ID) |
| Item | Riga singola |
- Popola automaticamente l’elenco con Power Automate.
- Modifica il flusso di Power Automate esistente (dal Metodo 2):
- Sostituisci l’azione finale con: SharePoint > Crea elemento.
- Mappa i campi:
- Timestamp: activityDateTime
- User: userPrincipalName
- Operation: activityDisplayName
- Workload: service
- Item: targetResources
- Modifica il flusso di Power Automate esistente (dal Metodo 2):
- Imposta i permessi.
- In SharePoint:
- Vai su Impostazioni > Autorizzazioni per l’elenco.
- Concedi l’accesso in lettura ai revisori.
- Limita la modifica agli amministratori della sicurezza.
- In SharePoint:
Il registro delle modifiche automatizzato si aggiornerà ogni ora con i nuovi eventi. I membri del team potranno così cercare le modifiche storiche in SharePoint/Teams, impostare avvisi sulle operazioni critiche (ad esempio “Add member to role”) e creare dashboard in Power BI a partire dall’elenco.
Metodo 5: usare il Registro di sistema per etichettare gli eventi degli endpoint o allegare metadati dei dispositivi
Aggiungi il contesto degli endpoint alle tracce di controllo per risalire con precisione agli incidenti.
📌 Situazione d’uso: usa questo metodo quando devi ricondurre le azioni a dispositivi o reparti specifici durante le indagini di sicurezza.
Procedura passo dopo passo:
- Crea le chiavi di registro.
- Apri Esegui (Win + R), poi digita regedit per aprire l’Editor del Registro di sistema.
- Assicurati di avere privilegi amministrativi.
- Vai su HKEY_LOCAL_MACHINE\SOFTWARE\Org\TenantMetadata
- Se la chiave TenantMetadata non esiste, creala (fai clic con il pulsante destro > Nuovo > Chiave).
- Aggiungi due valori stringa (fai clic con il pulsante destro all’interno della chiave > Nuovo > Valore stringa).
- Assegna alla prima stringa il nome DeviceTag.
- Imposta il suo valore su NYC-Laptop-001.
- Assegna all’altra stringa il nome Department.
- Imposta il suo valore su Finance.
- Assegna alla prima stringa il nome DeviceTag.
- Apri Esegui (Win + R), poi digita regedit per aprire l’Editor del Registro di sistema.
- Automatizza la distribuzione delle etichette (Criteri di gruppo).
- Apri la Console Gestione Criteri di gruppo.
- Crea un nuovo GPO in Configurazione del computer > Preferenze > Registro di sistema:
- Inserisci quanto segue:
- Azione: Crea
- Hive: HKEY_LOCAL_MACHINE
- Percorso chiave: SOFTWARE\Org\TenantMetadata
- Valore: DeviceTag, quindi imposta Tipo su REG_SZ e Dati su “%COMPUTERNAME%”
- Inserisci quanto segue:
- Arricchisci i log di controllo:
- Con PowerShell, aggiungi lo script qui sotto all’esportazione:
$deviceTag = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\TenantMetadata").DeviceTag$dept = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\TenantMetadata").Department[PSCustomObject]@{ Timestamp = Get-Date User = $env:USERNAME Device = $deviceTag Department= $dept Event = “Local Admin Change” } | Export-Csv "C:\Logs\EndpointEvents.csv" -Append |
- Power Automate: aggiungi un’azione HTTP verso l’API di gestione dei dispositivi per recuperare le etichette durante l’elaborazione dei log.
Metodo 6: applicare i Criteri di gruppo per il controllo degli eventi sugli endpoint
Estendi la visibilità ai dispositivi on-premises per un monitoraggio ibrido completo.
📌 Situazione d’uso: ideale per le organizzazioni con dispositivi Windows 11 in ambienti Azure AD ibridi che devono monitorare le attività locali.
Procedura passo dopo passo:
- Apri Gestione Criteri di gruppo.
- Premi Win + R, poi digita gpmc.msc per aprire lo strumento.
- Vai su Foresta > Domini > [il tuo dominio].
- Crea un nuovo criterio.
- Fai clic con il pulsante destro su Oggetti Criteri di gruppo, quindi seleziona Nuovo.
- Chiamalo Endpoint-Audit-Policy.
- Configura le impostazioni di controllo.
- Vai su Configurazione del computer > Criteri > Impostazioni di Windows > Impostazioni sicurezza > Configurazione avanzata criteri di controllo > Criteri di controllo.
- Abilita quanto segue:
- Gestione account: Controlla gestione account utente (Operazioni riuscite)
- Gestione account: Controlla gestione gruppi di sicurezza (Operazioni riuscite)
- Accesso/Disconnessione: Controlla accesso (Operazioni riuscite, Operazioni non riuscite).
- Collega il criterio all’unità organizzativa.
- Fai clic con il pulsante destro sulla UO di destinazione (ad esempio Hybrid-Workstations).
- Seleziona Collega oggetto Criteri di gruppo esistente, quindi scegli Endpoint-Audit-Policy.
I dispositivi Windows 11 inizieranno a registrare gli eventi specificati nel registro degli eventi di sicurezza locale. Potrai così correlare gli eventi per abbinare gli accessi locali agli accessi in Entra ID, inoltrare i log con Azure Monitor per importarli in Sentinel/Purview e arricchire i log cloud aggiungendo il contesto dei dispositivi tramite le etichette di registro del Metodo 5.
Metodo 7: usare CMD e CLI per la convalida e la diagnostica dei log
La diagnostica da riga di comando consente di convalidare rapidamente la tua infrastruttura di logging.
📌 Situazione d’uso: ideale per risolvere problemi di eventi mancanti, testare la connettività o verificare il contenuto dei log durante le distribuzioni.
Procedura passo dopo passo:
- Verifica i criteri di controllo.
- Apri il Prompt dei comandi (come amministratore) cercandolo nella barra delle applicazioni.
- Esegui questo comando: auditpol /get /category:*
- Cerca le categorie Gestione account e Accesso per confermare che il GPO del Metodo 6 sia applicato.
- Controlla gli eventi di sicurezza locali.
- Esegui questo comando:
wevtutil qe Security “/q:*[System[(EventID=4720 or EventID=4625)]]” /f:text /c:5
- Testa la connettività cloud.
- Esegui questo comando:
nslookup graph.microsoft.com && ping manage.office.com
- Verifica la risoluzione DNS per il recupero dei log da Power Automate/PowerShell.
- Esamina i log esportati.
- Esegui questo comando:
type "C:\Logs\TenantChangeLog.csv" | findstr “Add member”
- In questo modo cerchi le modifiche ai permessi nelle esportazioni di PowerShell.
Dopo aver eseguito questi controlli diagnostici, confermerai che le modifiche a GPO e registro sono attive, individuerai eventi mancanti o blocchi di connettività e potrai modificare i flussi di Power Automate o gli script secondo necessità.
⚠️ Aspetti a cui prestare attenzione
Questa sezione evidenzia le possibili difficoltà da tenere a mente mentre segui la guida.
| Rischi | Possibili conseguenze | Come rimediare |
| 1. Modifiche errate al Registro di sistema | Il sistema operativo può diventare instabile e l’avvio può non riuscire. | Esegui un backup del registro (regedit > File > Esporta) oppure crea un punto di ripristino del sistema. Guarda Come eseguire il backup e il ripristino del Registro di sistema di Windows per maggiori dettagli. |
| 2. Controllo disattivato | Perdi modifiche critiche (eliminazioni di utenti, assegnazioni di ruoli) | Verifica tramite il banner del portale Purview o con PowerShell: Get-AdminAuditLogConfig | fl UnifiedAuditLogIngestionEnabled |
| 3. Token di Power Automate scaduto | Errori nel flusso; l’importazione dei log si interrompe | Implementa la rotazione con Azure Key Vault e un flusso di aggiornamento del token; imposta avvisi di scadenza |
| 4. Controllo GPO troppo ampio | Sovraccarico del registro degli eventi; eventi critici difficili da individuare | Testa prima i criteri in una UO di staging; usa filtri precisi (ad esempio solo EventID=4720) |
| 5. Superamento dei limiti di throttling delle API | Eventi mancanti; registrazioni delle modifiche incomplete | Aggiungi una logica di ripetizione per l’errore HTTP 429 in Power Automate; suddividi le richieste di grandi dimensioni (>5k record) |
| 6. App Azure AD con troppe autorizzazioni | Violazioni della sicurezza tramite credenziali compromesse | Applica il privilegio minimo: concedi solo AuditLog.Read.All e ActivityFeed.Read |
| 7. Ignorare le finestre di conservazione dei log | Perdita permanente dei dati (Purview: conservazione 90-180 giorni) | Implementa esportazioni CSV automatizzate verso Azure Blob Storage prima della scadenza della conservazione. |
Aspetti chiave da considerare quando crei un registro delle modifiche del tenant
Pianifica in modo strategico per garantire che la soluzione scali in sicurezza e con costi sostenibili.
Criteri di conservazione
I log di controllo di Microsoft 365 hanno finestre di conservazione rigide:
- Licenze E3: 90 giorni (impostazione predefinita)
- E5/Audit Premium: da 180 giorni a 10 anni (con componenti aggiuntivi)
Ricorda di automatizzare le esportazioni settimanali verso Azure Blob Storage o SharePoint per l’archiviazione a lungo termine.
Gestione dei costi
I flussi di Power Automate sono gratuiti fino a 5.000 azioni al mese, ma i connettori premium hanno un costo aggiuntivo, pari a 15 $ per utente al mese, secondo il listino prezzi Microsoft per Power Automate.
Microsoft Purview Audit Premium è incluso anche in Microsoft 365 E5 o nel componente aggiuntivo Microsoft 365 E5 Compliance, al prezzo di 12 $ per utente al mese, e offre una conservazione predefinita dei log di controllo di 1 anno con opzioni fino a 10 anni, secondo Microsoft Learn all’11 luglio 2025.
💡 Suggerimento: filtra subito gli eventi più rilevanti per ridurre il volume dei dati.
Limiti di esportazione
Il throttling delle API può arrivare a 2.000 richieste ogni 10 minuti per ciascun tenant. I limiti sui record, invece, sono di 5.000 voci per ogni chiamata PowerShell/API. Puoi usare la paginazione (@odata.nextLink) e ricerche suddivise in blocchi:
Search-UnifiedAuditLog -StartDate $start -EndDate $end -SessionCommand ReturnLargeSet
Delega multi-tenant (MSP)
Sfrutta Azure Lighthouse per centralizzare la raccolta dei log senza cambiare contesto: puoi integrare i tenant dei clienti tramite modelli ARM, usare un’unica dashboard per interrogare tutti i registri delle modifiche dei tenant e limitare l’accesso con i ruoli RBAC.
Come NinjaOne semplifica il controllo dei log
Unifica e automatizza il monitoraggio delle modifiche a livello di tenant, tra cloud ed endpoint.
- Distribuzione automatizzata degli script: pianifica script PowerShell sui dispositivi Windows 11 per centralizzare i log di controllo di Microsoft 365, Entra ID e dei sistemi locali nel repository di NinjaOne.
- Avvisi in tempo reale e gestione dei ticket: attiva notifiche e crea automaticamente ticket per gli eventi critici:
- Escalation di privilegi
- Accessi a cassette postali sensibili
- Eliminazioni di utenti
- Correlazione unificata dei log: combina i registri delle modifiche del tenant con gli eventi degli endpoint per rilevare anomalie come accessi amministrativi da nuovi dispositivi e modifiche alle policy fuori orario
- Dashboard di conformità multi-tenant: per gli MSP: visualizza tutti i registri delle modifiche automatizzati dei clienti in un’unica schermata, filtra per gravità o carico di lavoro e genera report pronti per gli audit.
Power Automate audit logs: raggiungi una conformità solida
Centralizzare il registro delle modifiche del tenant trasforma eventi sparsi in intelligence di sicurezza utilizzabile, garantendo di essere sempre pronti agli audit e di rilevare le minacce in tempo reale.
Ora applica queste tecniche per risalire immediatamente a violazioni come le escalation di privilegi, dimostrare la conformità durante gli audit senza corse dell’ultimo minuto e dormire sonni tranquilli sapendo che ogni modifica critica viene tracciata.
Argomenti correlati
- Guida completa: come leggere i log di Windows Update
- Come leggere i log di Windows Update: una guida
- Che cos’è un audit IT? Una guida pratica
- Automazioni avanzate con NinjaOne
Guida rapida
NinjaOne offre diverse funzionalità:
- Monitoraggio delle attività di sistema
- La piattaforma monitora varie attività di sistema su dispositivi e organizzazioni
- Tra le attività rientrano:
- Registrazioni e rimozioni di dispositivi
- Accessi e disconnessioni degli utenti
- Spostamenti di dispositivi tra organizzazioni
- Attività di patch management
- Esecuzioni di script di automazione
- Funzionalità di controllo pertinenti
- Il registro delle attività di patch management mostra:
- Quale azione è stata eseguita
- Chi l’ha eseguita
- Quando è avvenuta
- Policy e dispositivi interessati
- Il registro delle attività di patch management mostra:
- Potenziale di integrazione
- Pur non essendo documentata nello specifico per Power Automate, NinjaOne dispone di API che potrebbero essere sfruttate per estrarre i log di controllo
- Il sistema offre opzioni di esportazione delle attività (formato CSV)
Consiglio: per creare un registro delle modifiche completo a livello di tenant, con ogni probabilità dovrai:
- Usare le API di NinjaOne o le funzioni di esportazione delle attività
- Creare un flusso in Power Automate per:
- Estrarre periodicamente i registri delle attività
- Consolidare e formattare i dati
- Archiviarli in una posizione centralizzata (ad esempio SharePoint o un database)
