如何对Firestore数据库安全规则进行源控制并自动更新

Cap*_*emo 6 android gradle firebase firebase-security google-cloud-firestore

将Firestore安全规则保存在代码的源代码管理(Github)中是否明智?

此外,在首次克隆存储库并安装应用程序时(自动用于开放源代码项目),自动部署安全规则的最佳方法是什么?就我而言,这是一个在Android Studio中使用Gradle构建的Android应用。

Bri*_*usa 11

Firebase 安全规则可能被认为比源代码存储库中的其他源代码更敏感。话虽如此,可以将它们与应用程序的其余源代码一起存储。如果您选择将应用程序的源代码托管在公共存储库中,那么您已经对公开应用程序的内部工作有了一定的了解。

可以提出一个论点,即公开您的 Firebase 资源的安全方式可以帮助不法分子找到漏洞并利用您的应用程序,但您的应用程序源代码的其余部分也是如此。

虽然将安全规则存储在源代码库中(即版本控制)有很多好处,但您可能需要考虑在 Firebase 控制台中配置规则。如果您打算设置持续集成和部署过程,这将不起作用。

您还可以考虑将安全规则存储在单独的私有存储库中,并利用 Firebase CLI 从该私有存储库自动部署,例如:

cd ../my-project-security-rules
firebase --project my-project deploy --only firestore:rules
Run Code Online (Sandbox Code Playgroud)

您的my-project-security-rules存储库需要包含 firebase.json 配置文件的精简版,例如:

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  }
}
Run Code Online (Sandbox Code Playgroud)

有关通过 Firebase CLI 进行部分部署的更多信息,请参阅https://firebase.google.com/docs/cli/#partial_deploys