问题标签 [google-cloud-api-gateway]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
303 浏览

google-cloud-platform - 将私有 Gke 暴露给 API 网关


拥有一个带有微服务的 GKE 集群。服务的外部 IP 属于私有子网。我想向互联网公开微服务的特定端点。由于没有 dns 名称,我无法与 API Gateway 集成。有没有办法?


0 投票
1 回答
745 浏览

google-cloud-platform - 是否可以使用 google GCP API Gateway 将 IP 白名单列入白名单?

我一直在谷歌上搜索并不断被提及 VPC 文档https://cloud.google.com/vpc-service-controls/docs/set-up-private-connectivity但我认为这不会解决我的问题问题。我正在尝试限制在 GCP 上访问我的 webhook 功能的 IP 地址,并且我需要使用 API 网关(Apigee 目前对我来说不是一个选项)。任何建议都会很棒!

0 投票
0 回答
34 浏览

google-cloud-platform - 管理 SaaS API 部署的配额

我正在设计一个需要编程的服务器到服务器访问的 API。我想通过限制 Qps 为每个客户项目设置配额。我配置并部署了一个 API Gateway

根据Cloud Endpoints 的配额文档(从 API Gateway 文档链接),此行为可以通过多个 GCP 项目实现,因为配额绑定到特定的 GCP 项目而不是 API 密钥或服务帐户。

  1. 管理此类部署的最佳实践是什么?

  2. 为每个客户项目创建一个单独的空 GCP 项目,仅使用令牌或 SA,是解决此问题的好方法吗?项目配额一般容易延长吗?

我考虑并尝试了 Apigee。然而,这个项目远不是企业级的,所以定价不合适,截至撰写本文时,他们只支持 60 天的评估(没有免费层)。

0 投票
0 回答
107 浏览

google-cloud-platform - 如何为我的反应前端设置 GCP API 网关

我有一个简单的reactjs前端和一个小的flaskpython 后端。两者目前都在两个单独的gcp服务器上运行。

我本可以简单地将后端运行服务器的公共 IP 与端口一起使用,但我想到了使用 api 网关,我基本上可以将流量路由为:

如何使用 google api gateway 实现这种行为?这有可能吗?我是谷歌 api 网关的新手,不确定我是否真的可以像使用aws.

0 投票
1 回答
41 浏览

google-cloud-platform - API 调用包含敏感数据时的 API 密钥

在阅读 Google Cloud API 网关的文档时,我发现了这段:

与使用短期令牌或签名请求的凭证不同,API 密钥是请求的一部分,因此被认为容易受到中间人攻击,因此安全性较低。除了下面描述的一种身份验证方法之外,您还可以使用 API 密钥。出于安全原因,当 API 调用包含敏感数据时,请勿自行使用 API 密钥。 https://cloud.google.com/api-gateway/docs/authentication-method#api_keys

有人可以详细说明突出显示的句子吗?安全原因究竟是什么?

0 投票
1 回答
111 浏览

android - 在 GCP api 网关中发送签名证书的 SHA 1 指纹作为 api 密钥验证的一部分是否安全?

为了保护和监控我们的 GCP 云功能,我们集成了 GCP api 网关。

android 应用程序必须将 SHA1 指纹、包名称和 api 密钥作为请求的一部分来进行身份验证。

这样做安全吗?

https://cloud.google.com/api-keys/docs/add-restrictions-api-keys

https://cloud.google.com/docs/authentication/api-keys#api_key_restrictions

0 投票
1 回答
1052 浏览

google-cloud-platform - GCP - 从 API Gateway 访问 Google Cloud Run 后端

在我的 GCP 项目中,我有一个在 docker 容器中运行的 python API(使用连接)。我想使用 API Gateway 公开 API(使用 API 密钥)。

当我使用 部署 docker 容器时--ingress internal,我会Access is forbidden.通过网关进行 API 调用。因此 API 网关无法访问 Google Run 容器。当我使用 时--ingress all,一切都按预期工作,但是我的内部 API 可以从 Web 访问,这不是我想要的。

我为此创建了一个服务帐户:

...给了帐户run.invoker权限:

...并使用服务帐户创建 API 配置:

但我无法从 API Gateway 访问 docker API。我在这里想念什么?如何保护我的 API,以便 API 网关可以在内部连接。

Update1:​​还将角色应用于我的运行服务:

Update2:John Hanley 要求的一些额外信息:

我的网关 yml 如下所示:

尝试直接在 Cloud Run 上调试:

结果仍然是 Forbidden:

所以问题在于服务帐户无法访问 Cloud Run 应用程序。我不确定为什么这不起作用,因为该run.invoker角色已添加到 Run 服务中。

0 投票
0 回答
109 浏览

google-cloud-api-gateway - 如何使用 API Gateway 验证范围?

我正在尝试在 API Gateway 上验证用户的 JWT。我可以成功验证 JWT 本身及其受众。最重要的是,如果用户没有正确的范围,我想阻止端点,例如,如果用户没有“separate-stuff”范围,则不应将对“/api/v1/separate”的请求转发给服务。

这是我的 JWT 的样子,范围错误:

和我的 API 网关 YML:

但是 API Gateway 让请求传递给我的服务。关于如何在 API 网关级别执行范围验证的任何想法?我不想在我的服务中执行此操作。谢谢。

0 投票
1 回答
130 浏览

javascript - 从 Web 调用 Google Cloud API 网关(Javascript)

我是这个谷歌云 API 网关的新手。我按照文档中的每一步创建了一个 API 网关并取得了成功。我正在使用具有不同后端(如 Google Cloud Function)的 Google API Gateway。

https://cloud.google.com/api-gateway/docs/quickstart

我通过 curl 命令对此进行了测试,它工作正常 - 就像从后端(云函数)获取响应一样。现在,我想以编程方式进行。从网站调用 API 网关。当我尝试这样做时,我收到如下错误

错误:

我从 Web 调用的 API

我的云功能

我的 API 配置文件

在此处输入图像描述

我做错了(打电话)吗?提前致谢

0 投票
1 回答
228 浏览

typescript - Pulumi 输出 - 创建一个外部配置文件

我正在 GCP 中使用 Cloudrun,并想总结使用 API Gateway 创建的 API。这需要创建一个Swagger/OpenAPI v2文档,其中包含 Google 为 Cloudrun 服务生成的 URL。

如何将这些从 Pulumi 输出中获取到 swagger 文件中以作为 API Config 上传?

我最初希望使用 Moustache。但现在我正在尝试使用原始 JSON,但仍然没有成功。我已经尝试过apply()interpolate[object Object]从来没有尝试过部署服务的 url。

我错过了什么?

是否有可能直接使用小胡子进行此工作,而无需使用反序列化的 Swagger?

重新创建的代码:

一个基本的招摇文件my-spec.yaml

我的文件用于编写新的 API 配置。

Specfrom类型是从DefinitelyTyped定义中复制和修改的