【Firebase】データベースとセキュリティルールの作成手順

Firebaseの中にデータベースを作成するには、Cloud Firestoreというプロダクトを使います。

Cloud Firestoreにデータベースを作成するときに設定する項目は、「ロケーション」と「セキュリティルール」の2つです。

この記事では、Firebaseにすでに作成してあるプロジェクトに、データベースを作成していきます。

Firestoreのコンソール画面(トップ画面)に、自分のプロジェクトが一覧表示されている様子
Firebaseのコンソール画面からデータベースを作成するプロジェクトを選ぶ
https://firebase.google.com/

Firebaseの「プロジェクト」とは、アプリ一つ分を管理する「箱」です。
その「箱」の中に、色々な機能(プロダクト)を追加します。

1つのプロジェクトで複数のアプリを管理することもできるようですが、非推奨とされています。

目次

Firebaseプロジェクトにデータベースを作る

Cloud Firestoreを選択

Firebaseにデータベースを追加する初期画面
画面左側のメニューからFirebase Databaseを選ぶ

Firebaseのプロジェクトにデータベースを作成するには、画面左側の「プロダクトのカテゴリ」>「構築」>「Firestore Database」を選びます。(ショートカットが出てれば、ショートカットをクリック)

プロダクトの表示名は、メニューでは「Cloud Firestore」ではなくて「Firebase Database」になっていて、似たような名前がいくつもあって迷うので注意して。

「データベースを作成」

「Cloud Firestore」が表示されたら、画面中央の「データベースを作成」をクリックします。

ロケーションの設定

次に、データベースを保存するサーバーの場所(ロケーション)を選びます。
このロケーションは、あとから変更することができません。

データベースを保存するサーバーの場所を、プルダウンメニューから選ぶ画面
日本だと「東京」「大阪」のどちらかを選べばOK

日本なら「asia-northeast1 (Tokyo)」「asia-northeast2 (Osaka)」のどちらかを選べば良いけど、ロケーションによって性能が違うので利用料金が変わります。

でも利用料金には、Cloud Firestoreには「無料割り当て」分があるので、個人で使うならほとんどの場合は無料で使える枠を超えることはなさそうです。

Cloud Firestoreの利用料金の無料割り当ての使用量
https://firebase.google.com/docs/firestore/quotas?hl=ja

というわけで「東京」を選択。

選択したロケーションは、データベース作成後に画面の最下部に表示されます。

Cloud Firestoreで選択したロケーションは、データベースが作成されると画面下にメモ書きのように表示されている例
画面の一番下「データベースの場所: asia-northeast1」の表示で確認できる

データベースへのアクセス数など、無料枠を超えた場合の利用料金。

東京

Cloud Firestoreでロケーションを「東京」とした場合の料金体系
「東京」の利用料金(2025.5.11時点)
https://firebase.google.com/docs/firestore/pricing?hl=ja#tokyo

ロサンゼルス

Cloud Firestoreでロケーションを「ロサンゼルス」とした場合の料金体系
「ロサンゼルス」の利用料金は「東京」より少し安い(2025.5.11時点)
https://firebase.google.com/docs/firestore/pricing?hl=ja#la

Firebase Documentの関連記事

セキュリティルールの作成

次は、セキュリティルールの作成です。

「セキュリティ ルール」では、「データベースにアクセスできる人」に制限をかけることができます。

設定画面では、まず「本番環境モード」か「テストモード」かを選びます。

Cloud Firestoreでデータベースを使う際に選択する2つのモード(「本番環境モード」と「テストモード」)を表示している画面
「本番環境モード」か「テストモード」か選んで「作成」をクリック

デフォルトは「本番環境モード」(限定公開)が選ばれているので、そのまま「本番環境モード」で「作成」します。

画面右側にルールのコードが出ていますが、ここではルールの編集はできません。
モードを選択したあとで編集できるようになります。

Cloud Firestoreのデータベース作成中の画面表示で「Cloud Firestoreをプロビジョニングしています...」と表示されている例
仮設定が終わるまで少しだけ待つ…

以前のセキュリティルールの設定手順では、モードを選ぶのと同時にルールの編集もできていましたが、今(2025.5.11現在)は、「まず仮ルールを作成したあとに編集する」という手順に変更されているようです。

セキュリティルールの編集

設定直後の「本番環境モード」のデフォルトルールは、「すべて拒否」になっているので、必要に応じて編集します。

Cloud Firestoreのセキュリティルールで「本番環境モード」を選んだとき、初期設定で「すべて拒否」になっている例
デフォルトでは「すべて拒否」

デフォルトでは、下のように「すべて拒否」になっています。(6行目)

allow read, write: if false;

今回の私の場合は、「Firebaseの[Authentication]を使って設定したGoogle認証できた人だけが、Firebaseのデータベースにアクセス可能」としたいので、「認証必須」のルールrequest.auth != nullに書き換えます。

Cloud Firestoreのデータベースへのアクセス制限を設定する際の「認証必須」のときのコード
https://firebase.google.com/docs/firestore/security/get-started?hl=ja#auth-requiredのサンプルコード
allow read, write: if request.auth != null;

公開と確認

ルールを編集したら「公開」をクリックして確定させます。

作成したセキュリティルールを確認するには、「Cloud Firestore」のタイトル下の「ルール」タブに、変更履歴と一緒に表示されるようになります。

Cloud Firestoreで作成したセキュリティルールを編集すると、「公開」「破棄」のボタンが表示されている画面
編集すると「公開」「破棄」ボタンが表示される
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次