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 quello di aiutarti a comprendere l'ambito delle attività di audit logging 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 Google Cloud servizi. Cloud Audit Logs fornisce i seguenti tipi di audit log per ogni Google Cloud progetto, account di fatturazione, cartella e organizzazione:

Tipo di audit log Configurabile Addebitabile
Audit log delle attività di amministrazione No; vengono sempre scritti 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; vengono sempre scritti 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 Google Cloud i servizi, devi abilitarli esplicitamente. Per i 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 di Cloud Audit Logs.

Controllo dell'accesso ai log

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

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

Imposta 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'Google Cloud CLI. Utilizza IAM per concedere un accesso granulare a bucket Google Cloud specifici e impedire l'accesso indesiderato ad altre risorse.

I ruoli basati sulle autorizzazioni che concedi ai tuoi utenti dipendono dalle loro funzioni relative all'audit all'interno della tua organizzazione. Ad esempio, potresti concedere al tuo CTO ampie autorizzazioni amministrative, mentre i membri del tuo team di sviluppo 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 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 visualizzazioni 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ù Google Cloud progetti, potresti dover controllare i Google Cloud progetti da cui 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 Observability Analytics. Per ulteriori informazioni, consulta Panoramica delle query e della visualizzazione dei log.

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

Imposta i controlli dell'accesso a livello di campo dei log

I controlli dell'accesso a livello di campo consentono di nascondere i singoli campi LogEntry agli utenti di un Google Cloud progetto, 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' intero LogEntry, i controlli dell'accesso a livello di campo nascondono i singoli campi del LogEntry. Ad esempio, potresti voler oscurare i dati PII degli utenti esterni, come un indirizzo email contenuto nel payload della voce di log, per la maggior parte degli utenti della tua organizzazione.

Se prevedi di utilizzare Observability Analytics per analizzare i tuoi audit log, non configurare i controlli dell'accesso a livello di campo nel bucket di log che li archivia. Non puoi utilizzare Observability Analytics sui bucket di log in cui sono configurati i controlli dell'accesso a livello di campo.

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

Configura gli audit log di accesso ai dati

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

Gli audit log di accesso ai dati aiutano l'assistenza Google a risolvere i problemi relativi al tuo account. Pertanto, ti 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 la policy Identity and Access Management (IAM) con la configurazione elencata nella policy di audit.

Dopo aver definito la policy di accesso ai dati a livello di organizzazione e aver abilitato gli audit log di accesso ai dati, utilizza un progetto Google Cloud di test per convalidare la configurazione della raccolta degli audit log prima di creare progetti di sviluppo e di produzione Google Cloud nell'organizzazione.

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

Controlla la modalità di archiviazione dei log

Puoi configurare gli aspetti dei bucket della tua organizzazione e creare bucket definiti dall'utente per centralizzare o suddividere l'archiviazione dei log. A seconda dei requisiti di conformità e utilizzo, potresti voler personalizzare l'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

In Logging, i bucket sono risorse regionali: l'infrastruttura che archivia, indicizza ed 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 nella selezione della regione in cui vengono 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à predefinita delle risorse.

Per istruzioni sulla configurazione delle località predefinite delle risorse, consulta 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 applicate al tipo di bucket di log in cui sono contenuti.

Per soddisfare le tue esigenze di conformità, configura Cloud Logging in modo che conservi i log per un periodo compreso tra 1 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 località.

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

Proteggi gli audit log con le chiavi di crittografia gestite dal cliente

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

Per istruzioni sulla configurazione di CMEK, consulta Configurare CMEK per l'archiviazione dei log.

Prezzi

Per informazioni sui prezzi, consulta la pagina Prezzi di Google Cloud Observability. Se instradi i dati dei log ad altri Google Cloud servizi, consulta i seguenti documenti:

Quando configuri e utilizzi gli audit log, ti consigliamo le seguenti best practice relative ai prezzi:

  • Stima le fatture visualizzando i dati di utilizzo e configurando i criteri di avviso.

  • Tieni presente che gli audit log di accesso ai dati possono essere di grandi dimensioni e potresti sostenere 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 e visualizza gli audit log

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

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

    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, procedi nel seguente modo:

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

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

      • Per gli audit log Attività di amministrazione, seleziona activity.
      • Per gli audit log Accesso ai dati, seleziona data_access.
      • Per gli audit log Evento di sistema, seleziona system_event.
      • Per gli audit log Policy negata, seleziona policy.

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

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

  4. Fai clic su Esegui query.

Per saperne di più sull'esecuzione di query utilizzando Esplora log, consulta Crea query in Esplora log.

Monitora gli audit log

Puoi utilizzare Cloud Monitoring per ricevere una notifica quando si verificano le condizioni che hai descritto. Per fornire a Cloud Monitoring i dati dei log, Logging ti 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 i criteri di avviso per distinguere tra gli eventi che richiedono un'indagine immediata e gli eventi a bassa priorità. Ad esempio, se vuoi sapere quando un audit log registra un messaggio di accesso ai dati specifico, puoi creare una criterio di avviso basata 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 verso destinazioni supportate

La tua organizzazione potrebbe dover rispettare i requisiti per la creazione e la conservazione degli audit log. Utilizzando i sink, puoi instradare alcuni o tutti i log verso queste destinazioni supportate:

  • Un altro bucket di Cloud Logging

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

  • Sink a livello di organizzazione: se la tua organizzazione utilizza un SIEM per gestire più audit log, potresti voler instradare tutti gli audit log dell'organizzazione. Pertanto, un sink a livello di organizzazione è la soluzione ideale.

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

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

Applica alla Google Cloud destinazione che utilizzi per instradare i log le stesse policy di accesso che hai applicato a Esplora log.

Per istruzioni sulla creazione e la gestione dei sink aggregati, consulta Raccogliere e instradare i log a livello di organizzazione verso destinazioni supportate.

Informazioni sul formato dei dati nelle destinazioni dei sink

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

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

Per comprendere e trovare le voci di log che hai instradato da Cloud Logging a destinazioni supportate, consulta Visualizzare i log nelle destinazioni dei sink.

Copia delle voci di log

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

Quando copi le voci di log in Cloud Storage, le voci di log 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, incluso Cloud Storage.

Per istruzioni sull'instradamento retroattivo dei log a Cloud Storage, consulta Copia delle voci di log.