Firebase プロジェクトは、Firebase 固有の構成とサービスを追加した Google Cloud プロジェクトです。これは一般的に Google Cloud プロジェクトへの「Firebase の追加」と呼ばれます。このページでは、「Firebase を追加」する方法と、よくある質問(FAQ)について説明します。
Firebase を Google Cloud プロジェクトに追加すると、Firebase は自動的に複数の API を有効にし、サービス アカウントを作成して、すべての Firebase サービスとインターフェースの使用を簡素化します。また、Firebase は Google Cloud コンソールの [ラベル] ページでプロジェクトに firebase:enabled
ラベルを追加します。詳しくは、Firebase を追加した場合の影響をご覧ください。
Firebase プロジェクトと Google Cloud プロジェクトの関係
Firebase プロジェクトは Google Cloud プロジェクトであるため、次のような特長があります。
Firebase コンソールだけでなく、Google Cloud コンソールや Google API Console からプロジェクトにアクセスして操作できます。
Firebase CLI、gcloud CLI、Google の Terraform リソースを使用してプロジェクトを操作できます。
プロジェクトで、Firebase と Google Cloud の両方のプロダクトと API を使えます。
プロジェクトの IAM 権限とロールは、Firebase と Google Cloud 間で共有されます。プロジェクト メンバー(プリンシパル)が Google Cloud プロジェクトに対して持っているアクセス権は、Firebase プロジェクトにも適用されます(その逆も同様です)。
プロジェクトでの課金は、Firebase と Google Cloud 間で共有されます。Google Cloud プロジェクトで課金が有効になっている場合、Firebase プロジェクトは Firebase の従量課金制の Blaze 料金プランになります。
プロジェクトの一意の識別子(プロジェクト番号やプロジェクト ID など)は、Firebase と Google Cloud 間で共有されます。
Google Cloud プロジェクトに適用されているリソース階層(組織、フォルダなど)は、Firebase プロジェクトにも適用されます。
プロジェクトを削除すると、Firebase と Google Cloud の両方で削除されます。
プロジェクト内のリソースやデータの削除または変更は、Firebase と Google Cloud の両方に適用されます。
既存の Google Cloud プロジェクトに Firebase を追加する方法
既存の Google Cloud プロジェクトに「Firebase を追加」するには、次のいずれかのオプションを使用します。Google Cloud プロジェクトに Firebase を追加するために必要な権限があることを確認します。
既存の Google Cloud プロジェクトに Firebase を追加すると、元に戻すことはできません(つまり、Google Cloud プロジェクトから「Firebase を完全に削除」することはできません)。詳しくは、こちらのよくある質問をご覧ください。
Firebaseコンソールに移動します。
既存の Google Cloud プロジェクトにアクセスできる Google アカウントでログインします。
[プロジェクトを作成] をクリックします。
ページの下部にある [すでに Google Cloud プロジェクトがある場合] をクリックします。
テキスト フィールドに既存のプロジェクトのプロジェクト ID を入力し、表示されたリストからプロジェクトを選択します。
[プロジェクトを開く] をクリックします。
プロンプトが表示されたら、Firebase の利用規約に同意します。
画面上の手順に沿って「Firebase を追加」し、Firebase プロジェクトを設定します。
Google Analytics の有効にするかどうかは任意です。
まだインストールしていない場合は、Firebase CLI をインストールします。
既存の Google Cloud プロジェクトにアクセスできる Google アカウントでログインします。
次のコマンドを実行します。
firebase projects:addfirebase
プロンプトが表示されたら、表示されたリストから既存の Google Cloud プロジェクトを選択します。
既存の Google Cloud プロジェクトで Firebase Management API を有効にします。
API アクセス トークンを生成します。
projects.addFirebase
を呼び出して、プロジェクトの Firebase サービスを有効にします。この呼び出しを行うには、プロジェクトのリソース名が必要です。
詳細な手順については、Firebase ガイドの「Management REST API を使用して Firebase プロジェクトを設定、管理する」のプロジェクトに Firebase サービスを追加するをご覧ください。このガイドの始める前にの手順をすべて実施してください。
既存の Google Cloud プロジェクトで Firebase Management API(
firebase.googleapis.com
)を有効にします。google_firebase_project
リソースを使用して、プロジェクトの Firebase サービスを有効にします。
Terraform と Firebase の使用方法の詳細については、Terraform と Firebase を使ってみるをご覧ください。
よくある質問とトラブルシューティング
Firebase の使用を開始するには、Firebase の利用規約に同意する必要がありますか?
Google Cloud プロジェクトで Firebase のすべての機能にアクセスして使用するには、Firebase の利用規約に同意する必要があります。 また、既存の Google Cloud プロジェクトに「Firebase を追加」するには、Firebase の利用規約に同意する必要もあります。
アクセスするプロジェクトの数にかかわらず、Firebase の利用規約に同意する必要があるのは Google アカウントに対して 1 回だけです。利用規約に同意すると、自分の Google アカウントに対してのみ同意したことになります。プロジェクト メンバー全員に対してプロジェクト レベルで同意したわけではありません。
Firebase の利用規約に同意するには、Firebase コンソールで次のいずれかのオプションを使用します。プロンプトが表示されたら、利用規約に同意します。
Firebase コンソールを使用して新しい Firebase プロジェクトを作成します。
Firebase コンソールで既存の Firebase プロジェクトを開きます(プロジェクトのメンバー(プリンシパル)になるよう招待された場合など)。
Firebase コンソールで既存の Google Cloud を開き、[Firebase を追加] をクリックします。
「Firebase を追加」するために必要な権限
既存の Google Cloud プロジェクトに Firebase を追加するには、プロジェクト メンバー(プリンシパル)に次の IAM 権限が必要です。
firebase.projects.update
resourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
編集者とオーナーの IAM ロールには、デフォルトでこれらの権限が含まれています。
Firebase を追加するには、firebase:enabled
ラベルを追加するだけで十分ですか?
すべての Firebase プロジェクトには、Google Cloud コンソールの [ラベル] ページに firebase:enabled
ラベルがあります。
ただし、プロジェクト ラベルのリストに firebase:enabled
ラベルを手動で追加しても、Google Cloud プロジェクトで Firebase 固有の構成とサービスは有効になりません。これらを有効にするには、Firebase コンソールを使用して Firebase を追加する必要があります(高度なユースケースの場合は、Firebase CLI、Firebase Management REST API、Terraform のいずれかを使用します)。
既存の Google Cloud プロジェクトに「Firebase を追加」するとどうなりますか?
Firebase プロジェクトは、Firebase 固有の構成とサービスを追加した Google Cloud プロジェクトです。そのため、既存の Google Cloud プロジェクトに Firebase を追加すると、Firebase は次の操作を行い、すべての Firebase サービスとインターフェースの使用を簡素化します。
Google Cloud コンソールの [ラベル] ページに
firebase:enabled
ラベルを追加します。「ブラウザ」API キーを作成し、Firebase 関連の API に自動的に制限します。
以下のサービス アカウントを作成します。
service-PROJECT_NUMBER@gcp-sa-firebase.iam.gserviceaccount.com
firebase-adminsdk-random5chars@PROJECT_ID.iam.gserviceaccount.com
以下の API を有効にします。
- App Engine Admin API
- Cloud Pub/Sub API
- Cloud Resource Manager API
- Cloud Runtime Configuration API
- Cloud Testing API
- Firebase Cloud Messaging API
- Firebase Dynamic Links API
- Firebase Hosting API
- Firebase Installations API
- Firebase Management API
- Firebase Remote Config API
- Firebase Remote Config Realtime API
- Firebase Rules API
- Identity Toolkit API
- Token Service API
プロジェクトから「Firebase を削除」できますか?
既存の Google Cloud プロジェクトに Firebase を追加すると、元に戻すことはできません(つまり、Google Cloud プロジェクトから「Firebase を完全に削除」することはできません)。
「Firebase を追加する」プロセスでは、他の Google Cloud 機能で使用できる API とバックエンド サービスが有効になります。これらの有効なサービスをすべて無効にすると、依存関係によって、予期しない結果や意図しない結果が生じる可能性があります。
ただし、必要に応じて、すべての API を手動で無効にし、Firebase の追加時に自動的に作成されて有効化されたラベル、API キー、サービス アカウントを削除できます。
既存の Google Cloud プロジェクトで「Firebase の追加」をブロックできますか?
既存の Google Cloud プロジェクトに Firebase を追加できないように設定することはできませんが、次のことができます。
Firebase を追加するために必要な IAM 権限 firebase.projects.update
を持つプロジェクト メンバー(プリンシパル)を制限します。IAM 拒否ポリシーを使用すると、この設定を効率的に行うことができます。
次のステップ
Firebase プロジェクトの詳細については、以下のリソースをご覧ください。
Firebase プロジェクトについて理解する - Firebase プロジェクトに関する重要なコンセプト(Google Cloud との関係、プロジェクトとアプリやリソースの基本階層など)について簡単に説明しています。
Firebase プロジェクトの設定に関する一般的なベスト プラクティス - Firebase プロジェクトを設定し、プロジェクトにアプリを登録するための一般的でハイレベルなベスト プラクティスについて説明しています。このベスト プラクティスに従うことで、個々の環境を利用する際の明確な開発ワークフローを作成できます。
モバイルアプリとウェブアプリで Firebase を使用するには、アプリを Firebase プロジェクトに登録し、Firebase に接続します(iOS+ | Android | ウェブ | Flutter | Unity | C++)。