¿Cómo puedo implementar reglas de Seguridad de Bases de datos Firebase usando la línea de comandos?


En versiones anteriores de Firebase, podríamos agregar una sección rules a nuestro archivo firebase.json y cargar nuevas reglas de seguridad en cada implementación.

¿Cómo usamos las herramientas de línea de comandos firebase-tools v3 para implementar reglas de seguridad de bases de datos?

Esta página dice que es posible: "Reglas para el almacenamiento de Firebase"

Esta página sugiere que las herramientas de línea de comandos pueden hacerlo, pero firebase --help y firebase deploy --help no parecen indicar cómo hacerlo? (Disculpas si me lo perdí...)

(relacionado: ¿dónde está el documento canónico para todo lo que puede entrar firebase.json? Lo encontré en el antiguo sitio de Firebase, pero no puedo encontrarlo a través de la búsqueda en los nuevos documentos.)

Gracias!

Author: Seth Ladd, 2016-07-09

3 answers

Puede usar firebase deploy --only database si solo desea actualizar las reglas de la base de datos. Sobrescribirá sus reglas existentes.

Puede consultar Firebase CLI Reference para obtener más información

 31
Author: jpdelatorre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-04 13:19:20

Puedes usar firebase deploy o firebase deploy --only database desde la línea de comandos, PERO lo más importante:

Tenga en cuenta a continuación firebase.json formato: El "rules" entrada es bajo "database" de entrada.

Fue tomado de Código de muestra de Firebase.

{
  "database": {
    "rules": "database-rules.json"
  },
  "hosting": {
    "public": "./",
    "ignore": [
      "firebase.json",
      "database-rules.json",
    ]
  }
}
 18
Author: LiorK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-15 10:16:27

Para implementar un nuevo conjunto de reglas de seguridad, agregue una clave de nivel superior rules a su firebase.json.

Ejemplo firebase.json archivo:

{
  "rules": "firebase_rules.json",
  "hosting": {
    "public": "doc",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

El firebase_rules.json es un archivo JSON que contiene las reglas de seguridad. He aquí un ejemplo:

{
  "rules": {
    ".read": false,
    ".write": false
  }
}

Cuando ejecute firebase deploy, enviará el contenido de firebase_rules.json al servidor, reemplazando/actualizando cualquier configuración de reglas.

 7
Author: Seth Ladd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-08 23:18:45