web-dev-qa-db-fra.com

Comment déployer des 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 pouvions ajouter une section rules à notre firebase.json fichier et téléchargez de nouvelles règles de sécurité sur chaque déploiement.

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

Cette page dit 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 semble pas faire allusion à la façon de procéder? (Toutes mes excuses si je l'ai raté ...)

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

Merci!

31
Seth Ladd

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

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

43
jpdelatorre

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

Veuillez noter ci-dessous firebase.json format : le "rules" l'entrée est sous "database" entrée.

Il a été tiré de Exemple de code Firebase.

{
  "database": {
    "rules": "database-rules.json"
  },
  "hosting": {
    "public": "./",
    "ignore": [
      "firebase.json",
      "database-rules.json",
    ]
  }
}
22
LiorK

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

Exemple firebase.json fichier:

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

Le firebase_rules.json 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 enverra le contenu de firebase_rules.json au serveur, en remplaçant/mettant à jour toutes les configurations de règles.

7
Seth Ladd