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 di consigli. Il suo scopo è invece aiutarti a comprendere l'ambito delle attività di registrazione dei controlli e a pianificare di conseguenza.

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

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, account di fatturazione, cartella e organizzazione Google Cloud:

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

Gli audit log per l'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 la sezione Configurare gli audit log di accesso ai dati in questa pagina.

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

Controllo dell'accesso ai log

A causa della sensibilità dei dati degli audit log, è particolarmente importante configurare i controlli di accesso appropriati per gli utenti della tua organizzazione.

A seconda dei requisiti di conformità e utilizzo, imposta questi controlli di 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 nell'interfaccia a riga di comando Google Cloud. Utilizza IAM per concedere l'accesso granulare a determinati bucket Google Cloud e impedire l'accesso indesiderato ad altre risorse.

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

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 su come impostare le 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 contenitori di archiviazione chiamati bucket di log. Le visualizzazioni dei log ti consentono di controllare chi ha accesso ai log all'interno dei bucket di log.

Poiché i bucket di log possono contenere log di più progetti Google Cloud, potresti dover controllare da quali progetti Google Cloud i diversi utenti possono visualizzare i log. Crea visualizzazioni dei log personalizzate, che ti offrono un controllo dell'accesso più granulare per questi bucket.

Puoi eseguire query sulle visualizzazioni dei log con Esplora log o con Analisi dei log. Per ulteriori informazioni, consulta la Panoramica delle query e della visualizzazione dei log.

Per istruzioni su come creare e gestire le visualizzazioni log, consulta Configurare le visualizzazioni log in un bucket log.

Impostare i controlli di accesso a livello di campo dei log

I controlli dell'accesso a livello di campo ti consentono di nascondere singoli campi LogEntry agli utenti di un progetto Google Cloud, offrendoti un modo più granulare per controllare i dati dei log a cui un utente può accedere. Rispetto alle visualizzazioni dei log, che nascondono l'LogEntry, i controlli dell'accesso a livello di campo nascondono i singoli campi dell'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.

Se prevedi di utilizzare Log Analytics per analizzare i log di controllo, non configurare i controlli di accesso a livello di campo nel bucket di log che li memorizza. Non puoi utilizzare Analisi dei log nei bucket di log per i quali sono configurati i controlli di accesso a livello di campo.

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 attivi nuovi servizi Google Cloud, valuta se attivare o meno gli audit log di accesso ai dati.

Gli audit log degli accessi ai dati aiutano l'Assistenza Google a risolvere i problemi relativi al tuo account. Pertanto, ti consigliamo di attivare gli audit log di accesso ai dati, se possibile.

Per attivare tutti i log di controllo 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 di accesso ai dati, utilizza un progetto Google Cloud di test per convalidare la configurazione della raccolta di audit log prima di creare progetti Google Cloud di sviluppo e di produzione nell'organizzazione.

Per istruzioni su come attivare gli audit log di accesso ai dati, consulta Attivare gli audit log di accesso ai dati.

Controllare la modalità di archiviazione dei log

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

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

Scegli dove archiviare i log

I bucket di log sono risorse regionali: l'infrastruttura che archivia, indicizza e esegue ricerche nei log si trova in una località geografica specifica.

Alla tua organizzazione potrebbe essere richiesto di archiviare i dati dei log in regioni specifiche. I fattori principali per la selezione della regione in cui vengono archiviati i log includono la soddisfazione 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 posizione della risorsa predefinita.

Per istruzioni su come configurare le posizioni delle risorse predefinite, consulta Configurare le impostazioni predefinite per le organizzazioni.

Definire 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 di un bucket, indipendentemente dal tipo di log o dal fatto che il log sia stato copiato da un'altra posizione.

Per istruzioni su come impostare le regole di conservazione per un bucket di log, consulta Configurare la conservazione personalizzata.

Proteggere i log di controllo 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 avanzata non forniti dalla crittografia at-rest predefinita. Per soddisfare i requisiti della tua organizzazione, invece di 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 le istruzioni sulla configurazione di CMEK, consulta Configurare CMEK per lo spazio di archiviazione dei log.

Prezzi

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

Cloud Logging non addebita alcun costo per la copia dei log, per la definizione degli ambiti dei log o per le query inviate tramite le pagine Esplora log o Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti:

Durante la configurazione e l'utilizzo dei log di controllo, ti consigliamo di seguire le seguenti best practice relative ai prezzi:

  • Stima le tue 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 potresti dover pagare costi aggiuntivi per l'archiviazione.

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

Esegui query sui log di controllo e visualizzali

Se devi risolvere un problema, è necessario poter 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 utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Seleziona la tua organizzazione.

  3. Nel riquadro Query, segui questi passaggi:

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

    • In Nome log, seleziona il tipo di log di controllo da visualizzare:

      • Per gli audit log delle attività di amministrazione, seleziona activity.
      • 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 di accesso negato in base ai criteri, seleziona policy.

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

    • Nell'editor delle query, specifica ulteriormente le voci del log di controllo che vuoi visualizzare. Per esempi di query comuni, consulta Query di esempio con Esplora log.

  4. Fai clic su Esegui query.

Per ulteriori informazioni sulle query utilizzando Esplora log, consulta Creare query in Esplora log.

Monitorare i log di controllo

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

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

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

Instrada i log alle destinazioni supportate

La tua organizzazione potrebbe dover soddisfare requisiti per la creazione e la conservazione dei log di controllo. Utilizzando i sink, puoi instradare alcuni o tutti i log a queste destinazioni supportate:

  • Un altro bucket Cloud Logging

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

  • Destinazione a livello di organizzazione: se la tua organizzazione utilizza un sistema SIEM per gestire più log di controllo, ti consigliamo di inoltrare tutti i log di controllo della tua organizzazione. Pertanto, ha senso un sink a livello di organizzazione.

  • Destinazione a livello di cartella: a volte potresti voler inoltrare solo gli audit log di reparto. Ad esempio, se hai una cartella "Finanza" e una cartella "IT", potresti trovare utile instradare solo i log di controllo 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 instradare i log come hai fatto per Esplora log.

Per istruzioni su come creare e gestire i sink aggregati, consulta Raccogliere e instradare i log a livello di organizzazione verso destinazioni supportate.

Informazioni sul formato dei dati nelle destinazioni sink

Quando indirizzi gli audit log a destinazioni esterne a Cloud Logging, comprendi il formato dei dati inviati.

Ad esempio, se inoltri i log a BigQuery, Cloud Logging applica regole per abbreviare i nomi dei campi dello schema di BigQuery per gli audit log e per determinati campi del payload strutturato.

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

Copia delle voci di log

A seconda delle esigenze di conformità della tua organizzazione, potresti dover condividere le voci dei log di controllo con gli auditor 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 canali, che inviano automaticamente tutte le voci di log in arrivo a una destinazione di archiviazione supportata preselezionata, tra cui Cloud Storage.

Per istruzioni su come eseguire il routing dei log in Cloud Storage in modo retroattivo, consulta Copiare le voci di log.