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

How do I deploy Firebase Database Security rules using the command line?

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

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

This page 表示有可能:"Rules for Firebase Storage"

This page提示命令行工具可以做到,但是firebase --helpfirebase deploy --help好像没有提示怎么办? (如有遗漏请见谅...)

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

谢谢!

要部署一组新的安全规则,请将 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的内容发送到服务器,replacing/updating任何规则配置。

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

您可以查看 Firebase CLI Reference 了解更多信息

您可以从命令行使用 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",
    ]
  }
}

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

firebase deploy --only firestore:rules