Google cloud platform ESPV2云运行
我正在设置ESPv2,它将访问另一个以NodeJS+Express编写的云运行服务。我可以直接访问NodeJS+Express服务,但希望使用ESPv2限制访问 ESPv2安装没有任何问题,但我有以下问题 当我使用ESPv2访问NodeJS+Express云运行服务时,NodeJS+Express服务触发器必须使用“允许所有流量”和“允许未经授权的调用” 如果我将访问限制为仅允许内部流量,ESPv2将无法访问NodeJS+Express云运行服务 我应该做些什么来授权ESPv2和被呼叫的NodeJS服务之间的呼叫吗 yaml的顶部如下所示Google cloud platform ESPV2云运行,google-cloud-platform,google-cloud-run,Google Cloud Platform,Google Cloud Run,我正在设置ESPv2,它将访问另一个以NodeJS+Express编写的云运行服务。我可以直接访问NodeJS+Express服务,但希望使用ESPv2限制访问 ESPv2安装没有任何问题,但我有以下问题 当我使用ESPv2访问NodeJS+Express云运行服务时,NodeJS+Express服务触发器必须使用“允许所有流量”和“允许未经授权的调用” 如果我将访问限制为仅允许内部流量,ESPv2将无法访问NodeJS+Express云运行服务 我应该做些什么来授权ESPv2和被呼叫的Node
swagger: "2.0"
info:
description: "APIs for managing My Site"
version: "0.0.3"
title: "My API"
contact:
email: "email@email.com"
license:
name: "Copyright Amzu IT Ltd"
host: "apihost-xxxx.a.run.app"
x-google-endpoints:
- name: "apihost-xxxx.a.run.app"
allowCors: True
x-google-backend:
address: https://<nodejs-expess-cloud-run-url>.a.run.app
protocol: h2
schemes:
- "https"
paths:
/test:
get:
operationId: Testing
summary: A Test Endpoint to check if the URL is working.
description: A Test Endpoint to check if the URL is working, does not have any security enabled for this URL.
responses:
200:
description: Success
schema:
type: "string"
security:
- key: []
securityDefinitions:
key:
type: apiKey
in: header
name: x-api-key
firebase:
authorizationUrl: ""
flow: "implicit"
type: "oauth2"
x-google-issuer: "https://securetoken.google.com/REMOVED"
x-google-jwks_uri: "https://www.googleapis.com/service_accounts/v1/metadata/x509/securetoken@system.gserviceaccount.com"
x-google-audiences: "REMOVED"
昂首阔步:“2.0”
信息:
描述:“用于管理我的站点的API”
版本:“0.0.3”
标题:“我的API”
联系人:
电子邮件:“email@email.com"
许可证:
名称:“Amzu IT有限公司版权所有”
主机:“apihost xxxx.a.run.app”
x-google-endpoints:
-名称:“apihost xxxx.a.run.app”
allowCors:正确
x-google-backend:
地址:https://.a.run.app
协议:h2
计划:
-“https”
路径:
/测试:
获取:
操作ID:测试
摘要:用于检查URL是否工作的测试端点。
描述:用于检查URL是否正常工作的测试端点没有为此URL启用任何安全性。
响应:
200:
描述:成功
模式:
类型:“字符串”
安全:
-钥匙:[]
证券定义:
关键:
类型:apiKey
在:标题
名称:x-api-key
火基:
授权URL:“
流:“隐式”
类型:“oauth2”
x-google-issuer:“https://securetoken.google.com/REMOVED"
x-google-jwks_uri:“https://www.googleapis.com/service_accounts/v1/metadata/x509/securetoken@system.gserviceaccount.com“
x-谷歌-受众:“删除”
好的,我知道您的ESPv2部署在云计算运行中,您希望进入另一个云计算运行
- 最简单的方法是以noallow unauthenticated模式部署NodeJS云运行,然后授予ESPv2云运行服务帐户访问NodeJS云运行。IAM过滤流量,只有有效流量到达您的NodeJS云运行
- 您可以在NodeJS云运行中将上一个选项与ingress=internal组合。这一次,只有经过身份验证的(因为您处于不允许未经身份验证的模式)和来自部署NodeJS云运行服务的当前项目的VPC的流量,您需要
- 您也可以只拥有内部流量,但我不建议这样做,对IAM服务的信任是强大的优势
我写道,如果您愿意,您可以依赖它。我将为一个项目重新访问云端点,因此您的问题是及时的。自从我上次使用端点v2已经有一段时间了,但是IIRC。。。。您不希望云运行服务以
的形式运行——允许未经验证的(因为它会,而且您可以很容易地向自己证明这一点)。您希望将云运行限制为仅由为您运行端点服务的服务帐户调用。请看:我以前尝试过这个功能时在博客上写过(使用Golang,但应该有点不同)。唯一的变化是ESP映像现在包含了这个版本(我将更新帖子)。请参阅带有gcloud运行服务添加iam策略绑定的部分
。