我想限制对Firestore和Realtime Database的写入权限,以便只有应用程序的后端可以修改它。
我可以申请什么样的规则?现在看来,数据库秘密似乎不安全。
这有点取决于后端进程如何访问数据库。
如果他们通过Firebase Admin SDK执行此操作,他们将使用管理权限访问数据库,从而绕过所有安全规则。这意味着您可以完全锁定所有常规客户端上的数据库写入。
在实时数据库中,可以使用以下规则完成:
{
"rules": {
".write": false
}
}
在Cloud Firestore中,您完成相同的操作:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow write: if false;
}
}
}
在这两种情况下,我都忽略了读取权限以保持简单。上面的代码片段直接从Firebase文档中解除,所以我建议在那里阅读更多关于Realtime Database和Firestore的内容。