gpt4 book ai didi

azure - Gitlab + Jenkins 与 Azure Active Directory 身份验证

转载 作者:行者123 更新时间:2023-12-02 05:56:18 26 4
gpt4 key购买 nike

背景和问题

我正在为一家公司开发 DevOps 平台,该公司希望为开发人员提供用于代码版本控制和自动测试/构建/部署的工具,使用 Gitlab + Jenkins + Azure(以及 Jira/Sonarqube/Grafana 等其他工具,但是此处不相关)。

出于安全原因和易于管理,我们希望为用户提供一个用于所有这些工具的帐户:Azure Active Directory。

目前,Gitlab 用户可以通过 Azure AD 连接,推送到 Gitlab 存储库会触发 Jenkins 中的构建。当我通过 Azure AD 配置 Jenkins 身份验证时,Gitlab 与 Jenkins 的集成不再起作用,因为您不能再使用用户名/密码连接到 Jenkins,而且这似乎是 Gitlab 集成提供的唯一方式。

当前设置

问题

  • Jenkins 有没有办法根据用户提供多种身份验证策略? (正如 Gitlab 所做的那样)
  • Gitlab 有没有办法使用其他用户/密码进行 Jenkins 集成或 Webhooks?
  • 我们必须在 Azure AD 和 Gitlab 集成之间进行选择吗? (如果是这样,这是否意味着没有人使用 Jenkins 单点登录和 Gitlab?看起来很奇怪)

线索和想法

  • 尝试使用 Webhooks 而不是 Jenkins 集成,但失败了,因为 Webhooks 还需要用户名/密码(并且集成可能不太“高级”)
  • 尝试寻找一种在 Jenkins 上启用多种身份验证方法的方法,但现在似乎不可能 ( https://issues.jenkins.io/browse/JENKINS-15063 )
  • 尝试在 Azure AD 上向 Gitlab 授予角色权限,但它不会改变任何内容,因为我找不到如何使用 OAuth 和 Jenkins 来创建 Gitlab

我彻底寻找答案,但仍然可能错过了一些微不足道的东西。我没有找到太多关于这个特定设置的文献,所以我希望这里有人之前遇到过这种情况🙂

感谢您的帮助

最佳答案

我找到了解决此问题的方法。

  1. 通过点击顶部栏中您记录的用户名来识别您的用户 ID。您将获得 Jenkins 用户 ID,即 gitlab 中的用户用户名。例如:a42fac35-6in9-464d-8ffb-71263843b814
  2. 为所需用户生成 api token 并从 https://Jenkins.example.com/user/ 复制密码。 <用户ID>/配置。此 api token 将是您在 gitlab 中的密码

通过在 gitlab 中提供这些详细信息,可以与 Jenkins 集成。

关于azure - Gitlab + Jenkins 与 Azure Active Directory 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70561710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com