【问题标题】:How to prevent Firestore documents being deleted / modified, but allow all reads and writes如何防止 Firestore 文档被删除/修改,但允许所有读取和写入
【发布时间】:2020-10-02 21:03:24
【问题描述】:

我有一个在 Firestore 上存储数据的 ios 应用程序,我几乎可以接受任何人读取或写入数据。我不想允许的是修改或删除数据。如何在不使用身份验证的情况下将其写入我的安全规则?基本上,我收到警告,“您的安全规则被定义为公开的,因此任何人都可以窃取、修改或删除您数据库中的数据。”凌驾于我的规则之上。谢谢!我目前的规则一点都不具体,只是说“允许读,写;”。

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    要避免该消息,您应该做两件事:

    1. 删除与所有文档匹配的递归通配符模式“/{document=**}”,而是调用每个单独的集合来分配特定权限。
    2. 更改您希望允许的 granular permissions 的类型,如文档中所述
    match /collection1/{id} {
      allow read, create;
    }
    

    对每个集合重复此操作。

    我强烈建议您彻底了解 read the documentation 以了解规则的工作原理,因为它们是许多应用程序的最大责任。

    【讨论】:

    • 谢谢。所以这将允许我所说的细粒度权限,但不允许其他任何内容,对吗?另外,我一定会阅读文档。谢谢。编辑:另外,我如何让 Firebase 正式更新我的安全规则?我今天需要更改它,因为自创建 firebase 项目而不更新安全规则以来的 30 天读写已过期。我按下了发布,但在我的应用程序模拟器中,我在检索数据时仍然被拒绝,错误为:Domain=FIRFirestoreErrorDomain Code=7 "Missing or enough permissions."再次感谢
    • 听起来您的规则没有按照您的代码要求的方式设置。如果您对实际规则有新问题,请发布一个新问题,其中包含规则和不适用于它们的代码。
    猜你喜欢
    • 1970-01-01
    • 2020-10-23
    • 2020-01-03
    • 2018-06-21
    • 2022-11-10
    • 1970-01-01
    • 2014-01-31
    • 2020-08-11
    • 1970-01-01
    相关资源
    最近更新 更多