Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
Firebase Security Rules
plat_iosplat_androidplat_webplat_flutterplat_node
Usa nuestras reglas de seguridad de Firebase flexibles y extensibles para proteger tus datos en Cloud Firestore, Firebase Realtime Database y Cloud Storage.
Firebase Security Rules se interpone entre tus datos y los usuarios maliciosos. Puedes escribir reglas simples o complejas que protejan los datos de tu app al nivel de detalle que tu app específica requiera.
Firebase Security Rules aprovecha la configuración de lenguajes extensible y flexible para definir a qué datos pueden acceder tus usuarios en Realtime Database, Cloud Firestore y Cloud Storage. Firebase Realtime Database Security Rules aprovecha JSON en las definiciones de reglas, mientras que Cloud Firestore Security Rules y Firebase Security Rules para Cloud Storage aprovechan un lenguaje único diseñado para adaptarse a estructuras más complejas con reglas específicas.
Obtén más información sobre cómo configurar Rules para productos de Firebase específicos que usas en tu app y sobre cómo el comportamiento de Rules difiere dependiendo del producto de Firebase en el que se use.
Escribe reglas personalizadas que se adapten a la estructura y comportamiento de tu app. Rules usa usa lenguajes que te permiten aprovechar tus propios datos para autorizar el acceso.
Nivel de detalle
Tus reglas pueden ser tan amplias o limitadas como necesites.
Seguridad independiente
Debido a que Rules se define fuera de tu app (en Firebase console o Firebase CLI), los clientes no son responsables de aplicar la seguridad, los errores no comprometen los datos y tus datos siempre se encuentran protegidos.
¿Cómo funcionan?
Firebase Security Rules funciona mediante la coincidencia de un patrón con las rutas de acceso de la base de datos y, a continuación, aplican condiciones personalizadas para permitir el acceso a los datos en esas rutas. Todas las implementaciones de Rules entre los productos de Firebase tienen un componente de coincidencia de ruta de acceso y un enunciado condicional que permite el acceso de lectura o escritura. Es necesario que definas Rules para cada producto de Firebase que uses en tu app.
Para Cloud Firestore y Cloud Storage, Rules usa la siguiente sintaxis:
service <<name>> { // Match the resource path. match <<path>> { // Allow the request if the following conditions are true. allow <<methods>> : if <<condition>> } }
Para Realtime Database, Rules basado en JSON usa la siguiente sintaxis:
{ "rules": { "<<path>>": { // Allow the request if the condition for each method is true. ".read": <<condition>>, ".write": <<condition>> } } }
Rules se aplica como sentencias OR y no AND. En consecuencia, si varias reglas coinciden con una ruta de acceso y alguna de las condiciones coincidentes otorga acceso, Rules otorga acceso a los datos en esa ruta. Por lo tanto, si una regla amplia otorga acceso a los datos, no puedes restringirlo con una regla más específica. Sin embargo, puedes evitar este problema asegurándote de que las implementaciones de Rules no se superpongan demasiado. La marca Firebase Security Rules se superpone en tus rutas de acceso coincidentes como advertencias del compilador.
Firebase Security Rules también puede aprovechar Authentication para otorgar permisos basados en el usuario, y las condiciones que configures pueden ser muy básicas o increíblemente complejas. Obtén más información sobre el lenguaje y el comportamiento de Rules antes de comenzar a escribir Rules.
Prueba tu implementación de Firebase Security Rules
Usa los emuladores de Realtime Database y Cloud Firestore para probar el comportamiento de tus apps y validar tus reglas antes de implementarlas en la producción.
Implementa Firebase Security Rules
Usa Firebase console o Firebase CLI para implementar tus reglas en producción.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-24 (UTC)"],[],[],null,["Firebase Security Rules \nplat_ios plat_android plat_web plat_flutter plat_node \nUse our flexible, extensible Firebase Security Rules to\nsecure your data in Cloud Firestore, Firebase Realtime Database, and\nCloud Storage.\n\nFirebase Security Rules stand between your data and malicious users. You can write simple or\ncomplex rules that protect your app's data to the level of granularity that\nyour specific app requires.\n\nFirebase Security Rules leverage\nextensible, flexible configuration languages to define what data your users\ncan access for Realtime Database, Cloud Firestore, and Cloud Storage.\nFirebase Realtime Database Security Rules leverage JSON in rule definitions, while\nCloud Firestore Security Rules and Firebase Security Rules for Cloud Storage leverage a unique\nlanguage built to accommodate more complex rules-specific structures.\n\nLearn more about how to set up Rules for the specific Firebase products\nyou use in your app, and how Rules behavior differs across Firebase\nproducts.\n\n[Get started](/docs/rules/get-started)\n\nKey capabilities\n\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Flexibility | Write custom rules that make sense for your app's structure and behavior. Rules use languages that allow you to leverage your own data to authorize access. |\n| Granularity | Your rules can be as broad or as narrow as you need. |\n| Independent security | Because Rules are defined outside of your app (in the Firebase console or Firebase CLI), clients aren't responsible for enforcing security, bugs don't compromise data, and your data is always protected. |\n\nHow do they work?\n\nFirebase Security Rules work by matching a pattern against database paths, and then applying\ncustom conditions to allow access to data at those paths. All Rules\nacross Firebase products have a path-matching component and a conditional\nstatement allowing read or write access. You must define Rules for\neach Firebase product you use in your app.\n\nFor Cloud Firestore and Cloud Storage, Rules use the following\nsyntax: \n\n service \u003c\u003cname\u003e\u003e {\n // Match the resource path.\n match \u003c\u003cpath\u003e\u003e {\n // Allow the request if the following conditions are true.\n allow \u003c\u003cmethods\u003e\u003e : if \u003c\u003ccondition\u003e\u003e\n }\n }\n\nFor Realtime Database, JSON-based Rules use the following syntax: \n\n {\n \"rules\": {\n \"\u003c\u003cpath\u003e\u003e\": {\n // Allow the request if the condition for each method is true.\n \".read\": \u003c\u003ccondition\u003e\u003e,\n \".write\": \u003c\u003ccondition\u003e\u003e\n }\n }\n }\n\nRules are applied as `OR` statements, not `AND` statements.\nConsequently, if multiple rules match a path, and any of the matched\nconditions grants access, Rules grant access to the data at that\npath. Therefore, if a broad rule grants access to data, you can't restrict with\na more specific rule. You can, however, avoid this problem by making sure your\nRules don't overlap too much. Firebase Security Rules flag overlaps in your\nmatched paths as compiler warnings.\n\nFirebase Security Rules can also leverage Authentication to grant user-based permissions, and the\nconditions you set can be very basic or incredibly complex. Learn more\nabout Rules [language](/docs/rules/rules-language) and [behavior](/docs/rules/rules-behavior)\nbefore you start writing Rules.\n\nImplementation path\n\n|---|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Integrate the product SDKs | Set up [Cloud Firestore](/docs/firestore), [Cloud Storage](/docs/storage), or [Realtime Database](/docs/database) for your app. |\n| | Write your Firebase Security Rules | Learn more about [how Rules work](/docs/rules/rules-behavior) and [set up some basic Rules](/docs/rules/basics) |\n| | Test your Firebase Security Rules | Use the Realtime Database and Cloud Firestore emulators to test your app's behavior and validate your rules before you deploy them to production. |\n| | Deploy your Firebase Security Rules | Use the Firebase console or the Firebase CLI to deploy your rules to production. |\n\nNext steps\n\n- [Understand the Firebase Security Rules language](/docs/rules/rules-language).\n- Learn more about [how Firebase Security Rules work](/docs/rules/rules-behavior).\n- Explore the [common mistakes you should avoid](/docs/rules/insecure-rules)."]]