如何限制write
对{@ 1}}数据库中/lastmodified
表的访问仅限于云功能,/functions-project-12345
访问表read & write
给所有人
/chat
答案 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
(和相同的访问权限)。