Reputation: 120799
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!
Upvotes: 43
Views: 24279
Reputation: 380
To deploy a new set of security rules with firebase cli
firebase deploy --only firestore:rules
Upvotes: 30
Reputation: 1680
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",
]
}
}
Upvotes: 29
Reputation: 3593
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
Upvotes: 57
Reputation: 120799
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.
Upvotes: 10