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).
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 evento | Perché è importante |
|---|---|
| login: raffiche di login_failure, qualsiasi suspicious_login | Indovinare le password, o Google stesso che segnala un accesso |
| token: authorizzazione | Un’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 passaggi | Modifiche 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 cambiata | Ripulitura dopo presa di controllo dell’account, o preparazione |
Carica, disinfetta e revisa su LogTotal
- Carica. Apri logtotal.com e inserisci il file .jsonl.
- Disinfetta.
- Revisa.
Quando qualcosa va storto
| Sintomo | Probabile causa | Fix |
|---|---|---|
| 403 o permessi insufficienti | L’amministratore non ha il privilegio Reports, oppure lo scope delegato non è autorizzato | Verifica il ruolo di amministratore; verifica la voce di delega a livello di dominio |
| Risultati vuoti | Nome applicationName errato, eventi troppo recenti, o oltre il periodo di conservazione | Controlla il nome; attendi; controlla le date |
| Si ferma a 1.000 eventi | Il paging non è seguito | Usa pageToken o list_next |
| Nessun evento di messaggi Gmail | Non fa parte dell’API Reports | Usa 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.