无法为 Cloud Run 实例设置登录,也无法回滚更改,无法访问我的 Cloud Run 网址

问题描述

我尝试了不同的官方教程,但最终都具有误导性。

最后一个是这样的:https://cloud.google.com/iap/docs/cloud-run-sign-in——它说:

启用外部身份,并在设置过程中选择为我托管登录页面选项。

但是没有这样的选择。没有创建新的 Cloud Run 实例,因此什么也没有发生。然后过了一会儿,我更新了我的应用程序的源代码,重新部署,蓝色的登录按钮出现在 Cloud Run 实例 URL 上。没有文档说明“在此步骤中,您现在将看到蓝色按钮”,因此我不确定它是什么。当我浏览对话框时,它说我应该通过尝试我首先提到的不同教程,将 Cloud Run 实例 URL 添加到我一周前创建的 OAuth 应用程序中的“允许的来源”。啊哈!我添加了允许的 URL 但这没有任何作用 - 它只是循环,对话框让我在同一页面上使用相同的蓝色按钮而不是我现在实际上无法访问的 Cloud Run 实例响应到。我是 GCP 项目的所有者,我希望这一切都能检查是否是我调用 Cloud Run。 这个特定的 OAuth 应用程序如何完全阻止这个特定的 Cloud Run 实例?我在几个月或几年内制作了多个应用程序和多个 Cloud Run 实例,但直到现在才出现这个蓝色按钮。

由于无法使其正常工作,我决定将其全部回滚。我允许对我的 Cloud Run 实例进行未经身份验证的调用,禁用了 IAP API,删除了 OAuth 应用程序,重新部署了几次,但蓝色按钮仍然存在,对话框显示:“OAuth 客户端已删除。”而且我看不到我目前的问题要在 https://cloud.google.com/run/docs/troubleshooting

上描述

所以现在不仅整个事情都不起作用(“登录页面”不会部署,即使我再次禁用和启用 IAP API 也不会)而且 我已经失去了对Cloud Run 实例 - 它被无处禁用的蓝色按钮阻止。即使当我部署新服务时,他们也会支持这个坏事。

解决方法

目前,只有 App Engine、Compute Engine 和 HTTPS 负载平衡器支持 IAP。尚不支持 Cloud Run。计划近期支持。

作为一种解决方法,您可以检查这两个选项以便在您的应用程序中实施:

1 - 一个类似的 stackoverflow post where 是关于如何 Google Sign in for Cloud Run 的说明和答案

2 - 社区制作的 IAP in Terraform config 的 Cloud Run 托管版本

您也可以尝试Setup a Load Balancer with Cloud Run,看看是否能解决您面临的问题。

,

启用外部身份,并在设置过程中选择为我托管登录页面选项。

我相信这是指 - 当您打开 IAP 并选择“使用外部身份进行授权”时,有一个选项显示 -“为me' 并附有说明 - 我AP 将使用 Cloud Run 和 Firebase UI 为您创建登录页面

2. 我尝试按照这些步骤操作,并在选中“为我创建登录页面”选项后,它向我显示了一个弹出窗口,其中显示一条消息,表明它正在为我创建 Cloud Run 实例。大约 3 分钟后,它说已完成并向我显示 Cloud Run 实例的 URL 和页面设置的链接

3. 关于对 Cloud Run 实例的访问,我认为最好从 UI (Google Cloud Console) 中删除它。重新部署将重新创建 Cloud Run 服务,您应该不再有“蓝色按钮”,因为您说您已禁用它

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...