Цепочка аутентификации с LDAP

У меня есть следующие два сервера ldap (slapd):

company.com

  • ou=users,dc=company,dc=com
    • uid=employee1
    • uid = сотрудник2

opensourceproject.com

  • ou=users,dc=opensourceproject,dc=com
    • uid=member1
    • uid=член2

Я хочу добиться того, чтобы клиент (bugzilla, svn и т. д.) мог прозрачно запрашивать ldap opensourceproject.com для пользователей на обоих серверах. Запрос может быть следующим: "проверить аутентификацию uid=employee1", отправленный клиентом на сервер ldap opensourceproject.com. Теперь сервер должен заглянуть в его список и посмотреть, доступен ли пользователь, если нет, привязать к company.com ldap и посмотреть там, если существует: вернуть результат.

Можно ли этого добиться? Большинству клиентов нужна база поиска, чтобы найти участника, поэтому я, вероятно, выполню поиск по ou=users,dc=opensourceproject,dc=com, которого нет в company. .com, поэтому я не знаю, как соединить два дерева. Если я использую пустую базу поиска, это сработает? Я полагаю, что могу столкнуться со всевозможными неприятностями из-за привязки.

Можно ли заставить это работать с ldap? Если да, то как?


person Nihathrael    schedule 13.04.2012    source источник
comment
Вы уверены в уникальности UID в двух каталогах?   -  person JPBlanc    schedule 16.04.2012
comment
Вы решили проблему?   -  person Tadej Mali    schedule 24.08.2020


Ответы (1)


Существует как минимум четыре возможных решения:

  • Клиент LDAP должен выполнить два поиска: один с базовым объектом, соответствующим расположению пользователей на одном сервере, а другой с базовым объектом, соответствующим местонахождению пользователей на другом сервере; области поиска, фильтры и атрибуты для извлечения должны быть настроены для каждого сервера. Это решение, хотя и работоспособное, является плохой формой, поскольку клиенты LDAP должны знать о двух разных наборах информации (по одному для каждого сервера), что делает решение немасштабируемым, хрупким и хрупким. Также возникает вопрос политики: какую аутентификацию следует использовать, если идентификатор аутентификации существует на обоих серверах?
  • Использование прокси-сервера LDAP, который поддерживает сопоставление DN, при этом прокси-сервер может преобразовывать запросы dc=opensourceproject,dc=com в запросы dc=company,dc=com. Такой продукт можно приобрести у UnboundID. Применяется указанный выше вопрос политики.
  • Использование сервера синхронизации для объединения данных на обоих серверах и размещения результатов на третьем сервере, к которому обращаются клиенты LDAP. Вышеупомянутый вопрос политики затем управляется сервером синхронизации.
  • Объедините данные на двух серверах вручную.
person Terry Gardner    schedule 13.04.2012