google-cloud-run - 如何在无需添加授权令牌的情况下调用 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:我不想将应用程序放在我们的集群中 - 所以这里只有完全托管的选项
解决方案
如果没有 Cloud Run 上的 Authorization 标头,您目前无法执行此操作。
allAuthenticated
subject 表示任何 Google 用户(或服务帐户),因此您需要添加身份令牌以证明您是其中之一。
如果您想公开您的应用程序,请阅读此文档。
但这是一个及时的要求!我目前正在运行一个实验,让您向整个域发出请求http://hello
并自动路由到整个域 + 自动Authorization
注入标头!(这用于 Cloud Run 应用程序之间的通信。)
推荐阅读
- python-3.x - 从本地数据库迁移到外部数据库后数据库连接不一致
- sql - 基于相同字段更新字段不为空
- java - 我想使用二维数组找到方差和标准差。我做了程序,但输出不正确
- javascript - Formik - 在 1 秒后或模糊时验证输入
- javascript - ajax之后的onchange
- java - 来自字段的字符串连接的哈希码与自动生成的方法
- php - 我可以在 Symfony 中使用同一张表来表示不同的实体吗?
- javascript - 使用 domtoimage 库转换图像时出错
- azure - 使用 Powershell 删除 Azure DevOps 上的分支
- .net - 使用Linq一一提取两个相同id的查询