Я пытаюсь настроить «туннель» LDAP для работы с приложением, которое требует конфигурации, немного отличной от моей среды.
Мне нужно иметь возможность привязать как USER1 к серверу LDAP и получать данные, к которым у пользователя нет доступа, но есть у второго пользователя (USER2). Фактически аутентификация должна быть USER1, но затем получение данных должно выполняться с использованием USER2 для авторизации.
До сих пор я пытался использовать «мета» бэкэнда OpenLDAP для создания своего рода туннеля, но, похоже, не могу получить правильную конфигурацию. Вот моя конфигурация, работающая на мета-сервере, пытающемся туннелировать на SERVER1 (настоящий сервер).
database meta
suffix o=me
uri "ldap://SERVER1/o=me"
Я пробовал разные варианты этого элемента, но не нашел ничего, что работало бы. ПОЛЬЗОВАТЕЛЬ1 - исходный пользователь с низким уровнем привилегий, а ПОЛЬЗОВАТЕЛЬ2 - расширенный пользователь.
idassert-bind bindmethod=simple binddn="cn=USER2,o=me" credentials="secret" mode=none
idassert-authzFrom "dn.exact:cn=USER1,o=me"
«Тестовый» случай таков:
ldapsearch -h METASERVER -D "cn=USER1,o=me" -W -x -b "ou=what,o=me" cn=somethinghidden
Чтобы сервер использовал указанный идентификатор аутентификации для запроса, используйте Прокси-аутентификация.