首页 > 解决方案 > 使用 Cloud SQL 数据库预览或发布应用程序时,Google Scope 授权无限循环

问题描述

大约一个月前,我的组织将 Cloud SQL 设置为 Google 应用制作工具的默认设置。在上周,我们一直无法预览或发布使用 Cloud SQL 数据源的应用程序,包括之前运行良好的示例应用程序。失败发生在授权过程中。预览或发布应用时,Google 应用制作工具会显示一个对话框,说明“部署此应用需要授权”。接下来,它会提示用户输入他们的 Google 帐户,然后请求批准必要的授权(例如,“管理您的 Google SQL 服务实例中的数据”)。批准授权后,授权提示以“部署此应用程序需要授权”对话框重新开始。

观察:

我将不胜感激有关检查内容以解决此问题的任何帮助或建议。

标签: google-app-maker

解决方案


我向 Google 问题跟踪器发布了一个问题,Google 更正了该问题。如果此问题再次发生,他们还提供了解决方法。

以下是 Google 开发团队在 Google 问题跟踪器上发布的回复:https ://issuetracker.google.com/issues/145345198


很高兴听到你重新开始工作!我们已意识到此问题,并正在通过长期修复工作。该特定错误似乎与 Google Cloud 会话策略控制中所做的一些更改有关,这些更改可能已推广到您的域,最近以一种意想不到的方式与 AppMaker 交互。我们已经花时间诊断根本问题,我们相信我们知道根本原因。我怀疑您的域管理员执行了以下解决方法的一个版本。

没有深入细节,具体的错误是对于 AppMaker 应用程序的 Deployer,如果 Google Cloud Session 策略设置了任何过期时间,AppMaker 看到的返回令牌是无效的,从而触发 AppMaker 中的循环尝试生成有效的安全令牌。从历史上看,这些会话令牌从未过期,但最近推出了允许域管理员将它们设置为过期的 beta 功能。我们强烈怀疑您的域最近明确设置了此过期策略,这就是导致该错误的原因。

好消息是这些策略在每个组织单位中都是可覆盖的,我们已经测试了具有原始经典永不过期设置的 OU 实际上允许 AppMaker 工作。

我怀疑您的域管理员已在 admin.google.com 控制台下,特别是在“安全”>“谷歌云会话控制(测试版)”下恢复了对您的组织政策的最新本地更改。

如果再次发生这种情况,我们会推荐这里的解决方法。请注意,如果您目前正在工作,则无需执行此操作。您将需要拥有 admin.gogole.com 权力的人的帮助,特别是您组织中的用户和组织单位权力。这稍微增加了安全风险,但它恢复了一些直到最近才成为标准的经典行为。

解决方法的摘要是覆盖 Google Cloud 会话控制到期设置,以便需要访问 AppMaker 部署的个人可以拥有它。为了减轻系统安全风险,最好通过创建一个用途有限的组织单元来完成,该组织单元的设置与父 OU 设置不同。

解决方法是:

  1. 联系您域中对您的 Google for Business 许可证拥有管理员权限的人。
  2. 让您的管理员继续访问https://admin.google.com。以下操作需要由域管理员执行。
  3. 在用户部分下,确定需要能够部署 AppMaker 应用程序的特定用户帐户。
  4. 确定该 Appmaker 开发用户的组织单位并记下它。
  5. 在组织单位设置下,找到您在上面确定的组织单位。
  6. 在该用户当前的组织单位下创建一个新的组织单位,并通过一些描述将其标识为特殊的 wrt AppMaker。所以对于开发者来说,制作类似 DevelopersWhoAreAlsoAppMakerDevs 的东西。
  7. 返回“用户”选项卡下,找到第 3 步中的用户。将此用户移动到您刚刚创建的新组织单位中。此更改可能需要一段时间才能传播。

-Interlude- 此时,您已经为该个人创建了一个新的组织单位并将其添加到其中。您当然可以将多个人添加到该 OU,尤其是当他们已经在同一个父 OU 中时。使用您的自由裁量权来决定您希望进行多少组织返工。您可能根本不使用 OU,或者您可能决定只为整个域关闭此控件。由你决定。

  1. 在 admin.google.com 的安全设置下,找到 Google Cloud 会话控制(测试版)设置。
  2. 在此面板下,从左侧的下拉菜单中,找到您刚刚创建的组织单位。
  3. 请务必仅选择您要更改的 OU。
  4. 将“Google Cloud Console 和 Google Cloud SDK 会话控制”从过期更改为“会话永不过期”。
  5. 保存您的更改。

您在步骤 3 中选择的帐户现在应该能够部署 AppMaker 应用程序。

看来此 OU 更改仅对 AppMaker 应用程序的部署者是必要的,而不是单个用户。另请注意,如果您有多个具有不同当前 OU 设置的 AppMaker 开发人员,您可能需要创建多个子 OU 以避免单个帐户的 OU 设置突然发生根本变化。


推荐阅读