Cloud Firestore客户端访问1天后到期,如何调整安全规则保障应用上线Play Store?
Firestore测试模式规则到期解决方案
紧急生效配置(10分钟完成,避免服务中断)
你当前业务仅需已认证用户读取Firestore数据,可先发布以下基础规则立即规避到期断服问题:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read: if request.auth != null; allow write: if false; } } }
操作路径:Firebase控制台 → Cloud Firestore → 「规则」标签页,替换原有规则后点击「发布」即可立即生效。
注意:官方提及的「规则分析每日运行一次」是风险提示的统计延迟,不影响规则实际生效时间,发布后客户端请求立刻会走新规则,不会被拦截。
长期强安全规则优化(符合Play Store上架要求)
基础规则仅能保证业务可用,为了满足Play Store的安全合规要求,需要进一步细化权限,避免过度授权:
- 不要使用全局通配符匹配所有文档,按实际业务使用的集合路径单独配置权限,比如你有公开内容集合、用户私有数据集合,可参考如下配置:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // 公开内容:所有已认证用户可读取 match /public_content/{docId} { allow read: if request.auth != null; } // 用户私有数据:仅对应uid的用户本人可读取 match /user_data/{userId}/{document=**} { allow read: if request.auth != null && request.auth.uid == userId; } // 全局拦截所有未显式配置的写入请求,后续需要写入能力时再单独配置对应路径规则 match /{document=**} { allow write: if false; } } }
- 配置完成后可使用Firebase控制台自带的规则游乐场功能,模拟不同认证状态、不同uid的用户请求,验证所有读取场景符合预期后再发布,不会影响线上业务。
上架Play Store注意事项
- 不要保留测试模式的全开放规则,这类规则属于严重安全漏洞,Play Store上架扫描时会直接拒审。
- 在Play Console的数据安全表单中,如实填写你通过Firebase收集、读取的用户数据类型,和安全规则的权限逻辑对齐,避免合规风险。
后续验证
发布规则后在Android端测试所有数据读取场景,确认无权限报错即可。24小时后Firebase的风险提醒邮件会自动停止发送。
内容的提问来源于stack exchange,提问作者Aman Sharma
相关产品推荐
相关产品推荐

