Установка AD LDS в Windows 10 и подключения LDAP
Задача: необходимо протестировать аутентификацию пользователей через Active Directory. И авторизацию через группы, которые могут быть вложенными. Возможности тестировать это на живом клиентском сервисе очень ограничены. Поэтому нужно какое-то локальное решение. Под Windows 10. Google предлагает в основном установку Windows server на виртуалку и настройку AD. Такой вариант мне показался черезчур громоздким решением. Также видел лёгкий сервер на nodejs, но там не было поддержки вложенных групп. По итогу оказалось что в windows существует ADLDS сервис. По умолчанию он отключен. Дальше я опишу как его подключить и с минимальными настройками протестировать. В основном это сами говорящие за себя скриншоты.
Переходим в Apps & Features
Выбираем Optional features
Жмём плюс Add feature
Из появившегося списка выбираем: RSAT:Active Directory Domain Services and Lightweight Directory Services
После установки подключаем его. Для этого переходим в: Turn Windows features on or off
Ставим галку
Переходим в Administrative tools
И запускаем wizard по установке инстанса сервиса
Примечание: сначала я создал инстанс с названием партиции как в примере: CN=… Но потом оказалось что я не смог создавать в ней OU (organizational units), поэтому тот инстанс я удалил создал новый.
После этого инстанс появляется в списке установленных приложений (откуда может быть удалён при необходимости)
ADSI Edit для управления пользователями и группами
Создадим organizational unit (ou) Users - который будет содержать наших пользователей
Добавим двух пользователей, назовём их: Ivan Noiret и Julia Medina (с паролями: inoiret и jmedina соответственно)
Зададим пароль нашему пользователю: inoiret
И чтобы Иван не чувствовал себя одиноко, добавим второго пользователя: Julia Medina. Хулии зададим пароль jmedina
Теперь заполним некоторые характеристики (поля) для наших пользователей
По умолчанию пользователь не активен, активируем его:
Поле userPrincipalName это как логин пользователя, обычно email:
Поле mail - это просто почта, может совпадать с предыдущим полем но не обязательно
Повторим аналогичные манипуляции для Хулии.
LDP - чтение и поиск в Active Directory
Для поиска и листинга в AD в Windows есть утилита LDP
Подключимся к сервису
Попробуем подключиться как Иван (CN=Ivan Noiret,OU=Users,O=Compania,C=ES) с паролем inoiret
Подключились, и вот что в консоли:
-----------
res = ldap_simple_bind_s(ld, 'CN=Ivan Noiret,OU=Users,O=Compania,C=ES', <unavailable>); // v.3
Authenticated as: 'CN=Ivan Noiret,OU=Users,O=Compania,C=ES'.
-----------
Теперь попробуем сделать листинг AD
Как видим No children, видимо Ивану не хватает прав. Дадим ему администраторские права (добавим его в группу Administrators) и посмотрим что будет. Для этого вернёмся в ADSI Edit.
Нажимаем кнопку Add DN …
Теперь вернёмся в LDP и переподключимся
И повторим всё как и раньше: Connect -> Bind -> View -> Tree
В этот раз список уже не пустой
Потом через ADSI Edit я добавил OU=Groups, внутри создал группы, объекты типа group. Для вложенных групп я создал объекты типа container куда и поместил их. Далее в родительские группы добавил вложенные. Процесс точно тот же, что и при добавлении пользователей в группы.
На этом пока всё, спасибо за внимание.
