Panoramica di Cloud Audit Logs

Questo documento fornisce una panoramica concettuale di Cloud Audit Logs.

I servizi Google Cloud scrivono audit log che registrano le attività amministrative e gli accessi all'interno delle risorse Google Cloud. Gli audit log ti aiutano a rispondere alla domanda "Chi ha fatto cosa, dove e quando?" all'interno delle tue risorse Google Cloud con lo stesso livello di trasparenza degli ambienti on-premise. L'attivazione degli audit log consente alle entità di sicurezza, auditing e conformità di monitorare i dati e i sistemi di Google Cloud per rilevare eventuali vulnerabilità o usi impropri dei dati esterni.

Servizi Google Cloud che producono audit log

Per un elenco dei servizi Google Cloud che forniscono audit log, consulta Servizi Google Cloud con audit log. Tutti i servizi Google Cloud forniranno audit log.

Per una panoramica degli audit log di Google Workspace, consulta Audit log per Google Workspace.

Ruoli obbligatori

Per visualizzare gli audit log, devi disporre delle autorizzazioni e dei ruoli Identity and Access Management (IAM) appropriati:

  • Per ottenere le autorizzazioni necessarie per accedere in sola lettura agli audit log Attività degli amministratori, Rifiuto della policy ed Evento di sistema, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log (roles/logging.viewer) nel progetto.

    Se disponi solo del ruolo Visualizzatore log (roles/logging.viewer), non puoi visualizzare gli audit log di accesso ai dati nel bucket _Default.

  • Per ottenere le autorizzazioni necessarie per accedere a tutti i log nei bucket _Required e _Default, inclusi i log di accesso ai dati, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log privati (roles/logging.privateLogViewer) nel progetto.

    Il ruolo Visualizzatore log privati (roles/logging.privateLogViewer) include le autorizzazioni contenute nel ruolo Visualizzatore log (roles/logging.viewer) e quelle necessarie per leggere gli audit log di accesso ai dati nel bucket _Default.

Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM applicati ai dati degli audit log, consulta Controllo dell'accesso con IAM.

Tipi di log di controllo

Cloud Audit Logs fornisce i seguenti audit log per ogni progetto, cartella e organizzazione Google Cloud:

Audit log delle attività di amministrazione

Gli audit log per le attività di amministrazione contengono voci di log per le chiamate API o altre azioni che modificano la configurazione o i metadati delle risorse. Ad esempio, questi log registrano quando gli utenti creano istanze VM o modificano le autorizzazioni di Identity and Access Management.

Gli audit log per le attività di amministrazione vengono sempre scritti; non puoi configurarli, escluderli o disattivarli. Anche se disattivi l'API Cloud Logging, gli audit log delle attività amministrative vengono comunque generati.

Per un elenco dei servizi che scrivono log di controllo delle attività di amministrazione e informazioni dettagliate sulle attività che generano questi log, consulta Servizi Google Cloud con audit log.

Audit log degli accessi ai dati

Gli audit log di accesso ai dati contengono chiamate API che leggono la configurazione o i metadati delle risorse, nonché chiamate API effettuate dagli utenti che creano, modificano o leggono i dati delle risorse forniti dall'utente.

Le risorse disponibili pubblicamente che hanno i criteri di Identity and Access Management allAuthenticatedUsers o allUsers non generano audit log. Le risorse a cui è possibile accedere senza accedere a un account Google Cloud, Google Workspace, Cloud Identity o Drive Enterprise non generano log di controllo. Ciò contribuisce a proteggere le identità e le informazioni degli utenti finali.

Gli audit log di accesso ai dati, tranne quelli di BigQuery, sono disabilitati per impostazione predefinita perché possono essere abbastanza grandi. Se vuoi che gli audit log per l'accesso ai dati vengano scritti per servizi Google Cloud diversi da BigQuery, devi abilitarli esplicitamente. L'abilitazione dei log potrebbe comportare l'addebito al tuo progetto Google Cloud dell'utilizzo aggiuntivo dei log. Per istruzioni su come attivare e configurare gli audit log di accesso ai dati, consulta Attivare gli audit log di accesso ai dati.

Per un elenco dei servizi che scrivono log di controllo dell'accesso ai dati e informazioni dettagliate sulle attività che generano questi log, consulta Servizi Google Cloud con log di controllo.

Gli audit log per l'accesso ai dati vengono archiviati nel _Default, a meno che non li abbia inoltrati altrove. Per ulteriori informazioni, consulta la sezione Archiviazione e routing dei log di controllo di questa pagina.

Audit log degli eventi di sistema

Gli audit log degli eventi di sistema contengono voci di log per azioni Google Cloud che modificano la configurazione delle risorse. Gli audit log degli eventi di sistema vengono generati dai sistemi Google Cloud e non sono basati su azioni dirette dell'utente.

Gli audit log degli eventi di sistema vengono sempre scritti; non puoi configurarli, escluderli o disabilitarli.

Per un elenco dei servizi che scrivono gli audit log degli eventi di sistema e informazioni dettagliate sulle attività che generano questi log, consulta Servizi Google Cloud con audit log.

Audit log con criteri negati

I log di controllo Rifiuto ai sensi delle norme vengono registrati quando un servizio Google Cloud nega l'accesso a un utente o a un account di servizio a causa di una violazione delle norme di sicurezza.

Gli audit log sugli accessi negati in base ai criteri vengono generati per impostazione predefinita e al tuo progetto Google Cloud viene addebitato lo spazio di archiviazione per i log. Non puoi disattivare gli audit log di rifiuto dei criteri, ma puoi utilizzare i filtri di esclusione per impedire che vengano archiviati in Cloud Logging.

Per un elenco dei servizi che scrivono audit log sugli accessi negati in base ai criteri e informazioni dettagliate sulle attività che generano questi log, consulta Servizi Google Cloud con audit log.

Struttura della voce voce di log di controllo

Ogni voce di log di controllo in Cloud Logging è un oggetto di tipo LogEntry. Ciò che distingue una voce di log di controllo da altre voci del log è il campo protoPayload, che contiene un oggetto AuditLog che memorizza i dati dell'audit logging.

Per informazioni su come leggere e interpretare le voci dei log di controllo e per un esempio di voce di log di controllo, consulta Informazioni sui log di controllo.

Nome log

I nomi dei log di Cloud Audit Logs includono:

  • Identificatori delle risorse che indicano il progetto Google Cloud o un'altra entità Google Cloud proprietaria degli audit log.

  • La stringa cloudaudit.googleapis.com.

  • Una stringa che indica se il log contiene dati di audit logging per attività di amministrazione, accesso ai dati, accesso negato in base ai criteri o evento di sistema.

Di seguito sono riportati i nomi dei log di controllo, incluse le variabili per gli identificatori delle risorse:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Identità chiamante nei log di controllo

Gli audit log registrano l'identità che ha eseguito le operazioni registrate sulla risorsa Google Cloud. L'identità del chiamante è contenuta nel campo AuthenticationInfo degli oggetti AuditLog.

L'audit logging non oscura l'indirizzo email principale dell'utente chiamante per qualsiasi accesso andato a buon fine o per qualsiasi operazione di scrittura.

Per le operazioni di sola lettura che non riescono con un errore di "autorizzazione negata", la registrazione di controllo potrebbe oscurare l'indirizzo email principale dell'utente chiamante, a meno che non si tratti di un account di servizio.

Oltre alle condizioni elencate sopra, a determinati servizi Google Cloud si applica quanto segue:

  • BigQuery: le identità e gli indirizzi IP dell'autore della chiamata, nonché alcuni nomi di risorse, vengono oscurati dai log di controllo, a meno che non siano soddisfatte determinate condizioni.

  • Cloud Storage: quando i log di utilizzo di Cloud Storage sono abilitati, Cloud Storage scrive i dati di utilizzo nel bucket Cloud Storage, che genera audit log di accesso ai dati per il bucket. L'identità dell'utente chiamante dell'audit log di accesso ai dati generato è oscurata.

  • Firestore: se per l'autenticazione di terze parti è stato utilizzato un token web JSON (JWT), il campo thirdPartyPrincipal include l'intestazione e il payload del token. Ad esempio, i log di controllo per le richieste autenticate con Firebase Authentication includono il token di autenticazione della richiesta.
  • Controlli di servizio VPC: per gli audit log relativi ai criteri negati, viene applicata la seguente oscuramento:

    • Parti degli indirizzi email dell'autore della chiamata potrebbero essere oscurate e sostituite da tre punti ....

    • Alcuni indirizzi email degli utenti che chiamano appartenenti al dominio google.com sono oscurati e sostituiti da google-internal.

  • Norme dell'organizzazione: parti degli indirizzi email del chiamante potrebbero essere oscurate e sostituite da tre punti ....

Indirizzo IP dell'utente che ha effettuato l'accesso nei log di controllo

L'indirizzo IP dell'utente che chiama è memorizzato nel campo RequestMetadata.callerIp dell'oggetto AuditLog:

  • Per un chiamante da internet, l'indirizzo è un indirizzo IPv4 o IPv6 pubblico.
  • Per le chiamate effettuate dall'interno della rete di produzione interna da un servizio Google Cloud a un altro, il valore callerIp viene oscurato in "privato".
  • Per un chiamante da una VM Compute Engine con un indirizzo IP esterno, callerIp è l'indirizzo esterno della VM.
  • Per un chiamante da una VM Compute Engine senza un indirizzo IP esterno, se la VM si trova nella stessa organizzazione o nello stesso progetto della risorsa a cui è stato eseguito l'accesso, callerIp è l'indirizzo IPv4 interno della VM. In caso contrario, callerIp viene oscurato in "gce-internal-ip". Per maggiori informazioni, consulta Panoramica della rete VPC.

Visualizzazione degli audit log

Puoi eseguire query su tutti i log di controllo o su log specifici in base al nome. Il nome dell'audit log include l'identificatore della risorsa del progetto, della cartella, dell'account di fatturazione o dell'organizzazione Google Cloud per cui vuoi visualizzare le informazioni di audit logging. Le query possono specificare campi LogEntry indicizzati. Per ulteriori informazioni sull'esecuzione di query sui log, consulta Creare query in Esplora log

Esplora log ti consente di visualizzare e filtrare le singole voci di log. Se vuoi utilizzare SQL per analizzare gruppi di voci di log, utilizza la pagina Analisi dei log. Per ulteriori informazioni, vedi:

La maggior parte degli audit log può essere visualizzata in Cloud Logging utilizzando la console Google Cloud, Google Cloud CLI o l'API Logging. Tuttavia, per gli audit log relativi alla fatturazione, puoi utilizzare solo Google Cloud CLI o l'API Logging.

Console

Nella console Google Cloud, puoi utilizzare Esplora log per recuperare le voci degli audit log per il progetto, la cartella o l'organizzazione Google Cloud:

  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 un progetto, una cartella o un'organizzazione Google Cloud esistente.

  3. Per visualizzare tutti i log di controllo, inserisci una delle seguenti query nel campo dell'editor di query e poi fai clic su Esegui query:

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. Per visualizzare gli audit log per una risorsa e un tipo di audit log specifici, nel riquadro Query Builder:

    • 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.
    • Fai clic su Esegui query.

    Se non visualizzi queste opzioni, vuol dire che non sono disponibili audit log di questo tipo nel progetto, nella cartella o nell'organizzazione Google Cloud.

    Se riscontri problemi quando provi a visualizzare i log in Esplora log, consulta le informazioni sulla risoluzione dei problemi.

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

gcloud

Google Cloud CLI fornisce un'interfaccia a riga di comando per l'API Logging. Fornisci un identificatore della risorsa valido in ciascuno dei nomi del log. Ad esempio, se la query include un PROJECT_ID, l'identificatore del progetto fornito deve fare riferimento al progetto Google Cloud attualmente selezionato.

Per leggere le voci dei log di controllo a livello di progetto Google Cloud, esegui il seguente comando:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
    --project=PROJECT_ID

Per leggere le voci dei log di controllo a livello di cartella, esegui il seguente comando:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

Per leggere le voci degli audit log a livello di organizzazione, esegui il seguente comando:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
    --organization=ORGANIZATION_ID

Per leggere le voci del log di controllo a livello di account di fatturazione Cloud, esegui il seguente comando:

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Aggiungi il flag --freshness al comando per leggere i log risalenti a più di un giorno prima.

Per ulteriori informazioni sull'utilizzo dellgcloud CLI, consulta gcloud logging read.

REST

Quando crei le query, fornisci un identificatore di risorse valido in ciascuno delle denominazioni dei log. Ad esempio, se la query include un PROJECT_ID, l'identificatore del progetto fornito deve fare riferimento al progetto Google Cloud selezionato al momento.

Ad esempio, per utilizzare l'API Logging per visualizzare le voci di log di controllo a livello di progetto:

  1. Vai alla sezione Prova questa API nella documentazione del metodo entries.list.

  2. Inserisci quanto segue nella sezione Corpo della richiesta del modulo Prova questa API. Se fai clic su questo modulo precompilato, il corpo della richiesta viene compilato automaticamente, ma devi fornire un valore PROJECT_ID valido in ciascuno dei nomi dei log.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Fai clic su Execute (Esegui).

Archiviazione e inoltro dei log di controllo

Cloud Logging usa i bucket di log come container in cui vengono archiviati e organizzati i dati dei log. Per ogni account di fatturazione, progetto, cartella e organizzazione Google Cloud, Logging crea automaticamente due bucket di log, _Required e _Default, e sink con nomi corrispondenti.

I bucket _Required di Cloud Logging archiviano gli audit log delle attività di amministrazione e gli audit log degli eventi di sistema. Non puoi impedire la memorizzazione degli audit log relativi all'attività di amministrazione o agli eventi di sistema. Inoltre, non puoi configurare il sink che instrada le voci di log ai bucket _Required.

Gli audit log delle attività di amministrazione e gli audit log degli eventi di sistema vengono sempre archiviati nel _Required bucket del progetto in cui sono stati generati.

Se inoltri gli audit log Attività di amministrazione e gli audit log Eventi di sistema a un progetto diverso, questi log non passano attraverso l'elemento di destinazione _Default o _Required del progetto di destinazione. Pertanto, questi log non vengono archiviati nel bucket di log _Default o nel bucket di log _Required del progetto di destinazione. Per archiviare questi log, crea un sink di log nel progetto di destinazione. Per ulteriori informazioni, consulta Indirizzare i log alle destinazioni supportate.

Per impostazione predefinita, i bucket _Default memorizzano tutti gli audit log di accesso ai dati abilitati, nonché gli audit log sugli accessi negati in base ai criteri. Per impedire che gli audit log di accesso ai dati vengano archiviati nei bucket _Default, puoi disattivarli. Per impedire la memorizzazione di audit log con rifiuto del criterio nei bucket _Default, puoi escluderli modificando i filtri dei relativi sink.

Puoi anche instradare le voci di log di controllo a bucket Cloud Logging definiti dall'utente a livello di progetto Google Cloud o a destinazioni supportate al di fuori di Logging utilizzando i sink. Per istruzioni sul routing dei log, consulta Eseguire il routing dei log verso destinazioni supportate.

Quando configuri i filtri dei sink di log, devi specificare i tipi di log di controllo che vuoi instradare. Per esempi di filtri, consulta Query di logging per la sicurezza.

Se vuoi inoltrare le voci di log di controllo per un'organizzazione, una cartella o un account di fatturazione Google Cloud, consulta Raccogliere e inoltrare i log a livello di organizzazione alle destinazioni supportate.

Conservazione degli audit log

Per informazioni dettagliate sul periodo di conservazione delle voci di log da parte di Logging, consulta le informazioni sulla conservazione in Quote e limiti: periodi di conservazione dei log.

Controllo degli accessi

Le autorizzazioni e i ruoli IAM determinano la tua capacità di accedere ai dati degli audit log nell'API Logging, in Esplora log e nell'interfaccia a riga di comando Google Cloud.

Per informazioni dettagliate sui ruoli e sulle autorizzazioni IAM di cui potresti avere bisogno, consulta Controllo dell'accesso con IAM.

Quote e limiti

Per informazioni dettagliate sui limiti di utilizzo dei log, incluse le dimensioni massime dei log di controllo, consulta Quote e limiti.

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:

Passaggi successivi

  • Scopri di più su Access Transparency, che fornisce i log delle azioni intraprese dal personale di Google Cloud quando accede ai tuoi contenuti di Google Cloud.