Las reglas de seguridad de Firebase brindan una protección sólida 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 de reglas de seguridad de Firebase específico para los productos de Firebase que está utilizando. Realtime Database aprovecha una sintaxis similar a JavaScript y una estructura JSON para sus reglas. Como alternativa, Cloud Firestore y Cloud Storage aprovechan un superconjunto del lenguaje de expresión común (CEL) que se basa en match
y allow
declaraciones que establecen una condición para el acceso en una ruta definida.
Obtenga más información sobre el lenguaje de las reglas de seguridad de Firebase .
Configurar 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 con las reglas de seguridad de Firebase para brindar capacidades de verificación integrales.
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. Al definir sus estructuras de datos, considere las implicaciones que podrían tener en su estructura de Reglas.
Por ejemplo, en Cloud Firestore, es posible que desees 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 reglas y datos, tenga en cuenta que, si alguna regla otorga acceso a un conjunto de datos, las reglas de seguridad de Firebase otorgan acceso a ese conjunto de datos. En otras palabras, no puede refinar el acceso en una subruta si ha otorgado acceso en un nivel superior en su jerarquía de datos.
Accede a tus reglas
Para ver sus reglas existentes, use Firebase CLI o Firebase console. Asegúrese de editar sus reglas utilizando 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, Firebase console 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 navegue hasta Realtime Database , Cloud Firestore o Storage . 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 .
Escribir reglas básicas
Mientras desarrolla su aplicación y comprende las reglas, intente implementar algunas reglas de seguridad básicas , incluidos los siguientes casos de uso:
- Solo propietario del contenido: restringe el acceso al contenido por parte del 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.
Pon a prueba tus reglas
Para validar completamente el comportamiento de su aplicación y verificar sus reglas de seguridad de Firebase
configuraciones, use Firebase Emulator para ejecutar y automatizar pruebas unitarias 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 rápidamente el comportamiento. Sin embargo, recomendamos realizar pruebas más exhaustivas con Firebase Emulator antes de implementar los cambios en producción.
Implementar reglas
Utilice Firebase console o Firebase CLI para implementar sus reglas en producción. Siga los pasos descritos en Administrar e implementar reglas de seguridad de Firebase .