Gcp/Firebase/Firestore/ルール
提供: 初心者エンジニアの簡易メモ
すべて読み書き許可
初期はデバッグ用でこのようになってる
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write; } } }
そのままにしてると、以下メールが来る。
[Firebase] Cloud Firestore データベースに安全でないルールがあります セキュリティ ルールに関する次の問題が検出されました: すべてのユーザーがデータベース全体を読み取ることができます すべてのユーザーがデータベース全体に書き込むことができます プロジェクトに強力なセキュリティ ルールが設定されていないため、誰でもデータベース全体にアクセスできます。攻撃者はデータを窃取、変更、削除でき、請求額を増やすことも可能です。 分析は毎日実行されます。過去 24 時間以内にルールを変更した場合、そのルールは考慮されていない可能性があります。
指定したコレクションの読み書き許可
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /users/{userID} { allow read, write; } } }
users以外のコレクションがあったときは読み書き許可となる様子。
指定した複数のコレクションの読み書き許可
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /users/{userID} { allow read, write; } match /scores/{scoreID} { allow read, write; } } }
指定したコレクションの読み書きすべて拒否
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }
documentのコレクションがあったときは読み書き拒否