Sonarqube LDAP组过滤器无法正常工作

时间:2018-03-13 19:17:06

标签: ldap sonarqube

我在带有LDAP插件2.2的Windows Server 2016上运行Sonarqube 6.7.1.35068。我有LDAP工作,因为新用户可以使用他们的域凭据登录Sonarqube并创建一个帐户,但我的组过滤器不起作用。我试图根据特定的AD安全组成员身份过滤登录,但不幸的是,域上的所有用户都能够登录,因为组过滤不起作用。以下是属性文件中的LDAP配置:

#----- LDAP configuration
# General Configuration
sonar.security.realm=LDAP
sonar.authenticator.downcase=true
ldap.url=ldap://ldap.domain.com:3268
ldap.bindDn=serviceaccount@ad.domain.com
ldap.bindPassword=********

# User Configuration
ldap.user.baseDn=dc=ad,dc=domain,dc=com
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail

# Group Configuration
ldap.group.baseDn=CN=Sonarqube,OU=Software Access,OU=Security Groups,OU=AD Groups,DC=ad,DC=domain,DC=com
ldap.group.request=(&(objectClass=group)(memberOf={dn}))
ldap.group.idAttribute=sAMAccountName

我已经为 ldap.group.baseDn 和。尝试了几种不同的组合 ldap.group.request 值,但基于AD群组成员资格的用户过滤没有取得任何成功。遗憾的是,没有关于如何为Sonarqube配置这两个值的具体详细示例。任何人吗?

2 个答案:

答案 0 :(得分:1)

在Windows Server 2016上使用LDAP插件2.2运行Sonarqube 6.7.1 组过滤器配置是棘手的部分,对我来说它的工作原理如下:

# User Configuration
ldap.user.baseDn=DC=lan,DC=domain,DC=de
ldap.user.realNameAttribute=cn
ldap.user.LastNameAttribute=sn
ldap.user.firstNameAttribute=givenName
ldap.user.emailAttribute=mail
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))

# Group Configuration
ldap.group.baseDn=DC=lan,DC=domain,DC=de
ldap.group.idAttribute=cn
ldap.group.request=(&(objectClass=group)(member={dn}))

答案 1 :(得分:1)

不需要组配置。您可以通过限制 ldap.user.request 上的 user-filter 选项来限制基于特定 LDAP/AD 组成员资格的 SonarQube 访问:

<块引用>

ldap.user.request=(&(objectClass=user)(sAMAccountName={login})(memberOf=CN=ldap-group,OU=groups,DC=example,DC=com))

我的最终工作配置如下:

#----- General Configuration
sonar.security.realm=LDAP
sonar.authenticator.downcase=true
ldap.url=ldap://ldap.domain.com:3268
ldap.bindDn=serviceaccount@ad.domain.com
ldap.bindPassword=********

#----- User Configuration
ldap.user.baseDn=dc=ad,dc=domain,dc=com
ldap.user.request=(&(objectClass=user)(sAMAccountName={login})(memberOf=CN=ldap-group,OU=groups,DC=example,DC=com))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
相关问题