Firebase 从Admin SDK将上下文值传递到firestore文档添加/设置/更新

Firebase 从Admin SDK将上下文值传递到firestore文档添加/设置/更新,firebase,google-cloud-firestore,google-cloud-functions,firebase-security,Firebase,Google Cloud Firestore,Google Cloud Functions,Firebase Security,我希望使用https.onCall来接受用户的一些输入(例如关于另一个用户的数据)。然后,我想对这些数据进行一些高级处理,包括从firestore上不应该公开的其他条目中检索敏感数据。根据分析结果,我将更新数据库中的其他位置。但是,我担心原始呼叫及其来源的安全性。我知道我在onCall上有context参数来验证源代码是否已登录,但我希望根据提供给云函数的context.auth将安全规则应用于最终写入 对于正常的数据库操作,安全规则是直截了当的,但如果我正在执行通过Admin SDK路由的操作

我希望使用
https.onCall
来接受用户的一些输入(例如关于另一个用户的数据)。然后,我想对这些数据进行一些高级处理,包括从firestore上不应该公开的其他条目中检索敏感数据。根据分析结果,我将更新数据库中的其他位置。但是,我担心原始呼叫及其来源的安全性。我知道我在
onCall
上有
context
参数来验证源代码是否已登录,但我希望根据提供给云函数的
context.auth
将安全规则应用于最终写入

对于正常的数据库操作,安全规则是直截了当的,但如果我正在执行通过Admin SDK路由的操作(由普通用户播种),则安全规则就不适用了

想法

但我希望根据提供给云函数的context.auth,将安全规则应用于最终写入

正如您所知,您可以识别哪个用户调用了函数以及Admin SDK对数据库具有超级访问权限,一般流程应该是编写函数,使其只编辑用户应该编辑的文档

若您仍然希望缩小访问范围,那个么可以在初始化admin应用程序时通过传递来实现firebase数据库的访问


当您使用管理SDK或任何服务器SDK时,它总是绕过所有安全规则。规则仅适用于使用客户端SDK直接来自web和移动客户端的访问


如果需要对从后端写入的数据应用某种排序或限制,则需要将其编码到后端代码的逻辑中。安全规则没有任何帮助。

也许我读错了,但“使用有限权限进行身份验证”似乎只适用于实时数据库?我在Firestore中没有看到类似的文档?