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

Android 有人可以通过操纵客户端应用程序访问我的Firestore数据库吗?,android,google-cloud-firestore,Android,Google Cloud Firestore,我真的很担心存储在Firestore中的数据的安全性,我想知道是否有人可以从我的android应用程序中提取google-services.json文件,或者使用其他工具访问我的Firestore数据库。如果有可能,我如何阻止它?您应该设置云Firestore安全规则以限制对数据的访问。以下是一个例子: // Allow read/write access on all documents to any user signed in to the application service clou

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

您应该设置云Firestore安全规则以限制对数据的访问。以下是一个例子:

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

查看更多详细信息。

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

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

目前没有替代方案。如果您不要求用户使用Firebase Auth登录,并且您的安全规则允许通用访问数据,则internet上任何知道您项目名称的人都可以访问该数据。同样,也没有例外。如果您的数据对世界来说是可读写的,那么您需要接受这可能带来的计费后果

再次了解您使用的产品的安全规则:实时数据库、Firestore和云存储


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

是的,我知道,但它无法回答我对有人入侵我的客户端应用程序的担忧。您指的是什么?在安装了应用程序的情况下物理访问设备,还是接触应用程序的APK?