猿问

Firestore 中具有服务帐户的精细权限

我正在编写一个从诊断包中收集信息的工具。此工具的结果会写入 Firestore 以进行分析。该工具用 Python 编写并作为包分发,包括服务帐户的 .json。该服务帐户用于对数据库中的读取 + 写入进行身份验证。以下是每个包中使用的数据库组件的片段:


    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 还很陌生,所以我可能走错了方向!


谢谢!


慕桂英546537
浏览 164回答 1
1回答

蛊毒传说

Firestore 目前无法使用服务帐户将连接范围限定为某些有限权限。使用 Admin SDK 时,您将始终拥有对整个数据库的完全读写访问权限。这是一个普遍要求的功能,如果这对您也有用,您应该提交功能请求。
随时随地看视频慕课网APP

相关分类

Python
我要回答