Punti chiave
- Questa guida ti mostra come usare le API Microsoft Graph per estrarre i dati di conformità di Microsoft 365 da più tenant tramite un unico endpoint.
- Ogni tenant Azure AD richiede una propria registrazione dell’app con le autorizzazioni Reports.Read.All, AuditLog.Read.All, SecurityEvents.Read.All e Directory.Read.All, oltre al consenso dell’amministratore, prima che le chiamate alle API Graph funzionino.
- L’SDK PowerShell di Microsoft Graph esegue l’autenticazione con l’ID client, l’ID tenant e il secret di un’app registrata, quindi invia le richieste alle API Graph per recuperare i log di accesso, gli avvisi di sicurezza e le etichette di conservazione.
- Salvare le credenziali dei tenant in un file JSON e scorrerle in ciclo permette ai team IT di estrarre ed esportare i dati di conformità da ogni tenant gestito a cadenza periodica, invece di accedere manualmente.
- I secret client scaduti e i limiti di frequenza di Microsoft Graph sono i punti di errore più comuni: avvisi proattivi sulla rotazione dei secret e logica di retry contano quanto la configurazione iniziale.
- Le piattaforme di automazione che supportano gli script PowerShell sugli endpoint gestiti aiutano a pianificare queste estrazioni tramite API Graph e ad aggiungere il contesto a livello di dispositivo.
Gli strumenti di sicurezza e conformità delle API Microsoft Graph sono indispensabili in qualsiasi ambiente enterprise. Offrono un endpoint unificato da cui accedere a tutti i log di controllo, i report DLP, gli incidenti e le policy di conservazione degli account Microsoft 365 della tua organizzazione.
L’uso di questo strumento porta diversi vantaggi chiave: mantiene la visibilità sulla conformità tra più tenant, automatizza i report senza dipendere dall’accesso al portale, offre un metodo di autenticazione sicuro basato su app e permette integrazioni semplici con SIEM e dashboard personalizzate.
Guida all’accesso ai report di conformità con Microsoft Graph
Prima di iniziare devi configurare l’applicazione nel portale Azure AD e assicurarti che disponga delle autorizzazioni necessarie. Poi puoi collegare il tuo account a Microsoft Graph tramite Windows PowerShell e generare i report in modo automatico. Hai anche la possibilità di automatizzare il processo con un file .JSON.
I GPO possono essere utilizzati per rafforzare le tue procedure di sicurezza. Puoi usare il Registro di sistema di Windows per garantire che tutte le policy vengano applicate in modo coerente su tutti i dispositivi gestiti. E se si verifica un errore, puoi usare CMD per la risoluzione dei problemi.
Prerequisiti:
- Registrazione di un’app Azure AD per ogni tenant (oppure usa Microsoft Lighthouse, necessario per l’accesso delegato)
- Serve il consenso dell’amministratore per gli ambiti API richiesti.
- Per i report avanzati è necessario il componente aggiuntivo Microsoft 365 E5 Compliance.
- Devi disporre di Windows PowerShell con l’SDK Microsoft Graph installato.
- Facoltativo/preferibile: accesso a Intune, ai GPO e al Registro di sistema di Windows per la convalida delle policy sugli endpoint
Nel video viene mostrato Come usare le API Microsoft Graph per estrarre report di conformità da più tenant — un riferimento utile prima di muoverti tra le impostazioni e configurarle.
Passaggio 1: registra un’app in Azure per l’accesso a Graph
- Apri il portale Azure AD nel browser.
- Vai su App Registrations > New Registration.
- Assegna un nome all’app che vuoi registrare.
- Imposta il tipo di account su Accounts in this organizational directory only (Contoso only – Single tenant).
- Al termine, modifica le autorizzazioni dell’applicazione facendo clic su Add a permission. Verrai portato a Microsoft Graph.
- Concedi le autorizzazioni seguenti:
- Reports.Read.All
- AuditLog.Read.All
- SecurityEvents.Read.All
- Directory.Read.All
- Fai clic su Add Permissions.
- Fai clic sul pulsante Grant admin consent. Da questo momento l’applicazione può leggere tutti i profili utente a cui le hai dato accesso.
- Vai su Certificates & secrets.
- Seleziona Client Secrets > New Client secret.
- Compila le informazioni richieste e segui le istruzioni a schermo. Questo valore farà da password per l’applicazione.
- Annota l’ID applicazione (client), l’ID directory (tenant) e il valore del secret. Ti serviranno per accedere nuovamente all’applicazione in futuro.
Ripeti o automatizza questo processo per ogni tenant che lo richiede.
Passaggio 2: connettiti a Microsoft Graph da PowerShell
- Apri il menu Start e cerca Windows PowerShell.
- Fai clic con il tasto destro su Windows PowerShell > Esegui come amministratore.
- Per installare Microsoft Graph, digita il comando seguente e premi Invio:
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph
- Per connetterti con le credenziali della tua app, digita il comando seguente e premi Invio:
Connect-MgGraph -ClientId "APP_ID" -TenantId "TENANT_ID" -ClientSecret (ConvertTo-SecureString "SECRET" -AsPlainText -Force)
Sostituisci “APP_ID” con l’ID client, “TENANT_ID” con l’ID tenant e “SECRET” con il valore del secret che hai generato.
- Per selezionare l’ambito, digita
Select-MgProfile -Name "beta"e premi Invio.
Ora sei connesso a Microsoft Graph.
Passaggio 3: estrai i report di conformità con le API Microsoft Graph
Una volta effettuato l’accesso a Microsoft Graph da Windows PowerShell, segui questi passaggi:
- Per recuperare i log di controllo, digita questo comando e premi Invio:
$logs = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/auditLogs/signIns"
- Per elencare gli avvisi DLP, digita questo comando e premi Invio:
$alerts = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/security/alerts"
- Per elencare le policy di conservazione, digita questo comando e premi Invio:
$policies = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/security/retentionLabels"
- Per esportare i dati in un file .CSV, digita questo comando e premi Invio:
$logs.value | Export-Csv -Path ".\Tenant_AuditLogs.csv" -NoTypeInformation
Ripeti questo processo per ogni tenant, accedendo con le relative credenziali.
Facoltativo: automatizza il reporting tra più tenant
Gli amministratori IT possono salvare tutte le credenziali dei tenant in un file JSON. Possono eseguire questo file per scorrere in ciclo ogni tenant ogni volta che serve, connettersi a ciascuno di essi e consolidare i dati. Possono inoltre eseguirlo automaticamente a cadenza regolare con l’Utilità di pianificazione, tramite il loro strumento di gestione degli endpoint.
Ecco un esempio di struttura del ciclo sui tenant:
foreach ($tenant in $tenantList) {
Connect-MgGraph -ClientId $tenant.ClientId -TenantId $tenant.TenantId -ClientSecret $tenant.Secret
$auditData = Invoke-MgGraphRequest -Uri "https://graph.microsoft.com/beta/auditLogs/signIns"
$auditData.value | Export-Csv -Path ".\$($tenant.Name)_Audit.csv" -Append
}
Facoltativo: usa il Registro di sistema per arricchire il contesto dei report sugli endpoint
Situazione d’uso: le chiavi di registro possono essere usate per garantire che i tag dei dispositivi e le etichette di reporting vengano applicati in modo coerente su tutti i dispositivi. Per farlo, segui questi passaggi:
- Apri il menu Start e cerca Editor del Registro di sistema per aprire il programma.
- Individua la chiave di registro corrispondente all’applicazione che vuoi verificare. Come riferimento, ecco un percorso di registro di esempio e i relativi valori:
HKEY_LOCAL_MACHINE\SOFTWARE\Contoso\Compliance
-
- TenantTag (String) – Il valore deve essere “ClientA”.
- LastAuditSync (String) – Il valore deve essere “[Data dell’ultima sincronizzazione di controllo]”.
Nota: puoi usare degli script per leggere questi tag e includere i metadati degli endpoint nei report generati da Graph.
Facoltativo: usa i Criteri di gruppo per lo stato di conformità degli endpoint
Situazione d’uso: i criteri di gruppo possono essere usati per supportare l’applicazione delle regole e garantire la conformità degli endpoint, in particolare per il punteggio di conformità e il reporting sulla sensibilità dei dati.
- Apri il menu Start e cerca Modifica criteri di gruppo per aprire il programma.
- Vai in questo percorso: Configurazione del computer > Modelli amministrativi > Componenti di Windows > Raccolta dati.
- Abilita le policy seguenti:
- Consenti dati di telemetria – Dovresti impostarla anche su Avanzata o Completa.
- Configura ID commerciale per il raggruppamento dei dispositivi
Facoltativo: usa CMD per verificare autorizzazioni e connettività
Situazione d’uso: è utile negli ambienti on-premise o ibridi in cui gli endpoint devono essere allineati ai requisiti di conformità.
- Apri il menu Start e cerca Prompt dei comandi.
- Fai clic con il tasto destro su Prompt dei comandi > Esegui come amministratore.
- Per verificare l’accesso a Internet e all’endpoint Graph, digita questo comando e premi Invio:
nslookup graph.microsoft.com
ping graph.microsoft.com
Per verificare lo stato di sincronizzazione dell’agente locale, digita questo comando e premi Invio:
dsregcmd /status
Per assicurarti che i criteri GPO siano stati applicati, digita questo comando e premi Invio:
gpresult /h gpo.html
Guida rapida
NinjaOne ti aiuta a usare le API Microsoft Graph per estrarre report di conformità da più tenant. La piattaforma NinjaOne è pensata per semplificare il lavoro con gli ecosistemi Microsoft 365, inclusi scenari complessi come il reporting di conformità multi-tenant, e offre funzionalità specifiche per gestire e automatizzare questi processi.
- Reporting di conformità: estrai report di sicurezza e conformità da tutti gli account gestiti.
- Automazione: automatizza la generazione dei report e i processi di raccolta dei dati.
- Integrazione: si collega senza difficoltà a Microsoft Graph per accedere ai dati in tempo reale.
- Scalabilità: progettata per gestire il monitoraggio della conformità su larga scala in tutta l’organizzazione.
Aspetti a cui prestare attenzione
| Problema/rischio | Possibili conseguenze | Soluzione/ripristino |
| Compare un errore “Access Denied”. | Non riesci ad accedere ai dati che ti servono. | Verifica che il consenso dell’amministratore e gli ambiti API richiesti siano stati assegnati correttamente. |
| Ricevi una risposta vuota. | Non ottieni i dati che ti servono. | Assicurati che il tenant disponga delle licenze appropriate e che la registrazione dei log sia attiva. |
| Il secret client è scaduto. | Non potrai accedere ai dati in Microsoft Graph. | Imposta un avviso nel tuo strumento di gestione degli endpoint che ti segnali quando i secret stanno per scadere, così da evitare il problema. |
| Si verifica un errore nello script. | Non riuscirai a estrarre i report. | Usa blocchi Try/Catch e il logging dettagliato per individuare l’origine dell’errore. |
Altri aspetti da considerare quando usi Microsoft Graph per estrarre i report di conformità
- Tieni conto dei limiti di frequenza e del throttling di Microsoft Graph. In alcuni scenari potresti dover ripetere determinate operazioni, soprattutto se stai estraendo grandi quantità di dati.
- Puoi ridurre la complessità usando Azure Lighthouse o i modelli di accesso tra tenant.
- Usa Azure Key Vault o una soluzione di archiviazione crittografata per conservare i tuoi secret client.
- Assicurati che solo il personale autorizzato possa accedere ai report che contengono dati relativi a singoli utenti.
I servizi NinjaOne
NinjaOne potenzia l’automazione della conformità basata su Graph grazie a:
- Esecuzione tra più tenant: puoi pianificare e distribuire script PowerShell di reporting su tutti i tenant gestiti con lo strumento PowerShell remoto di NinjaOne.
- Gestione centralizzata delle credenziali: conserva in modo sicuro le credenziali delle API Graph e richiamale per ogni tenant in una soluzione di archiviazione sicura e crittografata.
- Avvisi e dashboard di conformità: integra i risultati dei report in dashboard personalizzate e ricevi notifiche al superamento delle soglie di rischio.
- Contesto a livello di endpoint: estrai i dati del registro e dei GPO specifici di ogni dispositivo per arricchire i report di conformità con lo strumento di gestione degli endpoint di NinjaOne.
- Gestione dei ticket automatizzata: imposta avvisi quando vengono rilevate determinate condizioni di conformità (ad esempio inattività dei controlli o policy di conservazione mancanti).
Sfrutta Microsoft Graph per i tuoi report di conformità
Microsoft Graph è uno strumento potente per automatizzare il reporting di conformità in un ambiente enterprise. Offre agli amministratori IT una visibilità scalabile su attività dei tenant, protezione dei dati e postura di governance.
Argomenti correlati:
- Che cos’è un audit di conformità? Definizione e importanza
- Che cos’è la gestione della conformità? Definizione e importanza
- Che cos’è la gestione dei segreti? Best practice per la sicurezza IT
- Che cos’è la gestione delle API? Panoramica e best practice
- Come pianificare controlli tramite API Graph per licenze scadute e utenti inattivi
- [Video Guide] Come pianificare controlli tramite API Graph per licenze scadute e utenti inattivi