Вопрос или проблема
У меня есть следующий сценарий, и я хотел бы получить подсказки о том, выполним ли он и как я мог бы его реализовать. Я считаю себя неопытным в проксировании OpenLdap (не в Ldap в целом); хотя я пытался реализовать этот сценарий с помощью различных наложений (meta, ldap, dynslist, rwm), у меня не было успеха.
Вот моя настройка:
- У меня есть два AD в качестве верхних серверов, и я могу успешно подключаться (ldapsearch) как пользователю AD1, так и пользователю AD2, чтобы просматривать записи как из AD1, так и из AD2.
- AD1 и AD2 не имеют общих пользователей (одинаковое sAMAccountName)
- Одни и те же групповые приложения (под другим базовым DN) существуют как в AD1, так и в AD2, то есть cn=read,ou=groups,dc=dom1,dc=com и cn=read,ou=groups,dc=dom2,dc=com и др.
- Пользователи AD1 могут быть связаны с cn=read,ou=groups,dc=dom1,dc=com или другими группами, найденными в AD1, а пользователи AD2 – с соответствующей группой, найденной в AD, или с другими группами.
- Приложение Ldap будет сконфигурировано с URL-адресом прокси OpenLdap, а базовый DN также конфигурируемый.
Что я хотел бы достичь с помощью этого запроса, например, это получение содержания Ldif учетной записи пользователя – независимо от того, находятся ли пользователи и их групповые назначения в AD1 или AD2.
(&(objectClass=inetOrgPerson)(sAMAccountName=myusername)
(memberof=CN=mygroup,DC=unified,DC=com))
Обратите внимание, что базовый DN DC=unified,DC=com прокси используется, то есть запрос должен выполняться обоими серверами AD.
Возможно ли это? Любые идеи или подсказки будут очень полезны.
Ответ или решение
Конфигурация OpenLDAP для доступа к нескольким системам авторизации
В вашем сценарии требуется настроить OpenLDAP как прокси-сервер для двух серверов Active Directory (AD1 и AD2), которые будут служить источниками данных для пользователей и групп. Это может быть выполнено с помощью наложений (overlays), которые помогут вам обрабатывать запросы к нескольким источникам LDAP. Ниже представлены шаги и рекомендации для реализации вашего проекта.
1. Архитектура решения
Ваша основная цель заключается в том, чтобы OpenLDAP функционировал как прокси, передавая запросы к обоим серверам AD, в зависимости от того, где находятся требуемые данные. Вы будете использовать наложения, такие как ldap
, meta
и, возможно, rwm
, для управления запросами и ответа на них.
2. Установка и настройка OpenLDAP
Сначала убедитесь, что у вас установлен OpenLDAP и необходимый набор наложений. В большинстве дистрибутивов Linux это можно сделать с помощью пакетного менеджера. Например, для Ubuntu:
sudo apt-get install slapd ldap-utils
При установке вам может понадобиться настроить конфигурацию OpenLDAP, включая настройки базовых DN и учетные данные доступа.
3. Настройка мета-наложения
Используйте meta
наложение для обеспечения доступа к нескольким рекламным доменам. Пример конфигурации может выглядеть так:
dn: cn=meta,cn=config
objectClass: olcMeta
cn: meta
olcUri: ldap://ad1.example.com
olcUri: ldap://ad2.example.com
olcBase: dc=unified,dc=com
Это наложение позволяет OpenLDAP агрегировать данные из обоих серверов. Затем создайте основную запиcь для прокси.
4. Настройка доступа к группам и пользователям
Необходимо настроить систему так, чтобы запросы к пользователям обрабатывались корректно, независимо от того, где они находятся. Для этого убедитесь, что каждый домен возвращает запросы по однотипному формату. Пример LDAP-запроса:
(&(objectClass=inetOrgPerson)(sAMAccountName=myusername)(memberOf=CN=mygroup,DC=unified,DC=com))
Здесь DC=unified,DC=com
будет базовым DN для вашего прокси, и этот запрос ищет пользователя в обоих средах AD.
5. Тестирование конфигурации
Используйте утилиту ldapsearch
, чтобы протестировать вашу конфигурацию. Пример команды для проверки данных пользователя будет выглядеть следующим образом:
ldapsearch -H ldap://localhost -b "dc=unified,dc=com" "(&(objectClass=inetOrgPerson)(sAMAccountName=myusername))"
Убедитесь, что данные пользователей и групп из обоих AD доступны через ваш OpenLDAP.
6. Обработка ошибок и отладка
При разработке конфигурации может возникать множество ошибок. Убедитесь, что вы тщательно проверили логи OpenLDAP для отслеживания любых проблем:
tail -f /var/log/syslog # или используйте соответствующий файл журналов для OpenLDAP
Заключение
Ваша задача – создать единый интерфейс доступа к пользователям и группам из двух разных доменов. Используя OpenLDAP с наложениями, вы можете эффективно реализовать необходимую архитектуру. Будьте готовы к возможным трудностям на этапе тестирования и конфигурации. Напоминаю, что важно поддерживать совместимость всех конфигурационных параметров для обеспечения корректной работы системы.
С помощью вышеописанных шагов и настроек ваша система будет функционировать, позволяя пользователям получать информацию из обоих источников авторизации без дополнительных сложностей.