「Gcp/Firebase/Firestore/ルール」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→指定したコレクションの読み書き許可) |
(→すべて読み書き許可) |
||
(同じ利用者による、間の8版が非表示) | |||
行10: | 行10: | ||
} | } | ||
} | } | ||
+ | </pre> | ||
+ | そのままにしてると、以下メールが来る。 | ||
+ | <pre> | ||
+ | [Firebase] Cloud Firestore データベースに安全でないルールがあります | ||
+ | セキュリティ ルールに関する次の問題が検出されました: | ||
+ | すべてのユーザーがデータベース全体を読み取ることができます | ||
+ | すべてのユーザーがデータベース全体に書き込むことができます | ||
+ | プロジェクトに強力なセキュリティ ルールが設定されていないため、誰でもデータベース全体にアクセスできます。攻撃者はデータを窃取、変更、削除でき、請求額を増やすことも可能です。 | ||
+ | 分析は毎日実行されます。過去 24 時間以内にルールを変更した場合、そのルールは考慮されていない可能性があります。 | ||
</pre> | </pre> | ||
行23: | 行32: | ||
} | } | ||
</pre> | </pre> | ||
+ | users以外のコレクションがあったときは読み書き許可となる様子。 | ||
==指定した複数のコレクションの読み書き許可== | ==指定した複数のコレクションの読み書き許可== | ||
行38: | 行48: | ||
} | } | ||
</pre> | </pre> | ||
+ | ==指定したコレクションの読み書きすべて拒否== | ||
+ | <pre> | ||
+ | rules_version = '2'; | ||
+ | service cloud.firestore { | ||
+ | match /databases/{database}/documents { | ||
+ | match /{document=**} { | ||
+ | allow read, write: if false; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | documentのコレクションがあったときは読み書き拒否 | ||
+ | |||
+ | ==参考== | ||
+ | https://qiita.com/sgr-ksmt/items/1a731fdadf06119d35fc |
2023年2月24日 (金) 14:46時点における最新版
すべて読み書き許可
初期はデバッグ用でこのようになってる
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のコレクションがあったときは読み書き拒否