Reglas de seguridad de Firebase para copiar: datos solo del propietario, lectura pública, roles de administrador y validación en Firestore, Storage y Realtime Database, y cómo probarlas.
Las reglas de seguridad de Firebase deciden quién puede leer y escribir cada dato de tu app. Empieza cada archivo de Firestore con rules_version = '2', permite el acceso solo cuando request.auth exista, compara request.auth.uid con el propietario del documento y revisa los campos entrantes con request.resource.data. Prueba con el emulador antes de desplegar.
Las variables que más usas en cada producto
Si tu app, tienda o área de miembros guarda datos en Firebase, las reglas son lo único que separa los registros de tus clientes de cualquiera que tenga la configuración pública de tu proyecto. Las recetas de abajo cubren los casos que necesitan la mayoría de las apps pequeñas. Filtra por producto, copia una y cambia los nombres de las colecciones por los tuyos.
Una de las dos opciones iniciales al crear una base de datos. Firebase describe el modo de prueba como útil para empezar, pero advierte que permite a cualquiera leer y sobrescribir tus datos. El modo de producción deniega todas las lecturas y escrituras de clientes móviles y web hasta que escribas reglas.
Busca una condición que compare request.time con una fecha fija, como request.time < timestamp.date(2026, 11, 1). Cuando pasa esa fecha, todas las peticiones fallan. Sustitúyela por reglas reales en lugar de mover la fecha.
Firebase documenta un límite de 10 llamadas de acceso a documentos para peticiones y consultas de un solo documento, y de 20 para lecturas de varios documentos, transacciones y escrituras por lotes. Si lo superas, obtienes un error de permiso denegado.
No. Las reglas protegen las peticiones de clientes móviles y web. Firebase indica que las bibliotecas de cliente de servidor se saltan todas las Cloud Firestore Security Rules, así que valida las entradas en tu código de servidor por separado.
Inicia el emulador con firebase emulators:start --only firestore y escribe pruebas con el paquete @firebase/rules-unit-testing, usando assertSucceeds y assertFails para las acciones permitidas y bloqueadas.
Estos patrones aparecen en proyectos de inicio y tutoriales. Todos dejan los datos expuestos.
Reglas arriesgadas y alternativas más seguras
Ejecuta el emulador de Firestore y comprueba que el propietario puede escribir y un desconocido no.
Usa un id de proyecto de demostración para que nada llegue a una base de datos real. Ejecútala mientras firebase emulators:start --only firestore está en marcha.
Cada usuario lee y edita solo el documento cuyo id coincide con su id de usuario.
Cualquiera puede leer el catálogo de productos; solo los usuarios cuyo perfil tiene el rol admin pueden cambiarlo.
Un cliente solo puede crear un pedido para sí mismo, con un total positivo y un estado conocido, y no puede editarlo después.
Las ediciones del perfil solo se permiten cuando el campo role se queda exactamente igual.
Los archivos van en la carpeta de cada usuario; las subidas deben ser imágenes de menos de 5MB, y cualquiera con sesión iniciada puede verlas.
Las reglas de Realtime Database son JSON. $uid captura la clave; newData es el valor que se escribe.
Mostrar recetas de
Todos los productos
Cloud Firestore
Cloud Storage
Realtime Database
{n} recetas mostradas
Empieza gratis · Sin tarjeta de crédito