認証と承認

Firebase テレメトリー プラグインには、Google Cloud または Firebase のプロジェクト ID とアプリケーション認証情報が必要です。

Google Cloud プロジェクトとアカウントがない場合は、Firebase コンソールまたは Google Cloud コンソールで設定できます。すべての Firebase プロジェクト ID は Google Cloud プロジェクト ID です。

API を有効にする

プラグインを追加する前に、プロジェクトで次の API が有効になっていることを確認します。

これらの API は、プロジェクトの API ダッシュボードに表示されます。API の有効化と無効化の方法について詳しくは、こちらをクリックしてください。

ユーザー認証

ローカル開発環境から Firebase Genkit Monitoring にテレメトリーをエクスポートするには、Google Cloud で認証する必要があります。

自身として認証する最も簡単な方法は、gcloud CLI を使用することです。これにより、アプリケーションのデフォルト認証情報(ADC)を介して、フレームワークで認証情報が自動的に使用可能になります。

gcloud CLI がインストールされていない場合は、まずインストール手順に沿ってインストールします。

  1. gcloud CLI を使用して認証します。

    gcloud auth application-default login
  2. プロジェクト ID を設定する

    gcloud config set project PROJECT_ID

Google Cloud にデプロイする

Google Cloud または Firebase 環境(Cloud Functions、Cloud Run、App Hosting など)にコードをデプロイする場合、プロジェクト ID と認証情報は アプリケーションのデフォルト認証情報によって自動的に検出されます。

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 コンソールの [サービス アカウント] ページに移動します。
  2. プロジェクトを選択する
  3. 適切なサービス アカウントを見つけます。一般的なデフォルトのサービス アカウントは次のとおりです。
  • Firebase Functions と 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

Google エコシステムの外部にデプロイする場合や、デフォルトのサービス アカウントを使用しない場合は、Google Cloud コンソールでサービス アカウントを作成できます。

Firebase gives you the tools and infrastructure you need to build better mobile and web apps, improve app quality, and grow your business.

更新日時: Nov 22, 2023

Firebase Authentication を使用すると、アプリにエンドツーエンドの ID ソリューションを追加することにより、ユーザー認証、ログイン、オンボーディングをわずか数行のコードで簡単に行えます。

更新日時: Feb 28, 2025