Comience con las reglas de seguridad de Firebase

Las reglas de seguridad de Firebase brindan una protección robusta y completamente personalizable para sus datos en Cloud Firestore, Realtime Database y Cloud Storage. Puede comenzar fácilmente con las Reglas siguiendo los pasos de esta guía, asegurando sus datos y protegiendo su aplicación de usuarios malintencionados.

Comprender el lenguaje de las reglas de seguridad de Firebase

Antes de comenzar a escribir reglas, vale la pena tomarse un tiempo para revisar el lenguaje específico de las reglas de seguridad de Firebase para los productos de Firebase que está usando. Cloud Storage aprovecha un superconjunto de Common Expression Language (CEL) que se basa en declaraciones de match y allow que establecen una condición para el acceso en una ruta definida.

Comience aprendiendo la sintaxis principal del lenguaje de reglas de seguridad de Firebase .

Configurar la autenticación

Si aún no lo ha hecho, agregue Firebase Authentication a su aplicación . Firebase Authentication es compatible con muchos métodos de autenticación comunes y se integra con las reglas de seguridad de Firebase para brindar capacidades de verificación completas.

Puede configurar información de autenticación personalizada adicional para su aplicación.

Obtenga más información sobre las reglas de seguridad de Firebase y la autenticación de Firebase .

Defina sus estructuras de datos y reglas

La forma en que estructura sus datos puede afectar la forma en que estructura e implementa sus reglas. A medida que defina sus estructuras de datos, considere las implicaciones que podrían tener en su estructura de Reglas.

Por ejemplo, en Cloud Storage, es posible que desee incluir un campo que indique una función específica para cada usuario. Luego, sus reglas pueden leer ese campo y usarlo para otorgar acceso basado en roles.

Al definir sus arquitecturas de datos y reglas, tenga en cuenta la forma en que las reglas se conectan en cascada o no, según su producto. Con Realtime Database, las reglas funcionan de arriba hacia abajo, y las reglas superficiales anulan las reglas más profundas. Si una regla otorga permisos de lectura o escritura en una ruta en particular, también otorga acceso a todos los nodos secundarios debajo de ella. Por el contrario, con Cloud Firestore y Cloud Storage, las reglas se aplican solo en niveles específicos de la jerarquía de datos y usted escribe reglas explícitas para controlar el acceso a diferentes niveles.

Accede a tus reglas

Para ver sus Reglas existentes, use Firebase CLI o Firebase console. Asegúrese de editar sus reglas usando el mismo método, de manera consistente, para evitar sobrescribir actualizaciones por error. Si no está seguro de si sus reglas definidas localmente reflejan las actualizaciones más recientes, la consola de Firebase siempre muestra la versión implementada más recientemente de sus Reglas de seguridad de Firebase.

Para acceder a sus reglas desde Firebase console , seleccione su proyecto, luego, en el panel de navegación de la izquierda, haga clic en Almacenamiento . Haga clic en Reglas una vez que esté en la base de datos o depósito de almacenamiento correcto.

Para acceder a sus reglas desde Firebase CLI, vaya al archivo de reglas anotado en su archivo firebase.json .

Escribe reglas básicas.

Mientras desarrolla su aplicación y comprende las reglas, intente implementar reglas para abordar algunos casos de uso básicos , incluidos los siguientes:

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

Pon a prueba tus reglas

Si está configurando sus reglas de seguridad de Firebase en la consola de Firebase, puede usar Firebase Rules Playground para validar rápidamente el comportamiento. Sin embargo, recomendamos realizar pruebas más exhaustivas con Local Emulator Suite antes de implementar los cambios en producción.

Implementar reglas

Use Firebase console o Firebase CLI para implementar sus reglas en producción. Siga los pasos descritos en Administrar e implementar las reglas de seguridad de Firebase .