【发布时间】:2019-08-21 17:17:12
【问题描述】:
我想限制对 Firestore 和实时数据库的写入权限,以便只有应用的后端可以修改它。
我可以应用什么样的规则? 看来现在使用 Database Secrets 并不安全。
【问题讨论】:
标签: firebase-realtime-database google-cloud-firestore firebase-security
我想限制对 Firestore 和实时数据库的写入权限,以便只有应用的后端可以修改它。
我可以应用什么样的规则? 看来现在使用 Database Secrets 并不安全。
【问题讨论】:
标签: firebase-realtime-database google-cloud-firestore firebase-security
这在一定程度上取决于您的后端进程如何访问数据库。
如果他们通过 Firebase Admin SDK 执行此操作,他们将以管理权限访问数据库,从而绕过所有安全规则。这意味着您可以完全锁定所有常规客户端对数据库的写入。
在实时数据库中,这可以通过以下规则来完成:
{
"rules": {
".write": false
}
}
在 Cloud Firestore 中,您可以通过以下方式完成相同的操作:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow write: if false;
}
}
}
在这两种情况下,我都忽略了读取权限以保持简单。上面的 sn-ps 直接来自 Firebase 文档,因此我建议您阅读更多关于 Realtime Database 和 Firestore 的内容。
【讨论】: