Saltar al contenido

Revise sus reglas de seguridad de Firebase con 26 errores comunes

Pegue sus reglas de Firestore, de Firebase Storage o de Realtime Database. El revisor lee el texto y muestra qué rutas dejan leer o escribir a cualquiera.

Pegue sus reglas

Puede pegar hasta 48 000 caracteres en total entre los tres campos.

Confirme que es una persona

Así se mantienen las solicitudes automáticas fuera del servicio.

Sus reglas se procesan en memoria en la red de Cloudflare y se descartan tras la respuesta. No se guarda nada.

Resultado

Este es un análisis estático del texto pegado. No ve custom claims, App Check, la forma de los datos ni reglas que nunca se publicaron; la nota cubre solo lo que las 26 comprobaciones pueden leer.

Lo que esta revisión no puede ver

El revisor solo lee el texto pegado. No ve custom claims, App Check, la forma de sus datos ni reglas que nunca se publicaron, así que un resultado limpio no significa que el proyecto sea seguro.

Las 26 comprobaciones

ComprobaciónIDServicioGravedad
Cualquiera puede escribir en Firestorefs-open-writeFirestoreCrítica
Cualquiera puede leer de Firestorefs-open-readFirestoreMedia
Un match con comodín recursivo está abiertofs-recursive-wildcard-openFirestoreCrítica
Reglas del modo de prueba con fecha de caducidadfs-test-mode-expiryFirestoreCrítica
Cualquier usuario con sesión iniciada puede escribirfs-auth-only-writeFirestoreAlta
Cualquier usuario con sesión iniciada puede leerfs-auth-only-readFirestoreMedia
Se confía en el email sin email_verifiedfs-email-unverifiedFirestoreMedia
Rol leído de los datos de la solicitudfs-role-from-requestFirestoreAlta
Un comodín amplio oculta reglas más estrictasfs-wildcard-shadowFirestoreAlta
Los usuarios pueden escribir su propio rol (heurística)fs-self-role-writeFirestoreAlta
La escritura acepta cualquier campo (heurística)fs-write-no-field-guardFirestoreMedia
read no está dividido en get y listfs-read-not-splitFirestoreInfo
Sin denegación explícita por defectofs-no-default-denyFirestoreInfo
No se pudieron leer las reglas de Firestorefs-parse-errorFirestoreInfo
Cualquiera puede leer los archivos de Storagest-open-readStorageMedia
Cualquiera puede escribir en Storagest-open-writeStorageCrítica
El match {allPaths=**} está abiertost-recursive-wildcard-openStorageCrítica
Cualquier usuario con sesión iniciada puede escribir en Storagest-auth-only-writeStorageAlta
No se pudieron leer las reglas de Storagest-parse-errorStorageInfo
Cualquiera puede leer toda la base de datosdb-root-read-openRealtime DatabaseCrítica
Cualquiera puede escribir en toda la base de datosdb-root-write-openRealtime DatabaseCrítica
Cualquiera puede leer un nododb-open-readRealtime DatabaseMedia
Cualquiera puede escribir en un nododb-open-writeRealtime DatabaseAlta
El padre anula una regla del hijodb-cascade-overrideRealtime DatabaseAlta
Cualquier usuario con sesión iniciada puede leer o escribir toda la base de datosdb-auth-only-rootRealtime DatabaseAlta
No se pudieron leer las reglas de Realtime Databasedb-parse-errorRealtime DatabaseInfo

Preguntas

¿Qué revisa el revisor de reglas de Firebase?

Lee las reglas de seguridad de Firebase que pega para Firestore, Cloud Storage y Realtime Database y busca reglas que dejan leer o escribir a cualquiera, reglas que solo exigen un usuario con sesión iniciada, confianza en datos del cliente y patrones parecidos.

¿Se guarda el texto de mis reglas?

No. Las reglas se procesan en memoria en la red de Cloudflare y se descartan en cuanto se envía la respuesta. No se guarda ni se registra nada junto con el texto.

¿Cuánto puedo pegar?

Hasta 48,000 caracteres en total entre los tres campos. Si sus reglas son más largas, pegue la parte que quiere revisar.

¿Por qué una regla de lectura pública puede estar bien?

Algunos datos son públicos a propósito, como un catálogo de productos o las entradas de un blog. En Firestore y Storage, el revisor cuenta una lectura sin condición como un problema medio y resta 10 puntos, porque no puede saber si los datos son privados. Si los datos son públicos a propósito, puede aceptar ese coste. Solo en la raíz de Realtime Database valora una lectura abierta como más grave.

¿Qué son las reglas del modo de prueba?

Cuando crea una base de datos de Firestore en modo de prueba, la consola escribe una regla que permite todo hasta una fecha, con request.time. Hasta esa fecha cualquiera puede leer y escribir; después se deniega todo y la app deja de funcionar. Sustitúyala por condiciones reales antes del lanzamiento.

¿Cómo se heredan las reglas de Realtime Database?

En Realtime Database, una regla que concede acceso se aplica a todo lo que hay debajo, y un hijo no puede retirarla. Una regla más estricta en un hijo bajo un padre permisivo nunca se aplica, por eso el revisor la señala.

¿Qué significa la nota?

Resume solo lo que las comprobaciones pueden leer en el texto pegado: una puntuación de 100 menos una penalización por cada comprobación fallida, fijada por el problema más grave que esa comprobación encontró, y cualquier problema crítico da F. Un punto medio también puede ser una heurística que le pide revisar a mano, porque el texto por sí solo no muestra si es un problema real. Una A no demuestra que el proyecto sea seguro, porque los custom claims, App Check y los propios datos quedan fuera de su alcance.