Autenticación y autorización

El complemento de telemetría de Firebase requiere un ID de proyecto de Google Cloud o Firebase y credenciales de la aplicación.

Si no tienes un proyecto ni una cuenta de Google Cloud, puedes configurar uno en Firebase console o en la consola de Google Cloud. Todos los IDs de proyectos de Firebase son IDs de proyectos de Google Cloud.

Habilita las APIs

Antes de agregar el complemento, asegúrate de que las siguientes APIs estén habilitadas para tu proyecto:

Estas APIs deberían estar enumeradas en el panel de la API de tu proyecto. Haz clic para obtener más información sobre cómo habilitar o inhabilitar las APIs.

Autenticación de usuarios

Para exportar la telemetría de tu entorno de desarrollo local a Firebase Genkit Monitoring, deberás autenticarte con Google Cloud.

La forma más fácil de autenticarte es usar la CLI de gcloud, que hará que tus credenciales estén disponibles automáticamente para el framework a través de las credenciales predeterminadas de la aplicación (ADC).

Si no tienes instalada la CLI de gcloud, primero sigue las instrucciones de instalación.

  1. Autentica con la CLI de gcloud:

    gcloud auth application-default login
  2. Determina tu ID del proyecto

    gcloud config set project PROJECT_ID

Implementa en Google Cloud

Si implementas tu código en un entorno de Google Cloud o Firebase (Cloud Functions, Cloud Run, App Hosting, etc.), el ID y las credenciales del proyecto se descubrirán automáticamente con las Credenciales predeterminadas de la aplicación.

Deberás aplicar los siguientes roles a la cuenta de servicio que ejecuta tu código (es decir, la "cuenta de servicio adjunta") con la consola de IAM:

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

¿No sabes qué cuenta de servicio es la correcta? Consulta la sección Busca o crea tu cuenta de servicio.

Implementación fuera de Google Cloud (con ADC)

Si es posible, usa las Credenciales predeterminadas de la aplicación para que las credenciales estén disponibles para el complemento.

Por lo general, esto implica generar una clave de cuenta de servicio y, luego, implementar esas credenciales en tu entorno de producción.

  1. Sigue las instrucciones para configurar una clave de cuenta de servicio.

  2. Asegúrate de que la cuenta de servicio tenga los siguientes roles:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Implementa el archivo de credenciales en producción (no lo verifiques en el código fuente).

  4. Establece la variable de entorno GOOGLE_APPLICATION_CREDENTIALS como la ruta de acceso al archivo de credenciales.

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

¿No sabes qué cuenta de servicio es la correcta? Consulta la sección Busca o crea tu cuenta de servicio.

Implementación fuera de Google Cloud (sin ADC)

En algunos entornos sin servidor, es posible que no puedas implementar un archivo de credenciales.

  1. Sigue las instrucciones para configurar una clave de cuenta de servicio.

  2. Asegúrate de que la cuenta de servicio tenga los siguientes roles:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Descarga el archivo de credenciales.

  4. Asigna el contenido del archivo de credenciales a la variable de entorno GCLOUD_SERVICE_ACCOUNT_CREDS de la siguiente manera:

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"
}'

¿No sabes qué cuenta de servicio es la correcta? Consulta la sección Busca o crea tu cuenta de servicio.

Busca o crea tu cuenta de servicio

Para encontrar la cuenta de servicio adecuada, haz lo siguiente:

  1. Navega a la página de cuentas de servicio en la consola de Google Cloud.
  2. Selecciona tu proyecto
  3. Busca la cuenta de servicio adecuada. Las cuentas de servicio predeterminadas comunes son las siguientes:
  • Funciones de Firebase y Cloud Run

    PROJECT ID-compute@developer.gserviceaccount.com

  • App Engine

    PROJECT ID@appspot.gserviceaccount.com

  • Hosting de apps

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

Si realizas la implementación fuera del ecosistema de Google o no quieres usar una cuenta de servicio predeterminada, puedes crear una cuenta de servicio en la consola de Google Cloud.