0Pricing
Firebase Auth & Realtime Database Apps · Lección

Pruebas y depuración de reglas de seguridad

Compruebe con confianza sus reglas de Realtime Database simulando solicitudes, usando Rules Playground, escribiendo pruebas automatizadas con el emulador y leyendo los mensajes de denegación.

Pruebas y depuración de reglas de seguridad es una lección gratuita de Firebase Auth & Realtime Database Apps en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Firebase Auth & Realtime Database Apps, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Firebase Auth & Realtime Database Apps incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Why Test Your Rules

Security Rules are the only thing standing between your data and the open internet. A single mistake can expose private data or block legitimate users.

Testing rules is as important as testing code, and Firebase gives you several tools to do it.

The Rules Playground

The Firebase console includes a Rules Playground where you simulate a single read or write without touching real data.

  • Pick read or write
  • Set a path and auth state
  • See instantly whether it is allowed or denied

Simulating Auth State

In the simulator you can run as an unauthenticated user or supply a fake auth.uid and custom claims. This is how you verify that user-based access control behaves correctly.

Reading a Denial

When a request is denied, the simulator highlights the exact rule that evaluated to false. Use this to pinpoint why a legitimate request is being blocked.

The Local Emulator

For repeatable, automated testing, use the Firebase Local Emulator Suite. It runs the Realtime Database and its rules entirely on your machine, with no cloud costs.

firebase emulators:start --only database

Writing a Rules Test

The @firebase/rules-unit-testing library lets you assert that operations succeed or fail. This is the gold standard for rule confidence.

import { assertSucceeds, assertFails } from '@firebase/rules-unit-testing';

await assertSucceeds(authedDb.ref('users/alice').set({ name: 'Alice' }));
await assertFails(authedDb.ref('users/bob').set({ name: 'hax' }));

Test Both Directions

Good rule tests check both outcomes:

  • Authorized users can do allowed actions (no false denials)
  • Unauthorized users cannot do forbidden actions (no security holes)

Testing only the happy path hides the dangerous gaps.

Testing Validation Rules

Beyond access, test your .validate rules: confirm that malformed data is rejected and well-formed data is accepted.

await assertFails(db.ref('age').set('not-a-number'));
await assertSucceeds(db.ref('age').set(30));

Common Rule Bugs

Watch for these frequent mistakes:

  • Rules cascade: a true .read higher up overrides children
  • Forgetting that read and write rules are independent
  • Assuming auth is non-null without checking

Debugging with newData

Inside write rules, newData represents what the write would produce and data is the current value. Logging your reasoning about these in test cases clears up many confusing denials.

{
  "posts": {
    "$id": {
      ".write": "!data.exists() || data.child('owner').val() === auth.uid"
    }
  }
}

CI Integration

Run your emulator-based rule tests in continuous integration so a risky rule change is caught before it reaches production. This turns security into a regression-tested guarantee.

Quick Check

Test your understanding of rules testing.

Recap

You can now validate rules with confidence.

  • Use the Rules Playground for quick manual checks
  • Use the Local Emulator for repeatable runs
  • Write tests with assertSucceeds / assertFails
  • Cover both access and validation, both directions
  • Run rule tests in CI

Preguntas frecuentes

¿La lección «Pruebas y depuración de reglas de seguridad» es gratis?

Sí — el texto completo de «Pruebas y depuración de reglas de seguridad» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Firebase Auth & Realtime Database Apps, actualiza a CoddyKit PRO. El curso de Firebase Auth & Realtime Database Apps incluye 4 lecciones en total.

¿Qué aprenderé en «Pruebas y depuración de reglas de seguridad»?

Compruebe con confianza sus reglas de Realtime Database simulando solicitudes, usando Rules Playground, escribiendo pruebas automatizadas con el emulador y leyendo los mensajes de denegación. Practicas Firebase Auth & Realtime Database Apps con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Firebase Auth & Realtime Database Apps?

No se requiere experiencia previa. Firebase Auth & Realtime Database Apps en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Pruebas y depuración de reglas de seguridad»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Firebase Auth & Realtime Database Apps?

Sí. Cada lección de Firebase Auth & Realtime Database Apps incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Comprensión de la sintaxis de las reglas de seguridad
  2. Control de acceso basado en usuarios
  3. Validación de datos con reglas
  4. Pruebas y depuración de reglas de seguridad
← Volver a Firebase Auth & Realtime Database Apps