Add production Firestore and Storage security rules
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
rules_version = '2';
|
||||||
|
service cloud.firestore {
|
||||||
|
match /databases/{database}/documents {
|
||||||
|
|
||||||
|
// News / Neuigkeiten: Öffentlich lesbar, Schreiben für angemeldete Nutzer
|
||||||
|
match /News/{document=**} {
|
||||||
|
allow read: if true;
|
||||||
|
allow write: if request.auth != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mängel & Anliegen: Öffentlich lesbar, Erstellen angemeldet, Löschen nur eigener Autor
|
||||||
|
match /Issues/{document} {
|
||||||
|
allow read: if true;
|
||||||
|
allow create: if request.auth != null;
|
||||||
|
allow update: if request.auth != null;
|
||||||
|
allow delete: if request.auth != null &&
|
||||||
|
(resource.data.author_uid == request.auth.uid);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bürgerforum / Ideen: Öffentlich lesbar, Erstellen angemeldet, Löschen eigener Autor
|
||||||
|
match /CitizensForum/{document} {
|
||||||
|
allow read: if true;
|
||||||
|
allow create: if request.auth != null;
|
||||||
|
allow update: if request.auth != null;
|
||||||
|
allow delete: if request.auth != null &&
|
||||||
|
(resource.data.author_uid == request.auth.uid);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Kontakt-Nachrichten: Jeder kann einsenden, Lesen nur berechtigte Nutzer
|
||||||
|
match /ContactMessages/{document} {
|
||||||
|
allow create: if true;
|
||||||
|
allow read, update, delete: if request.auth != null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
rules_version = '2';
|
||||||
|
service firebase.storage {
|
||||||
|
match /b/{bucket}/o {
|
||||||
|
|
||||||
|
// Fotos von News, Mängeln und Ideen
|
||||||
|
match /{collection}/{userId}/{fileName} {
|
||||||
|
// Jeder darf Bilder in der App laden/ansehen
|
||||||
|
allow read: if true;
|
||||||
|
|
||||||
|
// Nur angemeldete Nutzer dürfen Fotos hochladen (max. 10 MB, nur Bilder)
|
||||||
|
allow create, update: if request.auth != null
|
||||||
|
&& request.resource.size < 10 * 1024 * 1024
|
||||||
|
&& request.resource.contentType.matches('image/.*');
|
||||||
|
|
||||||
|
// Nur der Verfasser (oder berechtigte Nutzer) darf sein Foto löschen
|
||||||
|
allow delete: if request.auth != null && request.auth.uid == userId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user