限制Firestore和实时数据库的写访问权限

时间:2019-03-31 10:15:53

标签: firebase-realtime-database google-cloud-firestore firebase-security-rules

我想限制对Firestore和实时数据库的写入权限,以便只有应用程序的后端才能修改它。

我可以采用哪种规则? 看来数据库秘密现在不安全使用。

1 个答案:

答案 0 :(得分:1)

这取决于您的后端进程如何访问数据库。

如果他们通过Firebase Admin SDK这样做,他们将以管理权限访问数据库,从而绕过所有安全规则。这意味着您可以完全锁定所有常规客户端在数据库上的写入。

在实时数据库中,可以使用以下规则实现:

{
  "rules": {
    ".write": false
  }
}

在Cloud Firestore中,您可以执行以下操作:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow write: if false;
    }
  }
}

在两种情况下,我都忽略了读取权限以使事情保持简单。以上代码段是从Firebase文档中直接摘录的,因此,我建议在那里阅读有关Realtime DatabaseFirestore的更多信息。