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 le regole di sicurezza 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.
Registri di controllo dell'accesso ai dati
Include operazioni di "lettura amministratore" che leggono metadati o informazioni di configurazione. Include anche le operazioni di "lettura dati" e "scrittura dati" che leggono o scrivono dati forniti dall'utente.
Per ricevere i log di controllo dell'accesso ai dati, è necessario abilitarli esplicitamente.
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 registro di controllo nelle regole di sicurezza Firebase:
Categoria dei registri di controllo | Operazioni relative alle regole di sicurezza Firebase | |
---|---|---|
Operazioni di progetto | ||
Attività amministrativa | ||
Accesso ai dati (ADMIN_READ) | Set di regole di prova | |
Operazioni con le regole | ||
Attività amministrativa | Crea set di regole Elimina set di regole | |
Accesso ai dati (ADMIN_READ) | Ottieni set di regole Elencoset di regole Set di regole di prova | |
Operazioni di rilascio | ||
Attività amministrativa | CreaRilascio UpdateRelease EliminaRilascia | |
Accesso ai dati (ADMIN_READ) | OttieniRelease ElencoRilasci |
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.
- Il
I dati di registrazione di controllo, che sono un oggetto
AuditLog
contenuto nel campoprotoPayload
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'oggettoAuditLog
; le integrazioni più recenti utilizzano il campometadata
.
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 delle regole di sicurezza Firebase utilizzano il nome del servizio firebaserules.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 delle regole di sicurezza 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.
I log di controllo di accesso ai dati sono disabilitati per impostazione predefinita e non vengono scritti a meno che non siano abilitati esplicitamente (l'eccezione sono i log di controllo di accesso ai dati per BigQuery, che non possono essere disabilitati).
Per istruzioni su come abilitare alcuni o tutti i log di controllo di accesso ai dati, vedere Configurare i log di accesso ai dati .
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 inroles/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:
Nella console GCP, vai alla pagina Registrazione > Esplora log .
Nella pagina Esplora log , seleziona un progetto, una cartella o un'organizzazione Firebase esistente.
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 Criteri negati, 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:
Vai alla sezione Prova questa API nella documentazione per il metodo
entries.list
.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" }
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.
- Se i log di controllo di accesso ai dati abilitati stanno spingendo i tuoi progetti Firebase oltre le assegnazioni di log, puoi creare sink che escludono i log di controllo di accesso ai dati dalla registrazione.
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 .