您如何通过 Firebase 私有部署 HTTPS onCall 云功能

Ada*_*amK 1 firebase google-cloud-platform google-cloud-functions

火力地堡文档注意:

> 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.
Run Code Online (Sandbox Code Playgroud)

这意味着 Firebase HTTP 可调用函数的新默认值现在将公开,我的用法确认了这一点(不再抛出没有凭据的 HTTP 403)。

我更喜欢让我的 HTTP 函数是私有的,我现在可以通过 Firebase 将其设置为旧行为吗?我在 Firebase 文档中没有看到任何解释这种行为变化或如何在私有和公共 HTTP 函数之间切换的内容。

确实在 Google Cloud 方面看到了文档来实现这一点,自己修改这个是否安全?

例如。如果我转到 Cloud Console 并找到该功能,我现在会看到该功能的“允许未经身份验证”:

在此处输入图片说明

如果我进入权限,我会看到 memberallUsers已被赋予角色Cloud Functions Invoker。我认为如果我删除它应该再次将其设为私有,但不确定这将如何影响部署/运行此功能的 Firebase 流程。

在此处输入图片说明

Dou*_*son 5

是的,您想要更改 Cloud Functions Invoker 角色。您可以按照文档中的说明进行操作,除了删除allUsers 而不是添加它:

  1. 转到 Google Cloud Console

  2. 单击要授予访问权限的函数旁边的复选框。

  3. 单击右上角的显示信息面板以显示权限选项卡。

  4. 展开云函数调用程序

  5. 使用垃圾桶图标删除所有用户

  6. 单击保存。

在进行更改之前,您甚至会在控制台中看到该功能:

该资源是公开的,互联网上的任何人都可以访问。要删除公共访问,请从资源的成员中删除“allUsers”和“allAuthenticatedUsers”。

这不应影响使用 Firebase CLI 重新部署。CLI 不会对现有功能进行权限更改。

请记住,通过此更改,您可能必须开始考虑允许某些服务帐户能够调用该函数。