Firestoreルール
複数の条件にマッチし他場合、一つでもtrueの判定があると許可される
ホワイトリスト方式
read ルールは get と list に分割でき、write ルールは create、update、delete に分割できます。
code:json
service cloud.firestore {
match /databases/{database}/documents {
// Blocksコレクションに対する読み取りアクセスを制限
match /blocks/{blockId} {
allow read: if request.auth != null && (
resource.data.reported_by == request.auth.uid ||
resource.data.user == request.auth.uid
);
// ユーザーが自分が報告したブロックドキュメントのみ作成できる
allow create: if request.auth != null && request.resource.data.reported_by == request.auth.uid;
}
}
}