← Back to blog
Reglas de seguridad de la base de incendios: una guía práctica
Engineering Team·
Las reglas de seguridad de Firebase son los gatekeepers de tus datos. Entiéndelos mal y tu base de datos está expuesta. Hazlas bien y tu aplicación está segura por defecto.
El principio de menos privilegios
Comience negando todo acceso, luego conceda sólo lo que se necesita:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// Deny all by default
match /{document=**} {
allow read, write: if false;
}
// Grant access to specific collections
match /users/{userId} {
allow read, write: if request.auth != null
&& request.auth.uid == userId;
}
}
}
Probando tus reglas
Nunca implemente reglas sin probar. Utilice la suite de emulador de base de fuego:
firebase emulators:start --only firestore,auth
A continuación, prueba con el parque infantil reglas Firestore o pruebas de integración automatizada.
Patrones comunes
** Acceso autenticado:**
allow read: if request.auth != null;
El propietario sólo escribe:
allow write: if resource.data.userId == request.auth.uid;
Acceso basado en la música:
allow write: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == 'admin';