当前位置: 首页 > 知识库问答 >
问题:

从应用引擎中托管的React App调用私有云功能

谢旭
2023-03-14

我有一个谷歌云项目,它有以下资源:

  1. 应用程序引擎标准环境,它承载前端(基本上是react应用程序)
  2. 一个私有的谷歌云功能

现在,我考虑了以下几种情况,从react应用程序调用该函数

  1. 设置只允许内部流量到Cloud函数:只有App Engine灵活的环境可以调用该函数,因此排除了
  2. 使用CORS进行身份验证:客户端仍然可以调用该函数。
  3. 使云函数公开:将允许每个人调用函数,这是不推荐的私有API
  4. 使用Google Cloud API调用函数:这将在前端暴露我的Google Cloud API密钥。

因此,是否有工作可以从App Engine标准环境中调用Cloud函数

共有1个答案

韩英锐
2023-03-14

你不能调用云函数(或云运行)与入口=内部只有应用引擎

要保护云功能,您可以依赖IAM服务。如果您的应用引擎服务调用您的云功能(我的意思是您有在应用引擎上运行的后端代码,而不是在用户浏览器中运行的静态JS文件),您可以只授予应用引擎服务号(您现在可以自定义服务号以与您的应用引擎服务一起运行)调用云功能的权限。

当然,您的云功能是公开的,但只有经过身份验证和授权的流量才会路由到您的云功能。所有不良流量(来自互联网或其他未经授权的服务)将被GFE(谷歌前端)自动拒绝,然后再调用您的云功能。因此,你将只为有效流量付费,所有的坏流量将被谷歌丢弃。

如果代码在用户浏览器上运行(因为你的应用引擎只提供静态文件),你可以使用代理层来添加安全过滤,比如API网关。你可以看看这个答案

 类似资料:
  • 我想能够从谷歌云功能中调用谷歌应用程序引擎,有可能吗?找不到任何解决办法

  • 我有一个应用引擎项目。 我也有谷歌云功能。 我想从App Engine项目中调用谷歌云功能。我就是没法让它发挥作用。 是的,如果我将函数完全公开(即将云函数设置为“允许所有流量”,并为“所有用户”创建一个允许调用函数的规则),它就可以工作。但是如果我限制这两个设置中的任何一个,它会立即停止工作,我得到403。 应用程序和函数在同一个项目中,所以我至少假设将函数设置为“仅允许内部流量”应该可以正常工

  • 对于这个问题,这里可能是错误的地方,所以如果有必要,请重新指示我。 我使用Google Cloud函数部署了几个简单的函数,它们可以实现以下功能: 从AWS读取文件并写入云SQL 我将这些函数作为单独的函数,因为(1)通常需要比云函数最大超时更长的时间。正因为如此,我正在考虑将这一切作为一项服务转移到App Engine。关于应用程序引擎标准,我的问题是: 请求超时是什么意思?如果我运行这个服务,

  • Google API客户端库 Google云存储客户端库 Google云存储API Google Cloud Storage JSON API Java客户端库 我仍然不知道每一个都是做什么的,我不知道如何在我的android客户端中实现云存储。 如果我使用云存储,为什么我需要应用引擎后端应用?我的后端不需要API,对吗?我可以使用Google Cloud Storage JSON API直接消耗

  • 我们已经创建了一个应用引擎实例作为后端,另一个来自云函数。现在云函数需要在同一个谷歌项目中从应用引擎访问api。如果应用引擎的防火墙允许每个人访问,这很好。但是在我们的例子中,我们需要限制来自云函数的访问。 我是GCP的新手,非常感谢您的建议。提前谢谢。

  • 谷歌云的功能似乎非常有趣,因为它是无服务器和零维护的解决方案。但是,什么时候在谷歌应用程序引擎上使用谷歌云功能合适呢?