【问题标题】:Firestore security rules to control access only from an app [duplicate]Firestore 安全规则仅控制来自应用程序的访问[重复]
【发布时间】:2023-01-19 00:34:08
【问题描述】:

我有一个消息传递应用程序,它使用 firestore 存储来存储所有附件并实时存储所有消息。我发现自己遇到的问题是,默认情况下,任何来自 Internet 的用户都可以读取数据,在存储的情况下,知道 url,您可以访问文件,在实时的情况下,可以访问消息。

我的想法是提出两个选项,看看哪个可行:

  1. 我有一个应用程序注册为项目,是否可以将规则配置为仅允许来自该应用程序的请求?如何在商店和实时制定这些规则?

  2. 它可以配置为只有通过身份验证部分注册的用户才能访问存储和实时信息。

    对于这个选项二,我试过这个规则:

       allow read, write, delete: if request.auth != null;
    

    但我仍然可以从互联网和浏览器中查阅资源,而无需显然是我应用程序中的注册用户。

【问题讨论】:

  • 您在这里提到了两种不同的产品:Firestore 和 Cloud Storage。它们是不同的东西。当您谈论文件和使用 URL 加载内容时,这听起来像是 Cloud Storage,而不是 FIrestore。您能否编辑问题以更清楚地了解您使用的是哪种产品以及您如何访问要保护的数据?请具体 - 我们应该能够使用您在问题中提供的步骤重现您描述的行为。

标签: ios firebase authentication google-cloud-firestore cloud


【解决方案1】:

您不能将安全规则配置为仅允许从您自己的应用程序访问,但现在您可以配置 App Check 来精确地做到这一点,并且可以应用于 Cloud Firestore 和 Cloud Storage。

不过,App Check 并不能保证,因此您仍然需要实施安全规则,以便它们只允许有效操作。如何做到这一点是应用程序的纯业务逻辑,因此只有您才能确定如何实现——类似于您在 iOS 应用程序源代码中实现该业务逻辑的方式。

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2019-08-14
    • 1970-01-01
    • 2020-09-17
    • 2023-03-28
    相关资源
    最近更新 更多