Firebase数据库,云功能,规则

时间:2017-12-15 11:48:51

标签: firebase firebase-realtime-database firebase-security google-cloud-functions

如何限制write对{@ 1}}数据库中/lastmodified表的访问仅限于云功能,/functions-project-12345访问表read & write给所有人

/chat

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

您是否在此处看过Authenticate with limited privileges章:https://firebase.google.com/docs/database/admin/start

这可能就是你所需要的。

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