Ir a la consola

Comenzar con las reglas de bases de datos

Firebase Realtime Database proporciona un lenguaje flexible de reglas basadas en expresiones con una sintaxis similar a la de JavaScript que te permite definir cómo se deben estructurar los datos, cómo se deben indexar y cuándo se pueden leer y escribir, todo esto de manera fácil. En combinación con nuestros servicios de autenticación, tienes la capacidad de definir quiénes pueden acceder a determinados datos y proteger la información personal de tus usuarios contra el acceso no autorizado.

Configura reglas

Puedes encontrar y cambiar las reglas de tu base de datos en Firebase console. Solo debes seleccionar tu proyecto, hacer clic en la sección Database de la izquierda y seleccionar la pestaña Reglas. Si deseas probar tus reglas de seguridad antes de aplicarlas en la producción, puedes simular operaciones en la consola por medio del botón “Simular” en la parte superior derecha del editor de reglas.

También puedes usar nuestra Interfaz de línea de comandos para actualizar tus reglas de manera programática, por ejemplo, a partir de un sistema de implementación automatizado. La CLI también admite la implementación de reglas en múltiples bases de datos no predeterminadas mediante los destinos de implementación.

Reglas de muestra

Según la configuración predeterminada, las reglas de tu base de datos necesitan Firebase Authentication y proporcionan permisos totales de lectura y escritura solo a los usuarios autenticados. Las reglas predeterminadas garantizan que no cualquier usuario pueda acceder a tu base de datos antes de que puedas configurarla. Una vez que está configurada, puedes personalizar las reglas según tus necesidades. A continuación, te mostramos algunos ejemplos comunes:

Predeterminadas

Las reglas predeterminadas inhabilitan el acceso de lectura y escritura a tu base de datos por parte de usuarios. Con estas reglas, solo puedes acceder a la base de datos mediante Firebase console.

// These rules don't allow anyone read or write access to your database
{
  "rules": {
    ".read": false,
    ".write": false
  }
}

Públicas

Durante el desarrollo, puedes usar las reglas públicas en lugar de las predeterminadas para que cualquier usuario pueda realizar operaciones de lectura y escritura en tus archivos. Esto puede ser útil para la etapa de prototipo, ya que puedes comenzar sin configurar Authentication. Este nivel de acceso significa que cualquier usuario puede leer o escribir en tu base de datos. Debes configurar más reglas de seguridad antes de lanzar tu app.

// These rules give anyone, even people who are not users of your app,
// read and write access to your database
{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Usuario

Aquí se muestra un ejemplo de una regla que otorga a cada usuario autenticado un nodo personal ubicado en /users/$user_id. $user_id es el ID del usuario que se obtuvo mediante Authentication. Esta es una situación común para cualquier app que tenga datos privados de un usuario.

// These rules grant access to a node matching the authenticated
// user's ID from the Firebase auth token
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

Es fundamental que configures correctamente estas reglas antes de lanzar tu app, a fin de garantizar que tus usuarios solo puedan acceder a los datos que corresponden.

Pasos siguientes