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

Cloud Firestore配置request.auth!=null读写规则现阶段是否安全?

Cloud Firestore安全规则问题解答

现有规则安全性判断

你当前使用的安全规则存在安全风险,不符合Firestore的安全规范要求,这也是你收到官方警告的原因。

  • 该规则没有做任何路径、权限范围限制,所有完成登录的用户都可以对整库的所有数据进行读取、修改、删除操作,即便是恶意用户注册登录后也可以直接清空你的全部数据库内容,或者窃取所有存储的数据。
  • 你当前仅使用注册登录登出功能的情况下,如果没有用到Firestore存储业务数据,该规则依然存在被滥用的风险,同时会持续触发官方的安全预警。

合规安全规则配置方案

方案1:无Firestore读写需求的场景

如果你仅使用Firebase Auth的注册、登录、登出能力,没有任何业务数据存储在Firestore中,可以直接使用如下最严格的规则,完全符合安全规范,不会触发警告:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    allow read, write: if false;
  }
}

注:该规则不会影响Firebase Auth的认证功能,仅会禁止所有对Firestore数据库的读写请求。

方案2:已存储用户数据的场景

如果你已经将用户数据存储在/users/{用户UID}的路径下,可以使用如下最小权限规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
    allow read, write: if false;
  }
}

该规则仅允许用户读写自己名下的用户数据,其他所有路径的访问都会被默认拒绝,完全满足安全要求。

临时延后有效期方案

如果你暂时没有时间调整规则,可以修改规则添加有效期限制,延后截止时间,示例如下(时间可自行调整为当前日期后30天):

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    allow read, write: if request.auth != null && request.time < timestamp.date(2024, 10, 1);
    }
  }

注:该方案仅可用于临时过渡,不建议长期使用,到期后会自动拒绝所有客户端请求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:15:04