【问题标题】:Jenkins LDAP authentication for specific group members特定组成员的 Jenkins LDAP 身份验证
【发布时间】:2021-11-11 14:21:57
【问题描述】:

我需要通过 LDAP (AD) 为我们的 Jenkins 设置身份验证。我能够大规模设置身份验证,但我必须将其缩小到某个组的特定成员,我的 LDAP 过滤在这里失败。

这是我要定位的完整 DN:

CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com

jenkinsgroup 组中,我将用户存储为成员属性,只有他们才能获得访问权限。

Jenkins LDAP 插件提供以下字段:

Jenkis configuration

我不确定是否应该在 User 或 Group 字段中使用过滤器,或者我应该为成员属性使用哪个 objectClass 或类别 - 我也尝试过 user 和 member。

我收到的错误消息:

用户查找:用户“用户名”不存在。 Manager Dn 是否有权执行用户查找? 用户搜索库和用户搜索过滤器设置是否正确? LDAP 组查找:无法验证。 请尝试使用至少属于一个 LDAP 组的用户。

如果不进行过滤,我可以向组中的用户进行身份验证,它还可以确认我的成员身份。

所以我对如何编写正确的查询感到困惑。

提前致谢!

【问题讨论】:

  • 请将配置复制为文本/代码而不是链接图像,以便您的帖子更具可读性。问题是用户搜索过滤器中没有可供替换的用户名变量,将该过滤器替换为:(&(sAMAccountName={0})(memberOf=CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com))。此外,由于这个单一过滤器会检查用户名及其成员资格。
  • 谢谢,成功了!

标签: jenkins ldap


【解决方案1】:

正如 EricLavault 所说:

(&(sAMAccountName={0})(memberOf=CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com) )

我用它作为用户搜索过滤器并且工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 2017-06-03
    • 2011-09-23
    • 2017-01-09
    • 2015-05-06
    相关资源
    最近更新 更多