Сконфигурируйте Jenkins с LDAP: параметр 'Root DN'

Я устанавливаю сервер LDAP и настраиваю Jenkins, чтобы принять LDAP для аутентификации. В параметрах Jenkins у меня странное поведение с параметром Root DN,

Документация гласит:

Корневой DN

Для аутентификации пользователя и определения ролей, назначенных этому пользователю, Jenkins выполняет несколько запросов LDAP.

[...]

Но на практике серверы LDAP поддерживают обширный индекс по данным, поэтому указывать это поле редко требуется - просто дайте Дженкинсу понять это, поговорив с LDAP.

Если вы укажете это значение, поле будет выглядеть примерно так: dc = acme, dc = org

Странное поведение: если я не укажу параметр, мой пользователь не найден. Другие параметры имеют значение по умолчанию.

LDAP является новым для меня, поэтому я, вероятно, делаю что-то не так. Я создал дерево LDAP, используя slapd, Я создал одного пользователя adenoyelle под узлом People что я тоже создал. увидеть ldapsearch результат ниже:

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

Если я позволю Root DN пусто, мой пользователь не может авторизоваться Но это работает, если я дам это значение для параметра:

НУ = люди, DC = Acme, dc = COM

Что я делаю неправильно? Я предполагаю, что мои узлы LDAP неправильны, но я не могу найти, почему. Может быть проблема с objectClass ценности?

1 ответ

Клиент LDAP запросит у сервера корневой DSE, используемый в качестве базового DN, если вы пропустите это значение. Если slapd настроен неправильно, ldapsearch не может получить значение для этого и, таким образом, не выполняет запрос.

Подробности здесь: Корневая DSE не возвращена из OpenLDAP, цитата:

Это на самом деле подано как ошибка #427842 против Ubuntu 9.10 (karmic).

Чтобы исправить это, скопируйте следующее в fixRootDSE.ldif:

dn: olcDatabase={-1}frontend,cn=config
changetype: modify
add: olcAccess
olcAccess: to dn.base="" by * read
olcAccess: to dn.base="cn=subschema" by * read

И выполнить

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f fixRootDSE.ldif

Это должно дать анонимный доступ к корневому DSE.

Другие вопросы по тегам