首页 > 解决方案 > 如何在无需添加授权令牌的情况下调用 Cloud Run 应用

问题描述

我部署了一个仅供内部使用的云运行应用程序。因此,只有我们集群的用户才能访问它。allAuthenticated我为赋予他们角色的成员添加了权限Cloud Run Invoker。问题是这些用户(包括我)现在每次我想访问该应用程序时都必须添加授权不记名标头。

这就是 Cloud Run 建议做的事情(当您只想访问前端应用程序时不知何故无用)

curl -H \
"Authorization: Bearer $(gcloud auth print-identity-token)" \
https://importer-controlroom-frontend-xl23p3zuiq-ew.a.run.app

我想知道为什么不能像 GCP 所说的那样成为授权成员。我可以访问集群但必须添加授权标头才能以授权成员身份访问云运行应用程序?我觉得这很不方便。

有什么方法可以让访问已部署的云运行应用程序变得更有趣?

PS:我不想将应用程序放在我们的集群中 - 所以这里只有完全托管的选项

标签: google-cloud-run

解决方案


如果没有 Cloud Run 上的 Authorization 标头,您目前无法执行此操作。

allAuthenticatedsubject 表示任何 Google 用户(或服务帐户),因此您需要添加身份令牌以证明您是其中之一。

如果您想公开您的应用程序,请阅读此文档

但这是一个及时的要求!我目前正在运行一个实验,让您向整个域发出请求http://hello并自动路由到整个域 + 自动Authorization注入标头!(这用于 Cloud Run 应用程序之间的通信。)


推荐阅读