Firebase docs请注意:
> New HTTP and HTTP callable functions deployed with any Firebase CLI
> lower than version 7.7.0 are private by default and throw HTTP 403
> errors when invoked.
这意味着Firebase HTTP可调用函数的新默认设置现在将公开,我的用法已确认(不再抛出没有凭据的HTTP 403)。
我希望HTTP函数是私有的,现在可以通过Firebase将其设置为旧的行为吗?我在Firebase文档中看不到任何可以解释这种行为变化或如何在私有和公共HTTP函数之间切换的东西。
我愿意在Google Cloud上查看文档以实现此目的,自己修改一下是否安全?
例如。如果我转到Cloud Console并找到该功能,则现在看到该功能的“允许未经身份验证”:
如果我获得许可,我看到成员allUsers
被赋予了角色Cloud Functions Invoker
。我认为,如果删除它,应该再次将其设为私有,但不确定这将如何影响Firebase部署/运行此功能的流程。
答案 0 :(得分:3)
是的,您要对其进行更改是Cloud Functions Invoker角色。您可以按照instructions in the documentation进行操作,除了删除 allUsers而不是添加它:
转到Google Cloud Console
单击要授予访问权限的功能旁边的复选框。
单击右上角的“显示信息面板”以显示“权限”选项卡。
扩展云功能调用程序
使用垃圾桶图标删除allUsers
单击“保存”。
在进行更改之前,您甚至会在控制台中看到该功能:
此资源是公共资源,任何互联网上的人都可以访问。要删除公共访问权限,请从资源的成员中删除“ allUsers”和“ allAuthenticatedUsers”。
这不应影响Firebase CLI的重新部署。 CLI不会对现有功能进行权限更改。
请记住,通过此更改,您可能必须开始考虑允许某些服务帐户能够调用该功能。