Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Firebaseセキュリティルールの使用を開始する

Firebaseセキュリティルールは、Cloud Firestore、Realtime Database、CloudStorageのデータに堅牢で完全にカスタマイズ可能な保護を提供します。このガイドの手順に従ってルールを簡単に開始し、データを保護し、悪意のあるユーザーからアプリを保護できます。

Firebaseセキュリティルールの言語を理解する

ルールの作成を開始する前に、使用しているFirebase製品の特定のFirebaseセキュリティルール言語を確認することをお勧めします。クラウドストレージはに依存している一般的な表現言語(CEL)のスーパーセットで活用matchしてallowに定義されたパスにアクセスするための条件を設定する文を..

学習することから始めFirebaseセキュリティルール言語のコア構文を

認証を設定する

あなたはすでにそれを行っていない場合は、追加のアプリにFirebase認証を。 Firebase Authenticationは、多くの一般的な認証方法をサポートし、Firebase Security Rulesと統合して、包括的な検証機能を提供します。

アプリの追加のカスタム認証情報を設定できます。

詳細情報FirebaseセキュリティルールとFirebase認証を

データとルールの構造を定義する

データを構造化する方法は、ルールを構造化および実装する方法に影響を与える可能性があります。データ構造を定義するときは、それらがルール構造に与える影響を考慮してください。

たとえば、Cloud Storageでは、各ユーザーの特定の役割を示すフィールドを含めることができます。次に、ルールはそのフィールドを読み取り、それを使用してロールベースのアクセスを許可できます。

データとルールのアーキテクチャを定義するときは、製品に応じて、ルールがカスケードされる方法とカスケードされない方法に注意してください。 Realtime Databaseを使用すると、ルールはトップダウンで機能し、浅いルールが深いルールを上書きします。ルールが特定のパスで読み取りまたは書き込み権限を付与する場合、そのルールの下にあるすべての子ノードへのアクセスも許可します。対照的に、CloudFirestoreとCloudStorageでは、ルールはデータ階層の指定されたレベルにのみ適用され、さまざまなレベルへのアクセスを制御する明示的なルールを記述します。

ルールにアクセスする

既存のルールを表示するには、FirebaseCLIまたはFirebaseコンソールのいずれかを使用します。誤って更新を上書きしないように、常に同じ方法を使用してルールを編集してください。ローカルで定義されたルールが最新のアップデートを反映しているかどうかわからない場合、Firebaseコンソールには常にFirebaseセキュリティルールの最新バージョンが表示されます。

あなたのルールにアクセスするにはFirebaseコンソールプロジェクトを選択し、その後、左側のナビゲーションパネルで、ストレージをクリックします。あなたが正しいデータベースやストレージバケツにいる一度ルールをクリックします。

Firebase CLIからあなたのルールにアクセスするには、あなたに注意ルール・ファイルにアクセスしてくださいfirebase.jsonファイル

基本的なルールを書く

あなたのアプリと理解ルールを開発しているとして、いくつか対処するためのルールを実装してみてください基本的な使用例以下を含むが、:

  • コンテンツ所有者のみ:ユーザーによるコンテンツへのアクセスを制限します。
  • 混血アクセス:ユーザーが書き込みアクセスを制限しますが、公共の読み取りアクセスを許可します。
  • 属性ベースのアクセス:グループへのアクセスを制限したり、ユーザーの入力します。

ルールをテストする

あなたはFirebaseコンソールであなたのFirebaseセキュリティルールを設定している場合は、使用することができますFirebaseルール遊び場をすばやく検証動作に。しかし、我々はとのより徹底的なテストをお勧めしますローカルエミュレータスイートを使用すると、本番への変更を展開する前に。

ルールを展開する

FirebaseコンソールまたはFirebaseCLIを使用して、ルールを本番環境にデプロイします。で説明されている手順に従って、管理および展開Firebaseセキュリティルールを