Come Esportare i Log di Audit di Google Cloud

Come Esportare i Log di Audit di Google Cloud

SOC Prime Team
SOC Prime Team linkedin icon Segui

Usa gcloud logging read con un filtro su cloudaudit.googleapis.com, o esegui la stessa query in Logs Explorer e scarica i risultati come JSON:

gcloud logging read 'logName:"cloudaudit.googleapis.com" AND timestamp>="2026-10-19T00:00:00Z" AND timestamp<"2026-10-20T00:00:00Z"' 

  --project=my-project --format=json > gcp_audit_1019.json

I log di controllo delle attività amministrative sono sempre attivi e conservati per 400 giorni. I log di accesso ai dati sono disabilitati per impostazione predefinita, tranne che per BigQuery, e vengono conservati per 30 giorni una volta abilitati.

I Cloud Audit Logs registrano chi ha cambiato cosa nei tuoi progetti Google Cloud: concessioni IAM, nuove chiavi di account di servizio, modifiche ai firewall, VM avviate in regioni insolite. Prime Core ha 140 regole di rilevamento per i log di controllo di Google Cloud, mappati su 74 tecniche MITRE ATT&CK. Tra questi: abuso di account cloud (T1078.004), credenziali extra come nuove chiavi di account di servizio (T1098.001) e manomissione dei log stessi (T1562.008).

Inizia gratuitamente

Prima di iniziare

Sappi quale log di controllo ti serve.

TipoAttivo per impostazione predefinita?ConservazioneCosa contiene
Attività amministrativaSempre, non può essere disabilitato400 giorniModifiche alla configurazione e a IAM
Evento di sistemaSempre400 giorniAzioni intraprese dai sistemi Google sulle tue risorse
Accesso ai datiNo (eccetto BigQuery)30 giorniLetture di dati e metadati
Policy deniedYes30 giorniRichieste bloccate da politiche di sicurezza

Se la domanda è “chi ha letto questo bucket?” e i log di accesso ai dati non sono mai stati abilitati, la risposta non è in Cloud Logging.

Permessi. Logs Viewer (roles/logging.viewer) copre Attività Amministrativa, Evento di Sistema e Policy Denied. I log di accesso ai dati necessitano Private Logs Viewer (roles/logging.privateLogViewer).

Scopo. I log di controllo sono per progetto. L’attività a livello di organizzazione e cartella ha i suoi log. Fai query su questi con –organization=<ORG_ID> o –folder=<FOLDER_ID> invece di –project.

Opzione 1: Logs Explorer

Nel console, apri Logging → Logs Explorer, inserisci logName:”cloudaudit.googleapis.com”, imposta il intervallo di tempo, esegui la query e quindi scarica i risultati come JSON. Il download è limitato. Per intervalli più ampi, usa gcloud.

Opzione 2: gcloud logging read

Il comando in alto è la forma base. Tre dettagli risparmiano tempo.

Metti sempre l’intervallo di tempo nel filtro. Senza una condizione di timestamp, gcloud logging read si limita silenziosamente all’ultimo giorno (–freshness predefinito è 1d). Ciò sorprende quasi tutti una volta.

Alza il limite quando necessario. Aggiungi –limit=100000 (o qualunque si adatti) per finestre grandi.

Appiattisci per il caricamento. L’output è un array JSON. Trasformalo in una voce per linea:

jq -c '.[]' gcp_audit_1019.json > gcp_audit_1019.jsonl

Filtri utili più stretti:

# Solo Attività Amministrativa

logName="projects/my-project/logs/cloudaudit.googleapis.com/activity"


# nuove chiavi di account di servizio

protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey"


# tutto ciò che ha fatto una identità

protoPayload.authenticationInfo.principalEmail="sospetto-sa@my-project.iam.gserviceaccount.com"

Opzione 3: Storia completa dai sink

Se la tua organizzazione indirizza i log di controllo attraverso un sink a Cloud Storage o BigQuery, quella copia può andare oltre i bucket sopra. Ritira i file con gcloud storage cp, o interroga BigQuery e esporta il risultato come JSON.

Cosa cercare

Metodo o campoPerché è importante
CreateServiceAccountKeyCredenziali di lunga durata che un attaccante può portare via
SetIamPolicyConcessioni di ruolo; controlla per roles/owner, roles/editor e allUsers
UpdateSink, DeleteSink, nuove esclusioniQualcuno sta reindirizzando o silenziando i log
v1.compute.instances.insert in regioni insoliteL’impronta classica del cryptomining
Rapide con status.code: 7 (PERMISSION_DENIED)Credenziali rubate che esplorano cosa possono fare

Carica, igienizza e rivedi su LogTotal

  1. Carica. Apri logtotal.com e inserisci il file .jsonl.
  2. Igienizza. [what gets masked: principal emails, project IDs, IPs, resource names]. Look it over before you continue.
  3. Rivedi. 

Quando qualcosa va storto

SintomoProbabile causaFix
Solo le ultime 24 ore ritornanoNessun timestamp nel filtro, quindi –freshness=1d si applicaInserisci la finestra nel filtro
Nessuna voce di Accesso ai DatiI log di Accesso ai Dati non sono mai stati abilitatiPrevisto; abilitali per il futuro
PERMISSION_DENIED in lettura logManca Private Logs Viewer per Accesso ai DatiRichiedi roles/logging.privateLogViewer
I risultati si fermano in anticipoRaggiunto il limite predefinito o esplicitoAumenti –limit, o dividi la finestra
Cambiamenti a livello di Org mancantiHai interrogato un progettoUtilizza –organization

FAQ

Ci sono log di Google Workspace qui?

Solo se la tua organizzazione condivide i dati di Workspace con Google Cloud, e poi a livello di organizzazione.

E per quanto riguarda GKE?

GKE scrive i suoi log di audit Kubernetes nei Cloud Audit Logs anche

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.