Registrazione di controllo per Cloud Storage for Firebase

Questa pagina descrive i log di controllo creati da Firebase come parte degli audit log di Cloud .

Panoramica

I servizi Firebase scrivono log di controllo per aiutarti a rispondere alle domande "Chi ha fatto cosa, dove e quando?". Si tratta degli audit log di Cloud, forniti come parte del progetto Google Cloud Platform collegato al tuo progetto Firebase .

Ciascuno dei tuoi progetti Firebase contiene solo i log di controllo per le risorse che si trovano direttamente all'interno del progetto.

Per una panoramica generale degli audit log di Cloud, consulta Panoramica degli audit log di Cloud . Per una comprensione più approfondita del formato del registro di controllo, vedere Comprendere i registri di controllo .

Log di controllo disponibili

Per Cloud Storage for Firebase sono disponibili i seguenti tipi di log di controllo:

  • Registri di controllo delle attività di amministrazione

    Include operazioni di "scrittura amministrativa" che scrivono metadati o informazioni di configurazione.

    Non è possibile disabilitare i log di controllo delle attività di amministrazione.

Per descrizioni più complete dei tipi di log di controllo, vedere Tipi di log di controllo .

Operazioni controllate

Di seguito vengono riepilogate le operazioni API che corrispondono a ciascun tipo di log di controllo in Cloud Storage for Firebase:

Categoria dei registri di controllo Cloud Storage per operazioni Firebase
Operazioni di progetto
Attività amministrativa secchi.get
bucket.list
buckets.addFirebase
buckets.removeFirebase

Formato del registro di controllo

Le voci del registro di controllo includono i seguenti oggetti:

  • La voce di log stessa, che è un oggetto di tipo LogEntry . I campi utili includono quanto segue:

    • Il logName contiene l'ID della risorsa e il tipo di log di controllo.
    • La resource contiene la destinazione dell'operazione controllata.
    • Il timestamp contiene l'ora dell'operazione controllata.
    • Il protoPayload contiene le informazioni controllate.
  • I dati di registrazione di controllo, che sono un oggetto AuditLog contenuto nel campo protoPayload della voce di registro.

  • Informazioni di controllo facoltative specifiche del servizio, che sono un oggetto specifico del servizio. Per le integrazioni precedenti, questo oggetto è contenuto nel campo serviceData dell'oggetto AuditLog ; le integrazioni più recenti utilizzano il campo metadata .

Per altri campi in questi oggetti e come interpretarli, consulta Comprendere i log di controllo .

Nome del registro

I nomi delle risorse di Cloud Audit Logs indicano il progetto Firebase o un'altra entità GCP proprietaria dei log di controllo e se il log contiene dati di registrazione di controllo di attività di amministrazione, accesso ai dati, criteri negati o eventi di sistema. Ad esempio, di seguito vengono mostrati i nomi dei log per i log di controllo delle attività di amministrazione a livello di progetto e i log di controllo dell'accesso ai dati di un'organizzazione. Le variabili indicano il progetto Firebase e gli identificatori dell'organizzazione.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nome di Servizio

I log di controllo di Cloud Storage for Firebase utilizzano il nome del servizio firebasestorage.googleapis.com .

Per un elenco completo di tutti i nomi dei servizi API Cloud Logging e del tipo di risorsa monitorata corrispondente, consulta Mappare i servizi sulle risorse .

Tipi di risorse

I log di controllo di Cloud Storage for Firebase utilizzano il tipo di risorsa audited_resource per tutti i log di controllo.

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

Abilita la registrazione di controllo

I log di controllo delle attività di amministrazione sono sempre abilitati; non puoi disabilitarli.

Autorizzazioni e ruoli

Le autorizzazioni e i ruoli di Cloud IAM determinano la tua capacità di accedere ai dati dei log di controllo nelle risorse GCP.

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

  • Il ruolo Visualizzatore log ( roles/logging.viewer ) fornisce accesso di sola lettura ai log di controllo delle attività di amministrazione, dei criteri negati e degli eventi di sistema. Se disponi solo di questo ruolo, non puoi visualizzare i log di controllo di accesso ai dati presenti nel bucket _Default .

  • Il ruolo Visualizzatore log privati (roles/logging.privateLogViewer ) include le autorizzazioni contenute in roles/logging.viewer , oltre alla possibilità di leggere i log di controllo di accesso ai dati nel bucket _Default .

    Tieni presente che se questi log privati ​​vengono archiviati in bucket definiti dall'utente, qualsiasi utente dotato delle autorizzazioni per leggere i log in tali bucket potrà leggere i log privati. Per ulteriori informazioni sui bucket di log, consulta Panoramica di routing e archiviazione .

Per ulteriori informazioni sulle autorizzazioni e sui ruoli Cloud IAM applicabili ai dati dei log di controllo, consulta Controllo degli accessi .

Visualizza i registri

Per trovare e visualizzare i log di controllo, devi conoscere l'identificatore del progetto, della cartella o dell'organizzazione Firebase per cui desideri visualizzare le informazioni sul registro di controllo. Puoi specificare ulteriormente altri campi LogEntry indicizzati, come resource.type ; per maggiori dettagli, consulta Trovare rapidamente le voci di registro .

Di seguito sono riportati i nomi dei registri di controllo; includono variabili per gli identificatori del progetto, della cartella o dell'organizzazione Firebase:

   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

   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

Puoi visualizzare i log di controllo in Cloud Logging utilizzando la console GCP, lo strumento a riga di comando gcloud o l'API Logging.

Consolle

Puoi utilizzare Esplora log nella console GCP per recuperare le voci del log di controllo per il tuo progetto, cartella o organizzazione Firebase:

  1. Nella console GCP, vai alla pagina Registrazione > Esplora log .

    Vai alla pagina Esplora log

  2. Nella pagina Esplora log , seleziona un progetto, una cartella o un'organizzazione Firebase esistente.

  3. Nel riquadro Generatore di query , procedi come segue:

    • In Tipo di risorsa , seleziona la risorsa GCP di cui desideri visualizzare i log di controllo.

    • In Nome registro , seleziona il tipo di registro di controllo che desideri visualizzare:

      • Per i log di controllo delle attività di amministrazione, seleziona attività .
      • Per i log di controllo dell'accesso ai dati, selezionare data_access .
      • Per i registri di controllo degli eventi di sistema, selezionare system_event .
      • Per i log di controllo Policy Denied, selezionare policy .

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

    Per ulteriori dettagli sull'esecuzione di query utilizzando Logs Explorer, consulta Creare query di log .

gcloud

Lo strumento da riga di comando gcloud fornisce un'interfaccia da riga di comando all'API Cloud Logging. Fornire un PROJECT_ID , FOLDER_ID o ORGANIZATION_ID valido in ciascuno dei nomi di registro.

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

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

Per leggere le voci del registro 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 registro di controllo a livello di organizzazione, esegui il comando seguente:

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

Per ulteriori informazioni sull'utilizzo dello strumento gcloud , consulta Lettura delle voci di log .

API

Quando crei le tue query, sostituisci le variabili con valori validi, sostituisci il nome o gli identificatori del log di controllo a livello di progetto, cartella o organizzazione appropriati come elencato nei nomi del log di controllo. Ad esempio, se la tua query include PROJECT_ID , l'identificatore di progetto che fornisci deve fare riferimento al progetto Firebase attualmente selezionato.

Per utilizzare l'API Logging per esaminare le voci del registro di controllo, procedi come segue:

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

  2. Inserisci quanto segue nella parte del corpo della richiesta del modulo Prova questa API . Facendo clic su questo modulo precompilato viene compilato automaticamente il corpo della richiesta, ma è necessario fornire un PROJECT_ID valido in ciascuno dei nomi di registro.

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

Per ulteriori dettagli sulle query, vedere Linguaggio delle query di registrazione .

Per un esempio di voce del registro di controllo e come trovare le informazioni più importanti al suo interno, vedere Voce di registro di controllo di esempio .

Log di controllo del percorso

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

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

  • Per gestire i log di controllo in un'intera organizzazione, puoi creare sink aggregati in grado di instradare i log da uno o tutti i progetti Firebase nell'organizzazione.

Per istruzioni sul routing dei log, consulta Configurare i sink .

Prezzi

I registri di controllo delle attività di amministrazione e i registri di controllo degli eventi di sistema non hanno alcun costo.

I registri di controllo dell'accesso ai dati e i registri di controllo della politica negata sono a pagamento.

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