Comment déployer les règles de sécurité de base de données Firebase à l'aide de la ligne de commande?

Dans les anciennes versions de Firebase, nous pourrions ajouter une section rules à notre fichier firebase.json et télécharger de nouvelles règles de sécurité à chaque déploiement.

Comment utilisons-nous les outils de ligne de commande firebase-tools v3 pour déployer des règles de sécurité de base de données?

Cette page indique que c'est possible: "règles pour le stockage Firebase"

Cette page indique que les outils de ligne de commande peuvent le faire, mais firebase --help et firebase deploy --help ne semblent pas indiquer comment le faire? (Toutes mes excuses si je l'ai raté...)

(connexes: où est le doc canonique pour tout ce qui peut entrer dans firebase.json? Je l'ai trouvé sur l'ancien site Firebase, mais je ne peux pas le trouver via la recherche sur les nouveaux documents.)

Merci!

22
demandé sur Seth Ladd 2016-07-09 02:05:14

3 réponses

Vous pouvez utiliser firebase deploy --only database si vous souhaitez uniquement mettre à jour les règles de base de données. Il écrasera vos règles existantes.

Vous pouvez consulter Firebase CLI référence pour plus d'informations

31
répondu jpdelatorre 2016-09-04 13:19:20

, Vous pouvez utiliser firebase deploy ou firebase deploy --only database à partir de la ligne de commande, , MAIS le plus important:

Veuillez noter vertu des présentes firebase.json format: La "rules" entrée est , en vertu de "database" de l'entrée.

Il a été extrait de exemple de code Firebase.

{
  "database": {
    "rules": "database-rules.json"
  },
  "hosting": {
    "public": "./",
    "ignore": [
      "firebase.json",
      "database-rules.json",
    ]
  }
}
18
répondu LiorK 2017-08-15 10:16:27

Pour déployer un nouvel ensemble de règles de sécurité, ajoutez une clé rules de niveau supérieur à votre firebase.json.

Exemple firebase.json fichier:

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

Le {[5] } est un fichier JSON qui contient les règles de sécurité. Voici un exemple:

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

Lorsque vous exécutez firebase deploy, il envoie le contenu de firebase_rules.json au serveur, remplaçant/mettant à jour toutes les configurations de règles.

7
répondu Seth Ladd 2016-07-08 23:18:45