43

In older versions of Firebase, we could add a rules section to our firebase.json file, and upload new security rules on every deploy.

How do we use the firebase-tools v3 command-line tools to deploy database security rules?

This page says that it's possible: "Rules for Firebase Storage"

This page hints that the command line tools can do it, but firebase --help and firebase deploy --help don't seem to hint at how to do it? (Apologies if I missed it...)

(related: where is the canonical doc for everything that can go into firebase.json? I found it on the old Firebase site, but can't find it via search on the new docs.)

Thanks!

Seth Ladd
  • 112,095
  • 66
  • 196
  • 279

4 Answers4

57

You can use firebase deploy --only database if you only want to update database rules. It will overwrite your existing rules.

You can check out Firebase CLI Reference for more info

jpdelatorre
  • 3,573
  • 1
  • 20
  • 25
30

You can use firebase deploy or firebase deploy --only database from the command line, BUT most important:

Please note hereunder firebase.json format: The "rules" entry is under "database" entry.

It was taken from Firebase Sample code.

{
  "database": {
    "rules": "database-rules.json"
  },
  "hosting": {
    "public": "./",
    "ignore": [
      "firebase.json",
      "database-rules.json",
    ]
  }
}
LiorK
  • 1,640
  • 1
  • 19
  • 23
25

To deploy a new set of security rules with firebase cli

firebase deploy --only firestore:rules
Chadly M.
  • 330
  • 3
  • 6
10

To deploy a new set of security rules, add a rules top-level key to your firebase.json.

Example firebase.json file:

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

The firebase_rules.json is a JSON file that contains the security rules. Here's an example:

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

When you run firebase deploy, it will send the contents of firebase_rules.json to the server, replacing/updating any rules configurations.

Seth Ladd
  • 112,095
  • 66
  • 196
  • 279