【发布时间】:2018-12-25 00:58:08
【问题描述】:
我正在编写一个从诊断包中收集信息的工具。该工具的结果被写入 Firestore 进行分析。该工具用 Python 编写并作为包分发,包括服务帐户的 .json。该服务帐户用于验证来自数据库的读取 + 写入。下面是每个包中使用的数据库组件的 sn-p:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
cred=credentials.Certificate(os.path.join(os.path.dirname(os.path.abspath(__file__), 'name_of_file.json'))
firebase_admin.initialize_app(cred)
db = firestore.client()
我希望缩小 Firestore 的权限,因为目前,拥有这些凭据的所有用户都可以完全访问 Firestore。查看文档,这似乎是不可能的:
目前无法将使用 Firebase Admin SDK 和服务帐号访问 Firestore 的代码限定为特定用户 ID 以执行安全规则。使用 Admin SDK 进行的所有访问都将绕过安全规则并完全控制数据库。
有人知道这种用例的解决方法吗?作为替代方案,是否可以对 Firebase 用户帐户进行“硬编码”?如果是这样,最直接的实现是什么?
如果有什么我可以澄清的,请告诉我,我对 Firebase 还很陌生,所以我可能走错了方向!
谢谢!
【问题讨论】:
标签: python firebase google-cloud-firestore firebase-admin