Firebase的云功能是否遵守实时数据库规则?

Firebase的云功能是否遵守实时数据库规则?,firebase,google-cloud-functions,firebase-security,Firebase,Google Cloud Functions,Firebase Security,我正在尝试使用特定节点上的安全规则来保护我的实时数据库 我知道当我使用我的设备写/读时,Firebase规则将适用 如果写入/读取恰好来自云函数,该怎么办 如果我保护了(用户)节点,那么云功能是否知道(用户)是安全的?还是读写?当您使用Firebase Admin SDK访问实时数据库时,默认情况下,它具有完全的读写访问权限。AdminSDK的假设是,您运行在一个特权环境中,代码完全在您的控制之下,并且您确切地知道自己在做什么 您的代码在云函数中运行这一事实与此无关。它可以很容易地在您的桌面或您

我正在尝试使用特定节点上的安全规则来保护我的实时数据库

我知道当我使用我的设备写/读时,Firebase规则将适用

如果写入/读取恰好来自云函数,该怎么办


如果我保护了(用户)节点,那么云功能是否知道(用户)是安全的?还是读写?

当您使用Firebase Admin SDK访问实时数据库时,默认情况下,它具有完全的读写访问权限。AdminSDK的假设是,您运行在一个特权环境中,代码完全在您的控制之下,并且您确切地知道自己在做什么

您的代码在云函数中运行这一事实与此无关。它可以很容易地在您的桌面或您控制的其他服务器上运行。这是AdminSDK的一个属性


如果要更改对实时数据库的访问范围,必须知道最终用户的UID,然后初始化SDK,将其权限范围限制在初始化时使用的UID上。

这意味着firebase函数在默认情况下实际上会超越安全规则?我必须从实际函数手动编写安全规则?请再次阅读我的回答。运行代码云函数不会改变任何事情。使用服务帐户凭据初始化AdminSDK可以让您完全控制项目。如果要施加约束,请将其写入代码。@svi.data在云函数中运行的代码使用Admin SDK访问Firestore。默认情况下,Admin SDK以绕过安全规则的管理权限运行。这是经过设计的,这样您的管理代码就可以完成常规用户代码无法完成的事情,而不会使您的安全规则复杂化。@FrankvanPuffelen您是说在通过函数写入数据库时,我不应该担心安全规则吗?