Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

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

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

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

ルールの作成を開始する前に、使用しているFirebase製品の特定のFirebaseセキュリティルール言語を確認することをお勧めします。 Cloud Storageは、 match依存するCommon Expression Language(CEL)のスーパーセットを活用し、定義されたパスでアクセスするための条件を設定allowステートメントをallowます。

Firebase SecurityRules言語のコア構文を学ぶことから始めます

認証を設定する

まだ行っていない場合は、アプリにFirebaseAuthenticationを追加します。 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セキュリティルールの管理とデプロイで概説されている手順に従います。