In questa pagina vengono descritti gli audit log creati da Firebase nell'ambito di: Audit log di Cloud.
Panoramica
I servizi Firebase scrivono audit log per aiutarti a rispondere alle domande: "Chi ha cosa, dove e quando?". Si tratta di log di controllo Cloud, forniti nell'ambito del progetto Google Cloud collegato al tuo progetto Firebase.
Ogni progetto Firebase contiene solo gli audit log per le risorse che si trovano direttamente al suo interno.
Per una panoramica generale di Cloud Audit Logs, consulta Panoramica di Cloud Audit Logs. Per una comprensione più approfondita dei requisiti formato di log, consulta Informazioni sui log di controllo.
Audit log disponibili
Per Firebase App Check sono disponibili i seguenti tipi di log di controllo:
-
Audit log delle attività di amministrazione
Include "scrittura amministratore" operazioni che scrivono metadati o configurazioni informazioni.
Non puoi disabilitare gli audit log per le attività di amministrazione.
-
Audit log degli accessi ai dati
Sono incluse le operazioni di "lettura amministratore" che leggono i metadati o le informazioni di configurazione. Sono incluse anche le operazioni di "lettura dati" e "scrittura dati" che leggono o scrivono i dati forniti dall'utente.
Per ricevere gli audit log di accesso ai dati, devi abilitarli esplicitamente.
Per una descrizione più completa dei tipi di audit log, consulta Tipi di audit log.
Operazioni con audit
Di seguito sono riepilogate le operazioni API corrispondenti a ciascun audit log digita Firebase App Check:
Tipo di autorizzazione | Metodi |
---|---|
ADMIN_READ |
google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig google.firebase.appcheck.v1.ConfigService.GetDebugToken google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig google.firebase.appcheck.v1.ConfigService.GetService google.firebase.appcheck.v1.ConfigService.ListDebugTokens google.firebase.appcheck.v1.ConfigService.ListServices google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig google.firebase.appcheck.v1beta.ConfigService.GetDebugToken google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig google.firebase.appcheck.v1beta.ConfigService.GetService google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies google.firebase.appcheck.v1beta.ConfigService.ListServices |
ADMIN_WRITE |
google.firebase.appcheck.v1.ConfigService.BatchUpdateServices google.firebase.appcheck.v1.ConfigService.CreateDebugToken google.firebase.appcheck.v1.ConfigService.DeleteDebugToken google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig google.firebase.appcheck.v1.ConfigService.UpdateDebugToken google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig google.firebase.appcheck.v1.ConfigService.UpdateService google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig google.firebase.appcheck.v1beta.ConfigService.UpdateService google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken |
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:logName
contiene l'ID risorsa e il tipo di audit log.resource
contiene il target dell'operazione controllata.timestamp
contiene l'ora dell'operazione sottoposta ad audit.protoPayload
contiene le informazioni controllate.
I dati del logging di controllo, che sono un oggetto
AuditLog
conservato in nel campoprotoPayload
della voce di log.Informazioni di audit facoltative e specifiche del servizio, che sono un valore . Per le integrazioni precedenti, questo oggetto si trova in
serviceData
campo dell'oggettoAuditLog
; integrazioni più recenti usano il campometadata
.
Per gli altri campi in questi oggetti e come interpretarli, rivedi Informazioni sui log di controllo.
Nome log
I nomi delle risorse di Cloud Audit Logs indicano il progetto Firebase o altro Google Cloud entità proprietaria degli audit log e indica se il log contiene Dati di audit logging delle attività di amministrazione, dell'accesso ai dati, dei criteri negati o degli eventi di sistema. Ad esempio, di seguito vengono mostrati i nomi dei log per l'attività di amministrazione a livello di progetto e gli audit log di accesso ai dati di un'organizzazione. Le variabili indicano Identificatori di progetto e organizzazione Firebase.
projects/PROJECT_ID /logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID /logs/cloudaudit.googleapis.com%2Fdata_access
Nome servizio
Gli audit log di Firebase App Check utilizzano il nome del servizio
firebaseappcheck.googleapis.com
.
Per un elenco completo di tutti i nomi dei servizi dell'API Cloud Logging e dei relativi nomi tipo di risorsa monitorata, consulta Mappare i servizi alle risorse.
Tipi di risorse
Gli audit log di Firebase App Check utilizzano
il tipo di risorsa audited_resource
per tutti gli audit log.
Per un elenco di tutti i tipi di risorsa monitorata di Cloud Logging e dei dettagli le informazioni, vedi Tipi di risorse monitorate.
Abilitazione degli audit log
Gli audit log per le attività di amministrazione sono sempre abilitati; non puoi disabilitarle.
Gli audit log di accesso ai dati sono disabilitati per impostazione predefinita e non scritti, a meno che non siano esplicitamente abilitati (l'eccezione sono gli audit log di accesso ai dati BigQuery, che non può essere disabilitato).
Per istruzioni sull'abilitazione di alcuni o di tutti gli audit log di accesso ai dati, consulta Configurare i log di accesso ai dati.
Autorizzazioni e ruoli
I ruoli e le autorizzazioni Cloud IAM determinano la tua capacità di accedere ai dati degli audit log nelle risorse Google Cloud.
Quando decidi quale Autorizzazioni e ruoli specifici di Logging si applicano a il tuo caso d'uso, considera quanto segue:
Il ruolo Visualizzatore log (
roles/logging.viewer
) ti consente di accedere di sola lettura ai log di controllo Attività amministratore, Accesso negato in base ai criteri ed Evento di sistema. Se hai solo questo ruolo, non puoi visualizzare gli audit log di accesso ai dati che si trovano nell'_Default
di sincronizzare la directory di una VM con un bucket.Il ruolo Visualizzatore log privati
(roles/logging.privateLogViewer
include le autorizzazioni contenute inroles/logging.viewer
, oltre alla possibilità di leggere gli audit log per l'accesso ai dati nel bucket_Default
.Tieni presente che se questi log privati sono archiviati in bucket definiti dall'utente, qualsiasi utente che dispone delle autorizzazioni per leggere i log in questi bucket può leggere i log privati. Per saperne di più sui bucket di log, consulta Panoramica su routing e archiviazione.
Per saperne di più sui ruoli e sulle autorizzazioni Cloud IAM che si applicano ai dati degli audit log, consulta Controllo dell'accesso.
Visualizza i log
Per trovare e visualizzare i log di controllo, devi conoscere l'identificatore del progetto, della cartella o dell'organizzazione Firebase per cui vuoi visualizzare le informazioni relative ai log di controllo. Puoi specificare anche altri URL
LogEntry
, ad esempio resource.type
; per i dettagli, rivedi
Trovare rapidamente le voci di log.
Di seguito sono riportati i nomi degli audit log; includono variabili 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 gli audit log in Cloud Logging utilizzando la console Google Cloud, lo strumento a riga di comando gcloud
o l'API Logging.
Puoi utilizzare Esplora log nella console Google Cloud per recuperare le voci del log di controllo per il progetto, la cartella o organizzazione:
Nella console Google Cloud, vai alla Logging > Esplora log.
Nella pagina Log Explorer, seleziona un progetto, una cartella o un'organizzazione Firebase esistente.
Nel riquadro Query Builder, procedi nel seguente modo:
In Tipo di risorsa, seleziona la risorsa Google Cloud la cui di controllo degli audit log che vuoi visualizzare.
In Nome log, seleziona il tipo di audit log che vuoi visualizzare:
- Per gli audit log per le attività di amministrazione, seleziona attività.
- 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 relativi ai criteri negati, seleziona policy.
Se non vedi queste opzioni, significa che non sono presenti audit log di del tipo disponibile nel progetto, nella cartella o dell'organizzazione.
Per maggiori dettagli sulle query con Esplora log, consulta Creare query sui log.
Lo strumento a riga di comando gcloud
fornisce un'interfaccia a riga di comando per l'API Cloud Logging. Specifica un valore valido per
PROJECT_ID
, FOLDER_ID
,
o ORGANIZATION_ID
in ciascuno dei nomi dei log.
Per leggere le voci del log di controllo a livello di progetto Firebase, esegui il seguente comando:
gcloud logging read "logName : projects/PROJECT_ID /logs/cloudaudit.googleapis.com" --project=PROJECT_ID
Per leggere le voci di audit log a livello di cartella, esegui questo comando:
gcloud logging read "logName : folders/FOLDER_ID /logs/cloudaudit.googleapis.com" --folder=FOLDER_ID
Per leggere le voci di audit log a livello di organizzazione, esegui questo comando:
gcloud logging read "logName : organizations/ORGANIZATION_ID /logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID
Per ulteriori informazioni sull'utilizzo dello strumento gcloud
, consulta
Leggere le voci di log.
Quando crei le query, sostituisci le variabili con valori validi, sostituire i valori appropriati a livello di progetto, cartella Nome o identificatori dell'audit log a livello di organizzazione elencati nell'audit log i nomi degli utenti. Ad esempio, se la query include un valore PROJECT_ID, allora il valore l'identificatore del progetto che fornisci deve fare riferimento all'elemento attualmente selezionato progetto Firebase.
Per utilizzare l'API Logging per esaminare le voci di audit log, esegui la seguenti:
Vai alla sezione Prova questa API della documentazione per
entries.list
: .Inserisci quanto segue nella sezione Corpo della richiesta del modulo Prova questa API. Fai clic su questo modulo precompilato. compila automaticamente il corpo della richiesta, ma devi specifica un valore
PROJECT_ID
valido in ogni log i nomi degli utenti.{ "resourceNames": [ "projects/
PROJECT_ID " ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID /logs/cloudaudit.googleapis.com" }Fai clic su Esegui.
Per ulteriori dettagli sulle query, consulta Linguaggio di query di Logging.
Ecco un esempio di voce dell'audit log e come trovare la più importante vedere le informazioni al suo interno, Esempio di voce del log di controllo.
Audit log delle route
Puoi indirizzare i log di controllo alle destinazioni supportate nello stesso modo in cui puoi indirizzare altri tipi di log. Ecco Ecco alcuni motivi per cui potresti voler eseguire il routing degli audit log:
Per conservare gli audit log per un periodo di tempo più lungo o per utilizzarli in modo più efficace di ricerca, puoi eseguire il routing delle copie dei log di controllo Google Cloud Storage, BigQuery o Google Cloud Pub/Sub. Utilizza Cloud Pub/Sub per eseguire il routing verso altre applicazioni, altri repository e terze parti.
Per gestire i log di controllo in tutta l'organizzazione, puoi creare sink aggregati che possono di routing da uno o più progetti Firebase nell'organizzazione.
- Se gli audit log di accesso ai dati abilitati causano il possibile superamento della soglia consentita per i progetti Firebase, puoi creare sink che escludano gli audit log di accesso ai dati da Logging.
Per istruzioni sui log di routing, consulta Configura i sink.
Prezzi
Gli audit log delle attività amministrative e gli audit log degli eventi di sistema non hanno costi.
Audit log degli accessi ai dati e Gli audit log dei criteri negati sono addebitabili.
Per saperne di più sui prezzi di Cloud Logging, consulta Prezzi della suite operativa di Google Cloud: Cloud Logging.