Registrazione dell'audit per Firebase App Check

Questa pagina descrive i registri di controllo creati da Firebase come parte dei registri di controllo del cloud .

Panoramica

I servizi Firebase scrivono registri di controllo per aiutarti a rispondere alle domande "Chi ha fatto cosa, dove e quando?". Si tratta di Cloud Audit Log, forniti come parte del progetto Google Cloud connesso al tuo progetto Firebase .

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

Per una panoramica generale dei registri di controllo del cloud, vedere Panoramica dei registri di controllo del cloud . Per una comprensione più approfondita del formato del registro di controllo, vedere Informazioni sui registri di controllo .

Registri di controllo disponibili

I seguenti tipi di log di controllo sono disponibili per Firebase App Check:

  • Registri di controllo dell'attività dell'amministratore

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

    Non puoi disabilitare i log di controllo dell'attività dell'amministratore.

  • Registri di controllo dell'accesso ai dati

    Include operazioni di "lettura dell'amministratore" che leggono i metadati o le 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 di Accesso ai dati, è necessario abilitarli in modo esplicito .

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

Operazioni controllate

Di seguito vengono riepilogate quali operazioni API corrispondono a ciascun tipo di registro di controllo in Firebase App Check:

Categoria dei registri di controllo Operazioni di verifica dell'app Firebase
Operazioni di progetto
Attività di amministrazione Servizio di aggiornamento
BatchUpdateServices
Accesso ai dati (ADMIN_READ) Ottieni servizio
ListServices
Operazioni dell'app
Attività di amministrazione UpdateAppAttestConfig
UpdateDeviceCheckConfig
AggiornaPlayIntegrityConfig
UpdateRecaptchaEnterpriseConfig
UpdateRecaptchaV3Config
Aggiorna SafetyNetConfig
CreaDebugToken
UpdateDebugToken
EliminaDebugToken
Accesso ai dati (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
GetRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
GetDebugToken
ListDebugTokens

Formato del registro di controllo

Le voci del registro di controllo includono i seguenti oggetti:

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

    • Il logName contiene l'ID risorsa e il tipo di registro 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 dell'audit, ovvero un oggetto AuditLog contenuto nel campo protoPayload della voce di registro.

  • Informazioni di controllo specifiche del servizio facoltative, 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 dei metadata .

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

Nome registro

I nomi delle risorse dei log di controllo del cloud indicano il progetto Firebase o un'altra entità Google Cloud che possiede i log di controllo e se il log contiene dati di registrazione di controllo di attività dell'amministratore, accesso ai dati, criteri negati o eventi di sistema. Ad esempio, di seguito vengono mostrati i nomi dei registri per i registri di controllo dell'attività di amministrazione a livello di progetto e i registri 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 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 del relativo tipo di risorsa monitorata, consulta Mappare i servizi sulle risorse .

Tipi di risorse

I log di controllo di Firebase App Check 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 registrazione di controllo

I registri di controllo dell'attività dell'amministratore sono sempre abilitati; non puoi disabilitarli.

I log di controllo di accesso ai dati sono disabilitati per impostazione predefinita e non vengono scritti se non abilitati in modo esplicito (l'eccezione sono i log di controllo di accesso ai dati per BigQuery, che non possono essere disabilitati).

Per istruzioni sull'abilitazione di alcuni o tutti i log di controllo di accesso ai dati, vedere Configurare i log di accesso ai dati .

Permessi e ruoli

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

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

  • Il ruolo Visualizzatore registri ( roles/logging.viewer ) consente l'accesso in sola lettura ai registri di controllo Attività dell'amministratore, Criteri negati ed Eventi di sistema. Se hai solo questo ruolo, non puoi visualizzare i log di controllo di Accesso ai dati che si trovano 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 ​​sono archiviati in bucket definiti dall'utente, qualsiasi utente che dispone delle autorizzazioni per leggere i log in tali bucket può 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 di Cloud IAM che si applicano ai dati dei log di controllo, consulta Controllo dell'accesso .

Visualizza i registri

Per trovare e visualizzare i registri di controllo, è necessario conoscere l'identificatore del progetto, della cartella o dell'organizzazione Firebase per cui si desidera visualizzare le informazioni di registrazione del controllo. Puoi specificare ulteriormente altri campi LogEntry indicizzati, come resource.type ; per i dettagli, consulta Trova rapidamente le voci di registro .

Di seguito sono riportati i nomi del registro 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 di registrazione.

Console

Puoi utilizzare Logs Explorer nella console GCP per recuperare le voci del registro 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 Google Cloud 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 dell'attività dell'amministratore, seleziona l'attività .
      • Per i log di controllo dell'accesso ai dati, selezionare data_access .
      • Per i log di controllo degli eventi di sistema, seleziona system_event .
      • Per i log di controllo di policy negata, selezionare policy .

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

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

gcloud

Lo strumento a riga di comando gcloud fornisce un'interfaccia a riga di comando all'API di registrazione cloud. Fornisci un PROJECT_ID , FOLDER_ID o ORGANIZATION_ID valido in ciascuno dei nomi di registro.

Per leggere le voci del registro 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, eseguire 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, eseguire 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 Leggi le voci di registro .

API

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

Per utilizzare l'API di registrazione per esaminare le voci del registro di controllo, procedere 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 si riempie 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 sull'esecuzione di query, vedere Linguaggio query di registrazione .

Per un esempio di una voce del registro di controllo e come trovare le informazioni più importanti in essa, vedere Voce del registro di controllo di esempio .

Registri 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 indirizzare le copie dei log di controllo a Google Cloud Storage, BigQuery o Google Cloud Pub/Sub. Utilizzando Cloud Pub/Sub, puoi eseguire il routing ad altre applicazioni, altri repository e a terze parti.

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

  • Se i log di controllo di accesso ai dati abilitati stanno spingendo i tuoi progetti Firebase sulle assegnazioni di log, puoi creare sink che escludono i log di controllo di accesso ai dati dalla registrazione.

Per istruzioni sui log di routing, vedere Configura sink .

Prezzo

I registri di controllo dell'attività dell'amministratore e i registri di controllo degli eventi di sistema sono gratuiti.

I registri di controllo di accesso ai dati e i registri di controllo di policy negata sono a pagamento.

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