【问题标题】:Spinnaker authentication using IAP使用 IAP 的 Spinnaker 身份验证
【发布时间】:2019-02-21 13:34:31
【问题描述】:

我们正在尝试使用 IAP 在 Spinnaker 中启用身份验证。

  • 使用 HAL 在 GKE 中部署 Spinnaker

  • Deck 和 Gate 使用 Ingress 暴露于不同的域,并且两者都启用了 HTTPS。

  • 已启用 IAP 并创建凭据。

  • IAP 的 HAL 配置已完成并重新部署。已设置 UI 和 API 的 BaseURL。

  • 将 CORS 模式设置为 UI URL。

现在,当我尝试打开应用程序时,最初重定向到 https://accounts.google.com/o/oauth2/v2/auth?.... 在将我发送到登录页面之前失败了几次(CORS 错误)。登录后,我的名字会出现在 Spinnaker 的欢迎页面中。在此阶段之后,所有 API(门)调用都因 CORS 错误而失败(从源 'https://spinnaker.abc.com' 对 XMLHttpRequest 的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。)。应用程序调用的问题也是如此。

我们已经为 UI 和 API 设置了 baseURL。所以理想情况下,CORS 应该已经被处理了。

当我直接从浏览器中点击https://spinnaker-api.abc.com/applications 时,我得到了 200 响应。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 您是如何实施 IAP 的?您是否使用任何云存储作为持久性存储?如果是,云存储中提供的权限是什么?
  • @shamma 集群连接了一些永久性磁盘。但是大三角帆部署/吊舱没有安装任何卷。我们可以找到任何说明如何配置 IAP 的文档。所以我们从多个来源获取输入。 Spinnaker 使用 HAL 部署,并使用 Ingress 和 Nodeports 向两个域名公开。 IAP 从控制台启用,HAL 用于在 Spinnaker 中启用 IAP。
  • 为了重现该问题,我需要有关您的设置的更多详细信息。您能否分享您提到的用于指导的多个来源?您能否提供您收到的完整 CORS 错误?
  • 云 IAP 目前不支持 CORS。这就是您收到此错误的原因。您可以提交公共问题以请求添加 [cloud.google.com/support/docs/issue-trackers] CORS 支持。

标签: google-cloud-platform cors in-app-purchase google-kubernetes-engine spinnaker


【解决方案1】:

嗯,我有一段时间让它工作了。甲板必须使用 IAP 暴露。 Deck 有一个 /gate 代理到 gate。将此设置为 API baseurl (spinnakergate-domain.com/gate),它应该可以工作。

我必须编辑 .hal/default/service-settings/deck.yml 文件以使 /gate 代理可用。

【讨论】:

    猜你喜欢
    • 2021-10-04
    • 2020-04-05
    • 1970-01-01
    • 2021-04-25
    • 2023-03-08
    • 1970-01-01
    • 2014-09-15
    • 2018-11-02
    • 2022-12-15
    相关资源
    最近更新 更多