Аутентификация и авторизация

Плагин телеметрии Firebase требует идентификатор проекта Google Cloud или Firebase и учетные данные приложения.

Если у вас нет проекта и учетной записи Google Cloud, вы можете настроить их в консоли Firebase или в консоли Google Cloud . Все идентификаторы проектов Firebase являются идентификаторами проектов Google Cloud.

Включить API

Прежде чем добавлять плагин, убедитесь, что для вашего проекта включены следующие API:

Эти API должны быть перечислены на панели управления API вашего проекта. Нажмите, чтобы узнать больше о том, как включать и отключать API .

Аутентификация пользователя

Чтобы экспортировать телеметрию из локальной среды разработки в Firebase Genkit Monitoring, вам необходимо пройти аутентификацию в Google Cloud.

Самый простой способ пройти аутентификацию — использовать интерфейс командной строки gcloud, который автоматически сделает ваши учетные данные доступными для платформы через учетные данные приложения по умолчанию (ADC) .

Если у вас не установлен интерфейс командной строки gcloud, сначала следуйте инструкциям по установке .

  1. Аутентификация с помощью интерфейса командной строки gcloud :

    gcloud auth application-default login
  2. Установите идентификатор вашего проекта

    gcloud config set project PROJECT_ID

Развертывание в Google Cloud

При развертывании вашего кода в среде Google Cloud или Firebase (Cloud Functions, Cloud Run, App Hosting и т. д.) идентификатор проекта и учетные данные будут обнаружены автоматически с помощью учетных данных приложения по умолчанию .

Вам нужно будет применить следующие роли к учетной записи службы, на которой выполняется ваш код (т. е. «подключенная учетная запись службы») с помощью консоли IAM :

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

Не уверены, какая учетная запись службы подходит? См. раздел «Найти или создать учетную запись службы» .

Развертывание за пределами Google Cloud (с помощью ADC)

Если возможно, используйте учетные данные приложения по умолчанию , чтобы сделать учетные данные доступными для плагина.

Обычно это включает в себя создание ключа учетной записи службы и развертывание этих учетных данных в вашей производственной среде.

  1. Следуйте инструкциям, чтобы настроить ключ учетной записи службы .

  2. Убедитесь, что учетная запись службы имеет следующие роли:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Разверните файл учетных данных в рабочей среде ( не проверяйте исходный код).

  4. Задайте переменную среды GOOGLE_APPLICATION_CREDENTIALS в качестве пути к файлу учетных данных.

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

Не уверены, какая учетная запись службы подходит? См. раздел «Найти или создать учетную запись службы» .

Развертывание за пределами Google Cloud (без ADC)

В некоторых бессерверных средах развернуть файл учетных данных может оказаться невозможным.

  1. Следуйте инструкциям, чтобы настроить ключ сервисной учетной записи .

  2. Убедитесь, что учетная запись службы имеет следующие роли:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Загрузите файл учетных данных.

  4. Назначьте содержимое файла учетных данных переменной среды GCLOUD_SERVICE_ACCOUNT_CREDS следующим образом:

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

Не уверены, какая учетная запись службы подходит? См. раздел «Найти или создать учетную запись службы» .

Найдите или создайте свою учетную запись службы

Чтобы найти соответствующую учетную запись службы:

  1. Перейдите на страницу сервисных аккаунтов в Google Cloud Console.
  2. Выберите свой проект
  3. Найдите соответствующую учетную запись службы. Общие учетные записи служб по умолчанию следующие:
  • Функции Firebase и Cloud Run

    PROJECT ID -compute@developer.gserviceaccount.com

  • Механизм приложений

    PROJECT ID @appspot.gserviceaccount.com

  • Хостинг приложений

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

Если вы выполняете развертывание за пределами экосистемы Google или не хотите использовать учетную запись службы по умолчанию, вы можете создать учетную запись службы в консоли Google Cloud.