Firestore安全规则,只控制来自应用程序的访问



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

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

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

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

对于选项二,我尝试了以下规则:

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

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

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

App Check并不是一个保证,所以你仍然需要实现你的安全规则,这样它们只允许有效的操作。如何做到这一点是你的应用程序的纯业务逻辑,所以只有你可以决定如何实现-类似于你如何实现业务逻辑在你的iOS应用程序的源代码。

也看到:

  • 将Firebase apiKey暴露给公众是否安全?
  • 锁定Firebase数据库对特定应用程序的访问

相关内容

最新更新