有人可以通过某种方式操纵客户端应用程序来访问我的 Firestore 数据库吗?

2 android google-cloud-firestore

我真的很担心我将存储在 Firestore 中的数据的安全性,我想知道是否有人可以从我的 android 应用程序中提取 google-services.json 文件或使用其他一些工具来访问我的 Firestore 数据库。是否有可能 如果是,我该如何预防?

Dou*_*son 5

如果您的应用使用 Firebase 服务并使用 google-services.json,那么是的,任何人都可以提取该数据。

应用程序开发人员的问题不是如何锁定这些数据(不可能),问题是如何保护数据库和存储数据只让那些应该能够访问它的用户使用。唯一的解决方案是使用 Firebase 身份验证来验证访问您的应用程序的人员的身份,并使用安全规则来确定谁应该能够读取和写入数据。

目前没有替代方案。如果您不要求用户使用 Firebase 身份验证登录,并且您的安全规则允许普遍访问数据,那么互联网上知道您项目名称的任何人都可以访问该数据。同样,这也没有例外。如果您的数据对全世界都是可读和可写的,那么您将需要接受由此产生的潜在计费后果。

同样,了解您使用的产品的安全规则:实时数据库、Firestore 和 Cloud Storage。

如果安全规则对您的要求不可行,那么您将需要设置一个您安全控制的后端服务,并通过该后端路由所有客户端访问。您需要让客户端将 Firebase 身份验证令牌传递到您的端点,以便它可以使用 Firebase Admin SDK 验证访问。