Firebase数据库、云函数、规则

Firebase数据库、云函数、规则,firebase,firebase-realtime-database,firebase-security,google-cloud-functions,Firebase,Firebase Realtime Database,Firebase Security,Google Cloud Functions,如何将数据库中名为/functions-project-12345的write访问/lastmodified表的权限仅限于云函数,将读写访问表的权限限制为所有人 /functions-project-12345 /lastmodified: 1234567890 /chat /key-123456 username: "Mat" text: "Hey Bob!" /key-123457

如何将数据库中名为
/functions-project-12345
write
访问
/lastmodified
表的权限仅限于云函数,将
读写
访问表的权限限制为所有人

/functions-project-12345
    /lastmodified: 1234567890
    /chat
        /key-123456
            username: "Mat"
            text: "Hey Bob!"
        /key-123457
            username: "Bob"
            text: "Hey Mat"

您是否看过此处的
使用有限权限进行身份验证的章节

这可能是你需要的


基本上,您需要使用Admin SDK,并使用特定的
uid
和服务密钥对其进行初始化。否则(即,如果您通过引用触发函数的事件来访问数据库),您的函数将与创建事件的客户端具有相同的
uid
(和相同的访问权限)。

云函数以管理权限运行,这意味着它们绕过了数据库的安全规则。知道这一点后,根据您的要求保护数据库非常简单:

{
  "rules": {
    ".write": false,
    "chat": {
      ".write": true
    }
  }
}

通过Firebase规则?如果您的问题是规则配置应该是什么样子的,那么您应该专门询问,然后发布当前(显然不起作用)的配置。