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 がインストールされていない場合は、まずインストール手順に沿ってインストールします。
gcloud
CLI を使用して認証します。gcloud auth application-default login
プロジェクト 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 を使用)
可能であれば、アプリケーションのデフォルト認証情報を使用して、プラグインで認証情報を使用できるようにします。
通常、これはサービス アカウント キーを生成し、その認証情報を本番環境にデプロイすることを含みます。
手順に沿ってサービス アカウント キーを設定します。
サービス アカウントに次のロールがあることを確認します。
roles/monitoring.metricWriter
roles/cloudtrace.agent
roles/logging.logWriter
認証情報ファイルを本番環境にデプロイします(ソースコードにチェックインしないでください)。
GOOGLE_APPLICATION_CREDENTIALS
環境変数を認証情報ファイルのパスに設定します。GOOGLE_APPLICATION_CREDENTIALS = "path/to/your/key/file"
どのサービス アカウントが適しているかわからない場合は、サービス アカウントを確認または作成するをご覧ください。
Google Cloud の外部にデプロイする(ADC なし)
サーバーレス環境によっては、認証情報ファイルをデプロイできない場合があります。
手順に沿ってサービス アカウント キーを設定します。
サービス アカウントに次のロールがあることを確認します。
roles/monitoring.metricWriter
roles/cloudtrace.agent
roles/logging.logWriter
認証情報ファイルをダウンロードします。
次のように、認証情報ファイルの内容を
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"
}'
どのサービス アカウントが適しているかわからない場合は、サービス アカウントを確認または作成するをご覧ください。
サービス アカウントを確認または作成する
適切なサービス アカウントを確認するには:
- Google Cloud コンソールの [サービス アカウント] ページに移動します。
- プロジェクトを選択する
- 適切なサービス アカウントを見つけます。一般的なデフォルトのサービス アカウントは次のとおりです。
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 コンソールでサービス アカウントを作成できます。