Назад | Перейти на главную страницу

Дерево OpenLDAP с группами?

Я думаю, это может быть простой вопрос со сложным объяснением.

Я надеялся, что кто-нибудь поможет мне настроить мое дерево LDAP. Я хочу иметь группы и пользователей. Пользователь может принадлежать к одной или нескольким группам. Группы представляют различные службы / приложения, к которым пользователи должны иметь доступ, то есть доступ для входа в систему с помощью VPN.

Я использую OpenLDAP, и у меня есть следующая древовидная структура (с доменом example.com).

-dc=example,dc=com
--ou=groups
---cn=VPN (members=user1)
---cn=redmine (members=user1,user2)
---cn=vCenter (members=user2,user3)
--ou=users
---cn=user1 
---cn=user2
---cn=user3

Все пользователи являются объектными классами inetOrgPerson, posixAccount и top (для их создания я использовал Generic: User Account в phpLdapAdmin). У меня есть наложение memberOf, поэтому запросы вроде (memberOf = cn = VPN, ou = groups, dc = example, dc = com) работают.

Теперь проблема. Некоторые приложения, которые я использую (например, redmine), имеют функциональность, в которой я могу определить используемый фильтр и, таким образом, использовать наложение memberOf. Другие приложения / службы не имеют этого, а только базовый DNS, в котором он выполняет поиск, т.е. vCenter выполняет следующий запрос:

base="dc=xyzz,dc=se" filter="(&(objectClass=inetOrgPerson)(objectClass=inetOrgPerson)(uid=user1))

Невозможно изменить что-либо, кроме базового dn, в котором он выполняет поиск. Как я могу затем использовать ldap, чтобы проверить, должны ли пользователи иметь доступ к vCenter, учитывая, что пользователь является членом группы vCenter в дереве LDAP.

Столкновение с этой проблемой заставляет меня думать, что я неправильно понял, как работает LDAP.