Informazioni sugli audit log di App Engine

Questo documento descrive gli audit log creati da App Engine come parte degli audit log di Cloud.

Panoramica

I servizi Google Cloud scrivono gli audit log per aiutarti a rispondere alle domande su "Chi ha fatto cosa, dove e quando" all'interno delle tue risorse Google Cloud.

I progetti Google Cloud contengono solo gli audit log per le risorse che si trovano direttamente all'interno del progetto Cloud. Altre risorse di Google Cloud, come cartelle, organizzazioni e account di fatturazione, contengono i log di controllo per l'entità stessa.

Per una panoramica generale degli audit log di Cloud, consulta la panoramica degli audit log di Cloud. Per una comprensione più approfondita del formato degli audit log, consulta Informazioni sui log di controllo.

Log di controllo disponibili

Per App Engine sono disponibili i seguenti tipi di audit log:

  • Audit log delle attività di amministrazione

    Include le operazioni di scrittura/scrittura dell'amministratore che scrivono metadati o informazioni sulla configurazione.

    Non puoi disattivare gli audit log Attività di amministrazione.

Per una descrizione più completa dei tipi di audit log, vedi Tipi di audit log.

Operazioni con audit

Di seguito è riepilogato le operazioni API corrispondenti a ogni tipo di audit log in App Engine:

Categoria di audit logOperazioni App Engine
Audit log delle attività di amministrazione apps.create
apps.patch
apps.repair
apps.authorizedCertificates.create
apps.authorizedCertificates.delete
apps.authorizedCertificates.patch
apps.domainMappings.create
apps.domainMappings.delete
apps.domainMappings.patch
apps.firewall.ingressRules.batchUpdate
apps.firewall.ingressRules.create
apps.firewall.ingressRules.delete
apps.firewall.ingressRules.patch
apps.services.delete
apps.services.patch
apps.services.versions.create
apps.services.versions.delete
apps.services.versions.patch
apps.services.versions.instances.debug
apps.services.versions.instances.delete

Formato degli audit log

Le voci dei log di controllo includono i seguenti oggetti:

  • La voce di log stessa, che è un oggetto di tipo LogEntry. Di seguito vengono riportati alcuni campi utili:

    • L'elemento logName contiene l'ID risorsa e il tipo di log di controllo.
    • resource contiene il target dell'operazione sottoposta ad audit.
    • timeStamp contiene l'ora dell'operazione controllata.
    • L'elemento protoPayload contiene le informazioni controllate.
  • Dati di audit logging, che sono un oggetto AuditLog contenuto nel campo protoPayload della voce di log.

  • Informazioni di audit facoltative e specifiche del servizio, che sono un oggetto specifico del servizio. Per le integrazioni precedenti, questo oggetto è conservato nel campo serviceData dell'oggetto AuditLog; le integrazioni successive utilizzano il campo metadata.

Per informazioni su altri campi in questi oggetti e su come interpretarli, consulta la pagina Informazioni sui log di controllo.

Nome log

I nomi degli audit log di Cloud includono gli identificatori delle risorse che indicano il progetto Cloud o altre entità Google Cloud proprietarie degli audit log e se il log contiene dati di audit attività, accesso ai dati, criteri negati o audit log degli eventi di sistema.

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

   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

Nome servizio

Gli audit log di App Engine utilizzano il nome del servizio appengine.googleapis.com.

Per un elenco di tutti i nomi dei servizi API di Cloud Logging e il corrispondente tipo di risorsa monitorata, consulta Mappatura dei servizi alle risorse.

Tipi di risorse

Gli audit log di App Engine utilizzano il tipo di risorsa gae_app per tutti gli audit log.

Per un elenco di tutti i tipi di risorse monitorate e le informazioni descrittive di Cloud Logging, consulta Tipi di risorse monitorate.

Abilitazione degli audit log

Gli audit log Attività di amministrazione sono sempre abilitati e non possono essere disattivati.

Autorizzazioni e ruoli

Le autorizzazioni e i ruoli IAM determinano la tua capacità di accedere ai dati degli audit log nelle risorse Google Cloud.

Per determinare quali autorizzazioni e ruoli di Logging specifici si applicano al tuo caso d'uso, considera quanto segue:

  • Il ruolo Visualizzatore log (roles/logging.viewer) consente l'accesso in sola lettura agli audit log Attività di amministrazione, Negato e Eventi di sistema. Se hai solo questo ruolo, non puoi visualizzare gli audit log di accesso ai dati nei bucket _Required e _Default.

  • Il ruolo Visualizzatore log privati(roles/logging.privateLogViewer) include le autorizzazioni contenute in roles/logging.viewer, oltre alla possibilità di leggere gli audit log di accesso ai dati nei bucket _Required e _Default.

    Tieni presente che se questi log privati sono archiviati in bucket definiti dall'utente, qualsiasi utente autorizzato a leggere i log in tali bucket può leggere i log privati. Per ulteriori informazioni sui bucket di log, consulta la panoramica di routing e archiviazione.

Per ulteriori informazioni sulle autorizzazioni IAM e i ruoli applicabili ai dati degli audit log, consulta Controllo degli accessi con IAM.

Visualizza i log

Per eseguire query sugli audit log, devi conoscere il nome del log di controllo, che include l'identificatore di risorsa del progetto, della cartella, dell'account di fatturazione o dell'organizzazione Cloud per cui vuoi visualizzare le informazioni degli audit log. Nella query puoi specificare ulteriormente altri campi LogEntry indicizzati, come resource.type. Per ulteriori informazioni sulle query, consulta Creazione di query in Esplora log.

Puoi visualizzare gli audit log in Cloud Logging utilizzando Cloud Console, l'interfaccia a riga di comando di Google Cloud o l'API Logging.

Console

In Cloud Console, puoi utilizzare Esplora log per recuperare le voci del log di controllo per il progetto, la cartella o l'organizzazione Cloud.

  1. In Cloud Console, vai alla pagina Logging> Esplora log.

    Vai a Esplora log

  2. Seleziona un progetto, una cartella o un'organizzazione Cloud esistente.

  3. Nel riquadro Query Builder, procedi nel seguente modo:

    • In Tipo di risorsa, seleziona la risorsa Google Cloud di cui vuoi visualizzare i log di controllo.

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

      • Per i log di controllo dell'attività di amministrazione, seleziona attività.
      • Per gli audit log di accesso ai dati, seleziona data_access.
      • Per i log di controllo degli eventi di sistema, seleziona system_event.
      • Per i log di controllo di negazione dei criteri, seleziona norme.

    Se non vedi queste opzioni, significa che non sono disponibili log di controllo di quel tipo disponibili nel progetto, nella cartella o nell'organizzazione Cloud.

    Se si verificano problemi durante il tentativo di visualizzazione dei log in Esplora log, consulta le informazioni per la risoluzione dei problemi.

    Per ulteriori informazioni sull'esecuzione di query utilizzando Esplora log, consulta Creazione di query in Esplora log.

gcloud

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

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

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

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

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

Per leggere le voci del log di controllo a livello di organizzazione, esegui questo 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 questo 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 che risalgono a più di un giorno fa.

Per ulteriori informazioni sull'utilizzo dell'interfaccia a riga di comando gcloud, vedi gcloud logging read.

API

Quando crei le query, fornisci un identificatore di risorsa valido in ciascuno dei nomi dei log. Ad esempio, se la tua query include un PROJECT_ID, l'identificatore di progetto che fornisci deve fare riferimento al progetto Cloud attualmente selezionato.

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

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

  2. Inserisci quanto segue nella parte del corpo della richiesta del modulo Prova questa API. Se fai clic su questo modulo precompilato, verrà compilato automaticamente il corpo della richiesta, ma dovrai fornire un 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).

Audit log delle route

Puoi indirizzare gli audit log alle destinazioni supportate nello stesso modo in cui puoi instradare altri tipi di log. Ecco alcuni motivi per cui potresti voler indirizzare i log di controllo:

  • Per conservare gli audit log per un periodo di tempo più lungo o utilizzare funzionalità di ricerca più potenti, puoi eseguire il routing delle copie dei log di controllo a Cloud Storage, BigQuery o Pub/Sub. Con Pub/Sub puoi instradare ad altre applicazioni, altri repository e a terze parti.

  • Per gestire gli audit log in un'intera organizzazione, puoi creare sink aggregati che possono indirizzare i log da uno o tutti i progetti Cloud dell'organizzazione.

Per istruzioni sui log di routing, consulta Configurare e gestire sink.

Prezzi

Per informazioni sui prezzi di Cloud Logging, consulta i prezzi della suite operativa di Google Cloud: Cloud Logging.