Autenticação e autorização

O plug-in de telemetria do Firebase requer um ID do projeto do Google Cloud ou do Firebase e credenciais do aplicativo.

Se você não tiver um projeto e uma conta do Google Cloud, configure um no Console do Firebase ou no Console do Google Cloud. Todos os IDs de projetos do Firebase são IDs de projetos do Google Cloud.

Ativar APIs

Antes de adicionar o plug-in, verifique se as seguintes APIs estão ativadas no projeto:

Essas APIs precisam ser listadas no painel de APIs do seu projeto. Clique para saber como ativar e desativar APIs.

Autenticação de usuários

Para exportar a telemetria do seu ambiente de desenvolvimento local para o monitoramento do Firebase Genkit, você precisa se autenticar com o Google Cloud.

A maneira mais fácil de fazer a autenticação é usar a gcloud CLI, que vai disponibilizar automaticamente suas credenciais para o framework usando as Application Default Credentials (ADC).

Se você não tiver a CLI gcloud instalada, siga primeiro as instruções de instalação.

  1. Faça a autenticação usando a CLI gcloud:

    gcloud auth application-default login
  2. Configurar o ID do projeto

    gcloud config set project PROJECT_ID

Implantar no Google Cloud

Se você implantar o código em um ambiente do Google Cloud ou do Firebase (Cloud Functions, Cloud Run, App Hosting etc.), o ID do projeto e as credenciais serão detectados automaticamente com as Application Default Credentials.

É necessário aplicar os seguintes papéis à conta de serviço que está executando seu código (ou seja, a "conta de serviço anexada") usando o console do IAM:

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

Não sabe qual conta de serviço é a certa? Consulte a seção Encontrar ou criar sua conta de serviço.

Implantar fora do Google Cloud (com ADC)

Se possível, use Application Default Credentials para disponibilizar credenciais ao plug-in.

Isso geralmente envolve gerar uma chave de conta de serviço e implantar essas credenciais no ambiente de produção.

  1. Siga as instruções para configurar uma chave de conta de serviço.

  2. Verifique se a conta de serviço tem os seguintes papéis:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Implante o arquivo de credencial na produção (não verifique no código-fonte)

  4. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho para o arquivo de credenciais.

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

Não sabe qual conta de serviço é a certa? Consulte a seção Encontrar ou criar sua conta de serviço.

Implantar fora do Google Cloud (sem ADC)

Em alguns ambientes sem servidor, talvez não seja possível implantar um arquivo de credencial.

  1. Siga as instruções para configurar uma chave de conta de serviço.

  2. Verifique se a conta de serviço tem os seguintes papéis:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Faça o download do arquivo de credenciais.

  4. Atribua o conteúdo do arquivo de credenciais à variável de ambiente GCLOUD_SERVICE_ACCOUNT_CREDS da seguinte maneira:

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

Não sabe qual é a conta de serviço certa? Consulte a seção Encontrar ou criar sua conta de serviço.

Encontrar ou criar sua conta de serviço

Para encontrar a conta de serviço adequada:

  1. Acesse a página Contas de serviço no console do Google Cloud.
  2. Selecionar o projeto
  3. Encontre a conta de serviço adequada. As contas de serviço padrão comuns são as seguintes:
  • Funções do Firebase e Cloud Run

    PROJECT ID-compute@developer.gserviceaccount.com

  • App Engine

    PROJECT ID@appspot.gserviceaccount.com

  • Hospedagem de apps

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

Se você estiver implantando fora do ecossistema do Google ou não quiser usar uma conta de serviço padrão, crie uma conta de serviço no console do Google Cloud.