「Gcp/Firebase/Firestore/ルール」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→指定した複数のコレクションの読み書き許可) |
(→すべて読み書き許可) |
||
| (同じ利用者による、間の5版が非表示) | |||
| 行10: | 行10: | ||
} | } | ||
} | } | ||
| + | </pre> | ||
| + | そのままにしてると、以下メールが来る。 | ||
| + | <pre> | ||
| + | [Firebase] Cloud Firestore データベースに安全でないルールがあります | ||
| + | セキュリティ ルールに関する次の問題が検出されました: | ||
| + | すべてのユーザーがデータベース全体を読み取ることができます | ||
| + | すべてのユーザーがデータベース全体に書き込むことができます | ||
| + | プロジェクトに強力なセキュリティ ルールが設定されていないため、誰でもデータベース全体にアクセスできます。攻撃者はデータを窃取、変更、削除でき、請求額を増やすことも可能です。 | ||
| + | 分析は毎日実行されます。過去 24 時間以内にルールを変更した場合、そのルールは考慮されていない可能性があります。 | ||
</pre> | </pre> | ||
| 行39: | 行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 | 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のコレクションがあったときは読み書き拒否
