Come Esportare i Log di Audit di Google Workspace

Come Esportare i Log di Audit di Google Workspace

SOC Prime Team
SOC Prime Team linkedin icon Segui

Nella console di amministrazione di Google, Report → Audit e indagine contiene i registri (Login, Amministratore, Drive, OAuth e altro), e ciascuno può essere esportato da lì. Per JSON, utilizza l’API Admin SDK Reports, metodo activities.list. Per un’operazione una tantum, non hai nemmeno bisogno di codice: la pagina di riferimento dell’API ha un pannello “Prova questo metodo” che esegue la chiamata come se fossi tu. La maggior parte dei dati di audit di Workspace viene conservata per sei mesi.

I registri di audit di Workspace mostrano chi si è connesso da dove, quali applicazioni di terzi hanno avuto accesso a mail e file, e quali documenti sono stati improvvisamente condivisi con il mondo esterno. Prime Core ha {N} regole di rilevamento per i dati di Google Workspace, mappate su {M} tecniche MITRE ATT&CK. Tra queste: abuso di account cloud (T1078.004), concessioni OAuth malevole (T1528) e inoltro di mail a indirizzi esterni (T1114.003).

Inizia gratis

Prima di iniziare

Permessi. Un super admin, o un ruolo di amministratore con il privilegio Reports.

Scegli il registro giusto. Nell’API, ogni registro è un applicationName: login, admin, drive, token (concessioni OAuth), user_accounts, saml, gruppi e altri. I registri dei messaggi Gmail non fanno parte di questa API. Per quelli, utilizza la ricerca nei registri email nella console di amministrazione, o l’esportazione BigQuery se la tua edizione lo prevede.

Conservazione e ritardo. La maggior parte dei registri di audit va indietro di circa sei mesi. I nuovi eventi possono impiegare da minuti a ore per essere visualizzati, a seconda del registro.

Un breve script Python

Per esportazioni ripetibili, un account di servizio con delega per tutto il dominio impersona un amministratore. Necessita di google-api-python-client e google-auth:

import json

from google.oauth2 import service_account

from googleapiclient.discovery import build


creds = service_account.Credentials.from_service_account_file(

    "sa.json",

    scopes=["https://www.googleapis.com/auth/admin.reports.audit.readonly"],

    subject="admin@example.com",

)

svc = build("admin", "reports_v1", credentials=creds)


with open("workspace_login_1019.jsonl", "w") as out:

    req = svc.activities().list(

        userKey="all", applicationName="login",

        startTime="2026-10-19T00:00:00Z", endTime="2026-10-20T00:00:00Z",

        maxResults=1000,

    )

    while req is not None:

        resp = req.execute()

        for item in resp.get("items", []):

            out.write(json.dumps(item) + "n")

        req = svc.activities().list_next(req, resp)

La delega a livello di dominio è potente. Concedi solo questo scope di sola lettura, mantieni il file chiave fuori dai drive condivisi e rimuovi la delega quando hai finito. Esegui lo script una volta per ogni applicationName di cui hai bisogno.

Cosa cercare

Registro ed eventoPerché è importante
login: raffiche di login_failure, qualsiasi suspicious_loginIndovinare le password, o Google stesso che segnala un accesso
token: authorizzazioneUn’applicazione di terze parti ha ricevuto concessioni; verifica cosa può leggere
admin: assegnazioni di ruoli, creazione di utenti, modifiche alle politiche della Verifica in due passaggiModifiche ai privilegi e impostazioni di sicurezza indebolite
drive: modifiche di accesso o visibilità verso l’esterno o “chiunque abbia il link”Dati aperti verso l’esterno
user_accounts: 2SV disabilitata, password cambiataRipulitura dopo presa di controllo dell’account, o preparazione

Carica, disinfetta e revisa su LogTotal

  1. Carica. Apri logtotal.com e inserisci il file .jsonl.
  2. Disinfetta. 
  3. Revisa. 

Quando qualcosa va storto

SintomoProbabile causaFix
403 o permessi insufficientiL’amministratore non ha il privilegio Reports, oppure lo scope delegato non è autorizzatoVerifica il ruolo di amministratore; verifica la voce di delega a livello di dominio
Risultati vuotiNome applicationName errato, eventi troppo recenti, o oltre il periodo di conservazioneControlla il nome; attendi; controlla le date
Si ferma a 1.000 eventiIl paging non è seguitoUsa pageToken o list_next
Nessun evento di messaggi GmailNon fa parte dell’API ReportsUsa la ricerca nei registri email o BigQuery

FAQ

Posso ottenere questi registri attraverso Google Cloud invece?

Se la tua organizzazione condivide i dati di Workspace con Google Cloud, i registri di audit appaiono in Cloud Logging a livello di organizzazione, e la nostra guida sui registri di audit di Google Cloud si applica.

L’alert center non è sufficiente?

L’alert center mostra ciò che Google ha deciso di segnalare. I registri di audit mostrano tutto, incluso ciò che non è stato segnalato.

Unisciti alla piattaforma Detection as Code di SOC Prime per migliorare la visibilità sulle minacce più rilevanti per il tuo business. Per aiutarti a iniziare e aumentare immediatamente il valore, prenota ora un incontro con gli esperti di SOC Prime.