Uwierzytelnianie i autoryzacja

Wtyczka telemetryi Firebase wymaga identyfikatora projektu Google Cloud lub Firebase oraz danych logowania do aplikacji.

Jeśli nie masz projektu ani konta Google Cloud, możesz je skonfigurować w konsoli Firebase lub w konsoli Google Cloud. Wszystkie identyfikatory projektów Firebase to identyfikatory projektów Google Cloud.

Włącz interfejsy API

Zanim dodasz wtyczkę, sprawdź, czy w projekcie są włączone te interfejsy API:

Te interfejsy API powinny być wymienione w panelu interfejsów API Twojego projektu. Kliknij, aby dowiedzieć się więcej o włączaniu i wyłączaniu interfejsów API.

Uwierzytelnianie użytkowników

Aby wyeksportować dane telemetryczne z lokalnego środowiska programistycznego do Firebase Genkit Monitoring, musisz uwierzytelnić się w Google Cloud.

Najprostszym sposobem uwierzytelnienia się jako użytkownik jest użycie wiersza poleceń gcloud, który automatycznie udostępnia dane logowania do platformy za pomocą domyślnego uwierzytelniania aplikacji (ADC).

Jeśli nie masz zainstalowanego interfejsu wiersza poleceń gcloud, najpierw postępuj zgodnie z tymi instrukcjami.

  1. Uwierzytelnij się za pomocą interfejsu wiersza poleceń gcloud:

    gcloud auth application-default login
  2. Ustawianie identyfikatora projektu

    gcloud config set project PROJECT_ID

Wdrażanie w Google Cloud

Jeśli wdrażasz kod w środowisku Google Cloud lub Firebase (Cloud Functions, Cloud Run, App Hosting itp.), identyfikator projektu i dane uwierzytelniające zostaną automatycznie wykryte za pomocą domyślnych danych uwierzytelniających aplikacji.

Musisz przypisać te role do konta usługi, które uruchamia Twój kod (czyli „dołączone konto usługi”), korzystając z konsoli Uprawnienia:

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

Nie wiesz, które konto usługi jest właściwe? Przeczytaj sekcję Znajdź lub utwórz konto usługi.

Wdrażanie poza Google Cloud (za pomocą ADC)

W miarę możliwości użyj domyślnych danych logowania aplikacji, aby udostępnić dane logowania wtyczce.

Zwykle wymaga to wygenerowania klucza konta usługi i wdrożenia tych danych logowania do środowiska produkcyjnego.

  1. Postępuj zgodnie z instrukcjami, aby skonfigurować klucz konta usługi.

  2. Upewnij się, że konto usługi ma przypisane te role:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Wdrożyć plik danych logowania w środowisku produkcyjnym (nie dodawać do kodu źródłowego).

  4. Ustaw zmienną środowiskową GOOGLE_APPLICATION_CREDENTIALS jako ścieżkę do pliku z danymi logowania.

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

Nie wiesz, które konto usługi jest właściwe? Przeczytaj sekcję Znajdź lub utwórz konto usługi.

Wdrażanie poza Google Cloud (bez ADC)

W niektórych środowiskach bez serwera nie można wdrożyć pliku z danymi logowania.

  1. Postępuj zgodnie z instrukcjami, aby skonfigurować klucz konta usługi.

  2. Upewnij się, że konto usługi ma przypisane te role:

    • roles/monitoring.metricWriter
    • roles/cloudtrace.agent
    • roles/logging.logWriter
  3. Pobierz plik danych logowania.

  4. Przypisz zawartość pliku z danymi logowania do zmiennej środowiskowej GCLOUD_SERVICE_ACCOUNT_CREDS w ten sposób:

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

Nie wiesz, które konto usługi jest właściwe? Przeczytaj sekcję Znajdź lub utwórz konto usługi.

Znajdowanie lub tworzenie konta usługi

Aby znaleźć odpowiednie konto usługi:

  1. Otwórz w konsoli Google Cloud stronę kont usługi.
  2. Wybór projektu
  3. Znajdź odpowiednie konto usługi. Typowe domyślne konta usługi:
  • Funkcje Firebase i Cloud Run

    PROJECT ID-compute@developer.gserviceaccount.com

  • App Engine

    PROJECT ID@appspot.gserviceaccount.com

  • App Hosting

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

Jeśli wdrażasz aplikację poza ekosystemem Google lub nie chcesz używać domyślnego konta usługi, możesz utworzyć konto usługi w konsoli Google Cloud.