Tribar Studio
← Back to blog
FirebaseSecurityBackend

Reglas de seguridad de la base de incendios: una guía práctica

Engineering Team·

Translated from inglés

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';