首页 > 解决方案 > Firebase 安全规则运营费用

问题描述

我最近考虑了我的 Firebase 服务的各种安全问题,并遇到了一个与 Firebase 定价相关的有趣问题。问题很简单,如下所示:

  1. 如果实时数据库的一组安全规则在安全规则的验证过程中读取自身内部的一些数据(rtdb),那么这种用于验证目的的服务器读取是否受 rtdb 计费的任何部分约束?例如,如果一行规则需要匹配 rtdb 的 json 树中的“角色”数据,那么这种验证是否免于 rtdb 定价的下载费用($1/GB)或连接配额(同时连接 200,000)?这可能是真的,因为无论如何验证都必须读取数据以查明请求是否符合规则。

  2. 如果云firestore的一组安全规则在安全规则的验证中读取了自身内部(firestore)的一些数据,那么这种用于验证的数据读取是否需要支付firestore的读取操作费用(洛杉矶位置每100,000个文档0.036美元)?例如,要验证一行allow read if resource.data.visibility == 'public',该规则必须检索数据,就像移动客户端在没有任何安全规则的情况下读取此类数据一样。

希望这个问题能传达给社区中的大师!先感谢您 [:

标签: firebase-realtime-databasegoogle-cloud-firestorefirebase-security

解决方案


火力基地在这里

  1. 在实时数据库安全规则内完成的读取是免费的。它们也不算作持久连接。

  2. 访问Firestore安全规则中的当前resource或未来request.resource数据收费。您执行的额外文档读取(带有、和) 收费的。get()getAfter()exists()existsAfter()

有关后者的更多信息,请参阅 Firebase 文档中关于访问调用和 Firestore 安全规则中的定价


推荐阅读