如何使用命令行部署Firebase数据库安全规则?

时间:2016-07-08 23:05:15

标签: firebase firebase-realtime-database firebase-security firebase-tools

在较旧版本的Firebase中,我们可以在rules文件中添加firebase.json部分,并在每次部署时上传新的安全规则。

我们如何使用firebase-tools v3命令行工具来部署数据库安全规则?

This page表示可能:“Firebase存储规则”

This page暗示命令行工具可以执行此操作,但firebase --helpfirebase deploy --help似乎没有暗示如何执行此操作? (如果我错过了,请道歉......)

(相关:哪些是可以进入firebase.json的所有内容的规范文档?我在旧的Firebase网站上找到了它,但是无法通过搜索新文档找到它。)

谢谢!

4 个答案:

答案 0 :(得分:40)

如果您只想更新数据库规则,可以使用firebase deploy --only database。它将覆盖您现有的规则。

您可以查看Firebase CLI Reference了解详情

答案 1 :(得分:22)

您可以在命令行中使用firebase deployfirebase deploy --only database 但最重要的是:

请注意以下 firebase.json 格式"rules"条目 "database"下的条目。

取自Firebase Sample code.

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

答案 2 :(得分:7)

要部署一组新的安全规则,请向rules添加firebase.json顶级密钥。

示例firebase.json文件:

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

firebase_rules.json是包含安全规则的JSON文件。这是一个例子:

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

当您运行firebase deploy时,它会将firebase_rules.json的内容发送到服务器,替换/更新任何规则配置。

答案 3 :(得分:1)

使用firebase cli部署一组新的安全规则

__init__.py