Valida con rapidez las reglas de seguridad de Firebase

Para probar rápidamente las reglas de seguridad de Firebase actualizadas en Firebase console, usa la Zona de pruebas de reglas.

La Zona de pruebas de reglas es una herramienta conveniente para explorar nuevos comportamientos o validar reglas rápidamente a medida que las escribes. En esta herramienta se muestra un mensaje que confirma que se permitió o rechazó el acceso, según los parámetros que configuraste en la simulación.

Usa la Zona de pruebas de reglas

  1. Abre Firebase console y selecciona tu proyecto.
  2. Luego, desde la navegación del producto, realiza una de las siguientes acciones:
    • Selecciona Realtime Database, Cloud Firestore o Storage (según corresponda) y, luego, haz clic en Reglas para navegar al editor de reglas.
  3. Una vez que hayas realizado las modificaciones, haz clic en Zona de pruebas de reglas en el editor.
  4. En la configuración de Zona de pruebas de reglas, selecciona opciones para tu prueba, incluidas las siguientes:
    • Prueba de lectura o escritura
    • Una ubicación específica en tu base de datos o depósito de almacenamiento, como una ruta.
    • Tipo de autenticación: ID de usuario específico, usuario anónimo autenticado o no autenticado
    • Datos del documento al que hacen referencia tus reglas de manera específica (por ejemplo, si tus reglas requieren la presencia de un campo determinado antes de permitir una operación de escritura)
  5. Haz clic en Ejecutar y busca los resultados en el banner que está arriba del editor.

Situación de muestra de la Zona de pruebas de reglas

Prueba el comportamiento de la Zona de pruebas de reglas con la situación de muestra y las reglas básicas siguientes.

Cloud Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

Realtime Database

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

Storage

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • En el editor de reglas, agrega la regla anterior.

  • Selecciona get en el menú desplegable Tipo de simulación y, luego, ingresa una ruta válida en el campo Ubicación.

  • Activa Authentication y selecciona un tipo de autenticación desde el menú desplegable Proveedor.

  • Ingresa los detalles del ID de usuario y haz clic en Ejecutar.

Los resultados de la simulación aparecen en la parte superior del editor. Según los detalles del ID de usuario que ingreses, deberías ver un banner que confirme que la operación de lectura se permitió o rechazó con éxito.