Valida con rapidez las reglas de seguridad de Firebase

Para probar con rapidez tus reglas de seguridad de Firebase actualizadas en Firebase console, usa el simulador de reglas de Firebase.

El simulador de reglas de Firebase es una herramienta conveniente que puedes usar a medida que exploras comportamientos nuevos o validas 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 el simulador de reglas de Firebase

  1. Abre Firebase console y selecciona tu proyecto.
  2. A continuación, selecciona Database o Storage desde la navegación del producto.
    • Database: Selecciona una base de datos y haz clic en Rules (Reglas) para navegar hacia el editor de reglas.
    • Storage: Haz clic en Rules (Reglas) para navegar hacia el editor de reglas.
  3. Cuando termines de hacer cambios, haz clic en Simulator (Simulador) desde el editor.
  4. En la configuración del simulador, selecciona las opciones de tu prueba, como estas:
    • Prueba de lectura o escritura
    • Una ubicación específica en tu base de datos, como una ruta de acceso
    • 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 Run (Ejecutar) y busca los resultados en el banner que está arriba de la ventana de reglas.

Situación de muestra del simulador

Prueba el comportamiento del simulador con la situación de muestra y reglas básicas siguientes.

  1. Agrega la siguiente regla básica en el editor de reglas:

    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.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.uid == userId;
     }
    }
    }
    
  2. Selecciona get (obtener) desde el menú desplegable Simulation type (Tipo de simulación) y, a continuación, ingresa una ruta de acceso válida en el campo Location (Ubicación).

  3. Activa o desactiva la autenticación y selecciona un tipo de autenticación desde el menú desplegable Provider (Proveedor).

  4. Ingresa los detalles del ID de usuario y haz clic en Run (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.