You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase读取操作应配置哪些安全规则?开放全局读报不安全如何解决

问题根源
  • 读权限范围超限:你当前使用match /{document=**}全库通配符开启了公开读权限,无论后续是否新增存储敏感数据的集合,所有数据库内容都会默认对所有人开放,这是Firebase触发安全告警的核心原因。
  • 写权限不符合业务要求:当前写规则仅校验用户是否登录,未做管理员身份限制,任意完成注册的普通用户都可以修改、删除你的演出数据,存在越权操作风险。
修复方案

你需要将公开读权限的范围缩小到仅开放演出数据对应的集合,同时补充管理员身份校验逻辑限制写权限,参考规则如下(需将示例中的集合名替换为你实际使用的名称):

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    // 假设你存储演出数据的集合名为 upcoming_performances
    match /upcoming_performances/{performanceId} {
      // 满足业务要求:所有用户可读取演出数据
      allow read: if true;
      // 仅管理员可执行写操作,此处提供两种校验方案二选一即可
      // 方案1:使用Firebase Auth自定义声明标记管理员(推荐)
      allow write: if request.auth != null && request.auth.token.is_admin == true;
      // 方案2:单独存储管理员UID集合校验,假设管理员集合名为admins,文档ID为管理员UID
      // allow write: if request.auth != null && exists(/databases/$(database)/documents/admins/$(request.auth.uid));
    }

    // 其他所有集合默认禁止所有访问,后续新增集合按需单独配置权限即可
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

规则更新完成后,Firebase会在1-3个工作日内重新扫描你的数据库安全配置,确认无风险后会自动停止推送告警邮件。

内容的提问来源于stack exchange,提问作者Posoroko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:36:04