Best practice per Cloud Audit Logs

Questo documento consiglia una sequenza di attività di audit logging per aiutare la tua organizzazione a mantenere la sicurezza e ridurre al minimo i rischi.

Questo documento non è un elenco esaustivo delle raccomandazioni. L'obiettivo è aiutarti a comprendere l'ambito delle attività di audit logging e a pianificarne di conseguenza.

Ogni sezione fornisce azioni chiave e include link per ulteriori letture.

Informazioni su Cloud Audit Logs

Gli audit log sono disponibili per la maggior parte dei servizi Google Cloud. Cloud Audit Logs fornisce i seguenti tipi di audit log per ogni progetto, cartella e organizzazione di Google Cloud:

Tipo di audit log Configurabile Addebitabile
Audit log delle attività di amministrazione No, sempre scritto No
Audit log degli accessi ai dati
Audit log negati da criteri Sì, puoi escludere questi log dalla scrittura nei bucket di log
Audit log degli eventi di sistema No, sempre scritto No

Gli audit log di accesso ai dati, tranne quelli di BigQuery, sono disabilitati per impostazione predefinita. Se vuoi che gli audit log di accesso ai dati vengano scritti per i servizi Google Cloud, devi abilitarli esplicitamente. Per maggiori dettagli, consulta Configurare gli audit log di accesso ai dati in questa pagina.

Per informazioni sul panorama generale dell'audit logging con Google Cloud, consulta Panoramica degli audit log di Cloud.

Controllo dell'accesso ai log

Data la sensibilità dei dati di audit logging, è particolarmente importante configurare controlli di accesso appropriati per gli utenti della tua organizzazione.

A seconda dei requisiti di conformità e di utilizzo, imposta questi controlli dell'accesso come segue:

Impostazione delle autorizzazioni IAM

Le autorizzazioni e i ruoli IAM determinano la capacità degli utenti di accedere ai dati degli audit log nell'API Logging, in Esplora log e Google Cloud CLI. Utilizza IAM per concedere accesso granulare a bucket Google Cloud specifici e impedire accessi indesiderati ad altre risorse.

I ruoli basati sulle autorizzazioni che concedi agli utenti dipendono dalle loro funzioni relative al controllo all'interno dell'organizzazione. Ad esempio, potresti concedere al tuo CTO autorizzazioni amministrative ampie, mentre i membri del tuo team di sviluppatori potrebbero richiedere autorizzazioni per la visualizzazione dei log. Per indicazioni sui ruoli da concedere agli utenti della tua organizzazione, consulta la pagina sulla configurazione dei ruoli per l'audit logging.

Quando imposti le autorizzazioni IAM, applica il principio di sicurezza del privilegio minimo, in modo da concedere agli utenti solo l'accesso necessario alle tue risorse:

  • Rimuovi tutti gli utenti non essenziali.
  • Concedi agli utenti essenziali le autorizzazioni corrette e minime.

Per istruzioni sull'impostazione delle autorizzazioni IAM, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Configurazione delle visualizzazioni log

Tutti i log, inclusi gli audit log, ricevuti da Logging vengono scritti in container di archiviazione chiamati bucket di log. Le viste dei log consentono di controllare chi può accedere ai log all'interno dei bucket di log.

Poiché i bucket di log possono contenere log di più progetti Google Cloud, potresti dover controllare i progetti Google Cloud da cui diversi utenti possono visualizzare i log. Crea viste dei log personalizzate, in modo da avere un controllo dell'accesso più granulare per i bucket.

Per istruzioni sulla creazione e sulla gestione delle visualizzazioni dei log, consulta Configurare le visualizzazioni dei log in un bucket di log.

Imposta i controlli di accesso a livello di campo del log

I controlli dell'accesso a livello di campo consentono di nascondere singoli campi LogEntry agli utenti di un progetto Google Cloud, offrendo un modo più granulare per controllare i dati dei log a cui un utente può accedere. Rispetto alle viste dei log, che nascondono l'intero LogEntry, i controlli di accesso a livello di campo nascondono i singoli campi di LogEntry. Ad esempio, potresti voler oscurare le PII degli utenti esterni, ad esempio un indirizzo email contenuto nel payload della voce di log, per la maggior parte degli utenti della tua organizzazione.

Per istruzioni sulla configurazione dei controlli di accesso a livello di campo, consulta Configurare l'accesso a livello di campo.

Configurazione degli audit log di accesso ai dati

Quando abiliti nuovi servizi Google Cloud, valuta se abilitare o meno gli audit log di accesso ai dati.

Gli audit log di accesso ai dati consentono all'Assistenza Google di risolvere i problemi relativi al tuo account. Pertanto, consigliamo di abilitare gli audit log di accesso ai dati, se possibile.

Per abilitare tutti gli audit log per tutti i servizi, segui le istruzioni per aggiornare il criterio IAM (Identity and Access Management) con la configurazione indicata nel criterio di controllo.

Dopo aver definito il criterio di accesso ai dati a livello di organizzazione e aver attivato gli audit log per l'accesso ai dati, utilizza un progetto Google Cloud di prova per convalidare la configurazione della raccolta degli audit log prima di creare progetti Google Cloud per sviluppatori e produzione nell'organizzazione.

Per istruzioni sull'abilitazione degli audit log di accesso ai dati, consulta Abilita gli audit log di accesso ai dati.

Controlla le modalità di archiviazione dei log

Puoi configurare aspetti dei bucket della tua organizzazione e anche creare bucket definiti dall'utente per centralizzare o suddividere l'archiviazione dei log. A seconda dei requisiti di conformità e di utilizzo, potrebbe essere opportuno personalizzare l'archiviazione dei log come segue:

  • Scegli dove archiviare i log.
  • Definisci il periodo di conservazione dei dati.
  • Proteggi i tuoi log con le chiavi di crittografia gestite dal cliente (CMEK).

Scegli dove archiviare i log

Nei bucket Logging sono risorse a livello di regione, ovvero l'infrastruttura che archivia, indicizza e cerca i log si trova in una località geografica specifica.

La tua organizzazione potrebbe dover archiviare i dati dei log in regioni specifiche. I fattori principali nella selezione della regione in cui sono archiviati i log includono il rispetto dei requisiti di latenza, disponibilità o conformità della tua organizzazione.

Per applicare automaticamente una determinata regione di archiviazione ai nuovi bucket _Default e _Required creati nella tua organizzazione, puoi configurare una località delle risorse predefinita.

Per istruzioni sulla configurazione delle località delle risorse predefinite, vedi Configurare le impostazioni predefinite per le organizzazioni.

Definisci i periodi di conservazione dei dati

Cloud Logging conserva i log in base alle regole di conservazione che si applicano al tipo di bucket di log in cui si trovano.

Per soddisfare le tue esigenze di conformità, configura Cloud Logging in modo che conservi i log per un periodo compreso tra 1 giorno e 3650 giorni. Le regole di conservazione personalizzate si applicano a tutti i log in un bucket, indipendentemente dal tipo di log o dal fatto che il log sia stato copiato da un'altra posizione.

Per istruzioni sull'impostazione delle regole di conservazione per un bucket di log, consulta Configurare la conservazione personalizzata.

Proteggi i tuoi audit log con chiavi di crittografia gestite dal cliente

Per impostazione predefinita, Cloud Logging cripta i contenuti archiviati inattivi dei clienti. La tua organizzazione potrebbe avere requisiti di crittografia avanzati che non sono previsti dalla crittografia at-rest predefinita. Per soddisfare i requisiti della tua organizzazione, anziché lasciare che sia Google a gestire le chiavi di crittografia delle chiavi che proteggono i tuoi dati, configura le chiavi di crittografia gestite dal cliente (CMEK) per controllare e gestire la tua crittografia.

Per istruzioni su come configurare CMEK, vedi Configurare CMEK per l'archiviazione dei log.

Prezzi

Cloud Logging non addebita alcun costo per il routing dei log a una destinazione supportata, ma la destinazione potrebbe applicare dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita un costo per lo streaming dei log nei bucket di log e per l'archiviazione per un periodo più lungo rispetto al periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita alcun costo per la copia dei log o per le query emesse tramite la pagina Esplora log o Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti:

Durante la configurazione e l'utilizzo degli audit log, consigliamo le seguenti best practice relative ai prezzi:

  • Fai una stima delle fatture visualizzando i dati sull'utilizzo e configurando i criteri di avviso.

  • Tieni presente che gli audit log di accesso ai dati possono essere di grandi dimensioni e che potrebbero essere addebitati costi aggiuntivi per l'archiviazione.

  • Gestisci i costi escludendo i log di controllo che non sono utili. Ad esempio, potresti probabilmente escludere gli audit log di accesso ai dati nei progetti di sviluppo.

Query e visualizzazione degli audit log

Se devi risolvere i problemi, è necessaria la possibilità di esaminare rapidamente i log. Nella console Google Cloud, utilizza Esplora log per recuperare le voci degli audit log per la tua organizzazione:

  1. Nella console Google Cloud, vai alla pagina Esplora log:

    Vai a Esplora log

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Seleziona la tua organizzazione.

  3. Nel riquadro Query, procedi nel seguente modo:

    • In Tipo di risorsa, seleziona la risorsa Google Cloud di cui vuoi visualizzare gli audit log.

    • In Nome log, seleziona il tipo di audit log che vuoi visualizzare:

      • Per gli audit log per le attività di amministrazione, seleziona attività.
      • Per gli audit log di accesso ai dati, seleziona data_access.
      • Per gli audit log degli eventi di sistema, seleziona system_event.
      • Per gli audit log relativi ai criteri negati, seleziona policy.

      Se non vedi queste opzioni, significa che nell'organizzazione non sono disponibili audit log di questo tipo.

    • Nell'editor query, specifica ulteriormente le voci di audit log che vuoi visualizzare. Per esempi di query comuni, consulta Esempi di query con Esplora log.

  4. Fai clic su Esegui query.

Per ulteriori informazioni sull'esecuzione di query mediante Esplora log, consulta Creare query in Esplora log.

Monitora gli audit log

Puoi utilizzare Cloud Monitoring per ricevere una notifica quando si verificano le condizioni che descrivi. Per fornire a Cloud Monitoring i dati dei tuoi log, Logging consente di creare criteri di avviso basati su log, che ti inviano una notifica ogni volta che un evento specifico viene visualizzato in un log.

Configura criteri di avviso per distinguere gli eventi che richiedono un'indagine immediata da quelli a bassa priorità. Ad esempio, se vuoi sapere quando un audit log registra un determinato messaggio di accesso ai dati, puoi creare un criterio di avviso basato su log che corrisponda al messaggio e che ti invii una notifica quando viene visualizzato.

Per istruzioni sulla configurazione dei criteri di avviso basati su log, consulta Gestione dei criteri di avviso basati su log.

Esegui il routing dei log nelle destinazioni supportate

La tua organizzazione potrebbe dover affrontare requisiti per creare e conservare gli audit log. Con i sink puoi indirizzare alcuni o tutti i log alle seguenti destinazioni supportate:

Determina se hai bisogno di sink a livello di cartella o organizzazione e instrada i log di tutti i progetti Google Cloud all'interno dell'organizzazione o della cartella utilizzando sink aggregati. Ad esempio, potresti considerare i seguenti casi d'uso di routing:

  • Sink a livello di organizzazione: se la tua organizzazione utilizza un SIEM per gestire più audit log, potrebbe essere opportuno instradare tutti gli audit log dell'organizzazione. Di conseguenza, un sink a livello di organizzazione ha senso.

  • Sink a livello di cartella: a volte potresti voler eseguire il routing solo degli audit log di reparto. Ad esempio, se hai una cartella "Finanza" e una cartella "IT", potresti trovare utile eseguire il routing solo degli audit log appartenenti alla cartella "Finanza" o viceversa.

    Per ulteriori informazioni su cartelle e organizzazioni, consulta Gerarchia delle risorse.

Applica alla destinazione Google Cloud gli stessi criteri di accesso che utilizzi per il routing dei log applicati a Esplora log.

Per istruzioni sulla creazione e sulla gestione dei sink aggregati, consulta Facoltare e indirizzare i log a livello di organizzazione verso le destinazioni supportate.

Informazioni sul formato dei dati nelle destinazioni sink

Quando esegui il routing degli audit log su destinazioni esterne a Cloud Logging, devi capire il formato dei dati inviati.

Ad esempio, se il routing dei log a BigQuery viene eseguito, Cloud Logging applica regole per abbreviare i nomi dei campi dello schema BigQuery per gli audit log e per alcuni campi del payload strutturati.

Per comprendere e trovare le voci di log instradate da Cloud Logging alle destinazioni supportate, consulta Visualizzare i log nelle destinazioni sink.

Copia delle voci di log

A seconda delle esigenze di conformità della tua organizzazione, potrebbe essere necessario condividere le voci degli audit log con revisori esterni a Logging. Se devi condividere voci di log già archiviate nei bucket Cloud Logging, puoi copiarle manualmente nei bucket Cloud Storage.

Quando copi le voci di log in Cloud Storage, queste rimangono anche nel bucket di log da cui sono state copiate.

Tieni presente che le operazioni di copia non sostituiscono i sink, che inviano automaticamente tutte le voci di log in entrata a una destinazione di archiviazione supportata preselezionata, tra cui Cloud Storage.

Per istruzioni sul routing dei log a Cloud Storage in modo retroattivo, consulta Copiare voci di log.