我正在开发一个应用程序,其中我在云运行中托管了前端:公共访问,无身份验证
另一个云运行服务有后端。这需要身份验证,并且不向公共开放。
当然,如果我在后端服务上禁用身份验证,一切都会正常工作。
是否可以通过前端云运行服务开启鉴权访问后端?
这两个服务都在同一个无服务器VPC中。
发布于 2020-09-26 06:11:08
正如在official doc中捕获的,frontend
可以通过利用Invoker IAM角色来安全地、私下地调用backend
:
frontend
向backend
发出请求时,必须为请求附加身份令牌,请参阅here for code examples发布于 2021-02-03 18:28:32
要私下连接两个云上运行的应用程序,您需要获取身份令牌,并将其添加到目标服务出站请求的Authorization header中。你可以在这里找到文档和例子。
为了使云运行服务A(使用服务帐户SA1运行)能够连接到私有云运行服务B,您需要:
curl -H "metadata-flavor: Google" \
http://metadata/instance/service-accounts/default/identity?audience=URL
其中URL是服务B的URL (即https://*.run.app)。
https://stackoverflow.com/questions/64055773
复制相似问题