Estou instalando um servidor LDAP e configurando o Jenkins para aceitar o LDAP para autenticação. Nos parâmetros do Jenkins, tenho um comportamento estranho com o parâmetro Root DN
.
Documentação diz:
Root DN
For authenticating user and determing the roles given to this user, Jenkins performs multiple LDAP queries.
[...]
But in practice, LDAP servers maintain an extensive index over the data, so specifying this field is rarely necessary — you should just let Jenkins figure this out by talking to LDAP.
If you do specify this value, the field normally looks something like dc=acme,dc=org
Comportamento estranho : Se eu não especificar o parâmetro, meu usuário não será encontrado. Os outros parâmetros têm o valor padrão.
O LDAP é novo para mim, então provavelmente estou fazendo algo errado. Eu criei uma árvore LDAP usando slapd
. Eu criei um usuário adenoyelle
sob um nó People
que também criei. veja o resultado ldapsearch
abaixo:
root@myserver:~# ldapsearch -xLLL -b 'dc=acme,dc=com'
dn: dc=acme,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: acme.com
dc: acme
dn: cn=admin,dc=acme,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
dn: ou=people,dc=acme,dc=com
cn: people
objectClass: organizationalRole
objectClass: top
ou: people
dn: uid=adenoyelle,ou=people,dc=acme,dc=com
objectClass: account
objectClass: top
objectClass: simpleSecurityObject
uid: adenoyelle
Se eu deixar Root DN
em branco, meu usuário não poderá autenticar. Mas funciona se eu der esse valor para o parâmetro:
ou=people,dc=acme,dc=com
O que estou fazendo de errado? Meu palpite é que meus nós LDAP estão errados, mas não consigo encontrar o motivo. Talvez um problema com objectClass
valores?