Comienza con las reglas de seguridad de Firebase

Las reglas de seguridad de Firebase proporcionan una protección sólida y completamente personalizable para tus datos en Cloud Firestore, Realtime Database y Cloud Storage. Sigue los pasos de esta guía para comenzar fácilmente a definir las reglas, proteger tus datos y proteger tu app de usuarios maliciosos.

Comprende el lenguaje de las reglas de seguridad de Firebase

Antes de que comiences a escribir reglas, vale la pena que te tomes un tiempo a fin de revisar el lenguaje específico de las reglas de seguridad de Firebase para los productos de Firebase que usas. Realtime Database aprovecha una sintaxis similar a la de JavaScript y la estructura JSON para sus reglas. Además, Cloud Firestore y Storage aprovechan un superconjunto de Common Expression Language (CEL) que se basa en las declaraciones matchallow que establecen una condición para el acceso en una ruta de acceso definida.

Obtén más información sobre el lenguaje de las reglas de seguridad de Firebase.

Configura la autenticación

Si aún no lo has hecho, identifica a tus usuarios con Firebase Authentication. Firebase Authentication admite muchos métodos de autenticación comunes y se integra en las reglas de seguridad de Firebase para proporcionar funciones de verificación completas.

Puedes configurar información de autenticación adicional y personalizada para tu app.

Obtén más información sobre las reglas de seguridad de Firebase y Firebase Authentication.

Define tus estructuras de datos y reglas

La forma en que estructures tus datos podría afectar la forma en que estructurarás y también implementarás tus reglas. A medida que definas tus estructuras de datos, considera las implicaciones que pueden tener en tu estructura de reglas.

Por ejemplo, en Cloud Firestore, es posible que desees incluir un campo que destaque una función específica para cada usuario. Luego, tus reglas pueden leer ese campo y usarlo para otorgar acceso basado en funciones.

Cuando definas tus arquitecturas de datos y reglas, ten en cuenta que, si alguna regla otorga acceso a un conjunto de datos, las reglas de seguridad de Firebase otorgarán acceso a ese conjunto de datos. En otras palabras, no puedes definir mejor el acceso en una ruta secundaria si ya otorgaste acceso a un nivel superior en tu jerarquía de datos.

Accede a tus reglas

Para ver tus reglas existentes, usa Firebase CLI o Firebase console. Asegúrate de editar tus reglas con el mismo método, de manera consistente, para evitar reemplazar las actualizaciones por error. Si no estás seguro de si tus reglas definidas de forma local reflejan las actualizaciones más recientes, Firebase console siempre muestra la versión implementada más recientemente de tus reglas de seguridad de Firebase.

Para acceder a tus reglas desde Firebase console [rules-console], selecciona tu proyecto y navega hacia Database o Storage. Haz clic en Reglas una vez que estés en la base de datos o en el depósito de almacenamiento correctos.

Para acceder a tus reglas desde Firebase CLI, dirígete al archivo de reglas anotado en tu archivo firebase.json.

Escribe reglas básicas

Trata de implementar algunas reglas de seguridad básicas a medida que desarrollas tu app y comprendes las reglas, incluidos los siguientes casos prácticos:

  • Solo propietario del contenido: Restringe el acceso al contenido por usuario.
  • Acceso mixto: Restringe el acceso de escritura por usuario, pero permite el acceso de lectura público.
  • Acceso basado en atributos: Restringe el acceso a un grupo o tipo de usuario.

Prueba tus reglas

Para validar completamente el comportamiento de tu app y verificar el comportamiento de tus reglas de seguridad de Firebase,
usa el emulador de Firebase para ejecutar y automatizar unidades de prueba en un entorno local.

Si estás configurando tus reglas de seguridad de Firebase en Firebase console, puedes usar el simulador de reglas de Firebase para validar su comportamiento con rapidez. Sin embargo, te recomendamos realizar pruebas más exhaustivas con el emulador de Firebase antes de implementar cambios en la producción.

Implementa las reglas

Usa Firebase console o Firebase CLI para implementar tus reglas en la producción. Sigue los pasos descritos en Implementa y administra las reglas de seguridad de Firebase.