Autenticazione e autorizzazione

Il plug-in di telemetria Firebase richiede un ID progetto Google Cloud o Firebase e le credenziali dell'applicazione.

Se non hai un progetto e un account Google Cloud, puoi crearne uno nella console Firebase o nella console Google Cloud. Tutti gli ID progetto Firebase sono ID progetto Google Cloud.

Abilita le API

Prima di aggiungere il plug-in, assicurati che le seguenti API siano abilitate per il tuo progetto:

Queste API devono essere elencate nella dashboard delle API per il tuo project. Fai clic per scoprire di più su come abilitare e disattivare le API.

Autenticazione degli utenti

Per esportare la telemetria dal tuo ambiente di sviluppo locale a Firebase Genkit monitoring, devi autenticarti con Google Cloud.

Il modo più semplice per autenticarti come utente è utilizzare l'interfaccia a riga di comando gcloud, che mettera automaticamente le tue credenziali a disposizione del framework tramite le Credenziali predefinite dell'applicazione (ADC).

Se non hai installato gcloud CLI, segui prima le istruzioni di installazione.

  1. Esegui l'autenticazione utilizzando l'interfaccia a riga di comando gcloud:

    gcloud auth application-default login
  2. Imposta l'ID progetto

    gcloud config set project PROJECT_ID

Esegui il deployment su Google Cloud

Se esegui il deployment del codice in un ambiente Google Cloud o Firebase (Cloud Functions, Cloud Run, App Hosting e così via), l'ID progetto e le credenziali verranno rilevati automaticamente con le Credenziali predefinite dell'applicazione.

Dovrai applicare i seguenti ruoli all'account di servizio che esegue il codice (ovvero "account di servizio collegato") utilizzando la console IAM:

  • roles/monitoring.metricWriter
  • roles/cloudtrace.agent
  • roles/logging.logWriter

Non sai quale account di servizio sia quello giusto? Consulta la sezione Trova o crea il tuo account di servizio.

Esegui il deployment al di fuori di Google Cloud (con ADC)

Se possibile, utilizza Credenziali predefinite dell'applicazione per rendere le credenziali disponibili al plug-in.

In genere, è necessario generare una chiave dell'account di servizio e eseguire il deployment di queste credenziali nell'ambiente di produzione.

  1. Segui le istruzioni per configurare una chiave dell'account di servizio.

  2. Assicurati che l'account di servizio abbia i seguenti ruoli:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Esegui il deployment del file delle credenziali in produzione (non eseguire il check-in nel codice sorgente)

  4. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS come percorso del file delle credenziali.

    GOOGLE_APPLICATION_CREDENTIALS = "path/to/your/key/file"

Non sai quale account di servizio sia quello giusto? Consulta la sezione Trova o crea il tuo account di servizio.

Esegui il deployment al di fuori di Google Cloud (senza ADC)

In alcuni ambienti serverless, potresti non essere in grado di eseguire il deployment di un file di credenziali.

  1. Segui le istruzioni per configurare una chiave dell'account di servizio.

  2. Assicurati che l'account di servizio abbia i seguenti ruoli:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Scarica il file delle credenziali.

  4. Assegna i contenuti del file delle credenziali alla variabile di ambiente GCLOUD_SERVICE_ACCOUNT_CREDS come segue:

GCLOUD_SERVICE_ACCOUNT_CREDS='{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "your-private-key-id",
  "private_key": "your-private-key",
  "client_email": "your-client-email",
  "client_id": "your-client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "your-cert-url"
}'

Non sai quale account di servizio sia quello giusto? Consulta la sezione Trova o crea il tuo account di servizio.

Trova o crea il tuo service account

Per trovare l'account di servizio appropriato:

  1. Vai alla pagina degli account di servizio nella console Google Cloud
  2. Seleziona il progetto
  3. Trova l'account di servizio appropriato. Di seguito sono riportati gli account di servizio predefiniti comuni:
  • Firebase Functions e Cloud Run

    PROJECT ID-compute@developer.gserviceaccount.com

  • App Engine

    PROJECT ID@appspot.gserviceaccount.com

  • Hosting di app

    firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

Se esegui il deployment al di fuori dell'ecosistema Google o non vuoi utilizzare un account di servizio predefinito, puoi crearne uno nella console Google Cloud.