Firebase セキュリティ ルールの管理とデプロイ

Firebase CLI を使用する

Firebase CLI を使用してルールを編集し、デプロイします。CLI を使用すると、アプリケーション コードとともにルールがバージョン管理下のもとで維持されます。また、既存のデプロイメント プロセスの一環としてルールをデプロイできます。

構成ファイルを生成する

Firebase CLI を使用して Firebase プロジェクトを構成する際に、プロジェクト ディレクトリ内に .rules 構成ファイルを作成します。Firebase プロジェクトの構成を開始するには、以下のコマンドを使用します。

Cloud Firestore

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

Realtime Database

// Set up Realtime Database in your project directory, creates a .rules file
firebase init database

Storage

// Set up Storage in your project directory, creates a .rules file
firebase init storage

ルールを編集して更新する

.rules 構成ファイル内でルールを直接編集します。Firebase CLI で行った編集がすべて Firebase コンソールに反映されるようにしてください。あるいは、Firebase コンソールか Firebase CLI のいずれかを一貫して使用し更新を行います。このようにしなければ、Firebase コンソールで行った更新を上書きしてしまう可能性があります。

更新をテストする

Firebase エミュレータを使用してローカルに更新内容をテストし、アプリのセキュリティ ルールが意図した通りに動作することを確認します。

更新をデプロイする

セキュリティ ルールを更新してテストしたら、ルールを本番環境にデプロイします。以下のコマンドを使用して、セキュリティ ルールだけを選択的にデプロイするか、通常のデプロイメント プロセスの一環としてデプロイします。

Cloud Firestore

// Deploy your .rules file
firebase deploy --only firestore:rules

Realtime Database

// Deploy your .rules file
firebase deploy --only database

Storage

// Deploy your .rules file
firebase deploy --only storage

Firebase コンソールを使用する

Firebase コンソールでルールを編集してデプロイすることもできます。

ルールを編集して更新する

  1. Firebase コンソールを開き、プロジェクトを選択します。
  2. 次に、プロダクト ナビゲーションから [Database] か [Storage] を選択します。
    • [Database]: データベースを選択し、[ルール] をクリックしてルールエディタに移動します。
    • [Storage]: [ルール] をクリックしてルールエディタに移動します。
  3. エディタでルールを直接編集します。

更新をテストする

Firebase コンソールでルールの動作を直接テストするには、ルール シミュレータを使用します。ルールエディタで [シミュレータ] 画面を開き、設定を変更して [実行] をクリックします。エディタの上部に確認メッセージが表示されます。

更新をデプロイする

更新が意図したとおりのものであることを確認したら、[Publish] をクリックします。