Как Быстро И Легко Интегрироваться С Active Directory

Active Directory используется большинством наших клиентов, поэтому необходимость интеграции с ней возникает практически в каждом проекте.

Чтобы командам не приходилось каждый раз решать эту проблему заново, разработчики True Engineering создали сервис, который мы теперь можем в готовом виде встраивать в другие продукты.

Давайте поделимся своим опытом.

У любого продукта есть пользователи, и их информацией нужно как-то управлять — создавать учетные записи, сохранять пароли, добавлять пользователей в группы и т. д. Данные пользователей хранятся в Active Directory, поэтому разработчикам новых продуктов необходимо выстраивать соединения с этим сервисом, регистрировать все необходимые процессы и позаботьтесь о безопасности.

Эту часть работы мы сейчас автоматизировали в рамках отдельного микросервиса AReS — Службы регистрации аккаунтов.

Он может добавлять в AD новых пользователей, отправлять им письма с регистрационными данными и напоминать о необходимости придумать пароль.

Это полноценный компонент, который можно скопировать практически в любой продукт.



Архитектура процесса

Когда пользователь регистрируется в системе, его данные попадают в RabbitMQ, откуда их подхватывает AReS. Пакет содержит всю информацию, необходимую для создания учетной записи:
  • Имя пользователя,
  • Адрес электронной почты,
  • группы, в которых он участвует,
  • рассылки, которые он получает.
AReS передает эти данные в Active Directory, а точнее, в микросервис Active Directory Management Service. Информация сохраняется в базе данных, после чего пользователю необходимо создать пароль.

Одним из требований AReS было не отправлять пользователям пароли, даже временные.

Вместо этого служба отправляет электронное письмо со ссылкой, которая приведет вас на страницу для создания пароля.

Логика настроена таким образом, что у пользователя есть две недели на то, чтобы придумать код доступа.

За это время он получит напоминание дважды – через неделю и 13 дней после попытки регистрации.

Если по истечении этого срока пароль не был создан, учетная запись в AD помечается как неактивная.

За отправку писем отвечает модуль MailService. Также он хранит макеты писем, чтобы все уведомления приходили в аккуратном виде, оформленном в фирменном стиле.



Как быстро и легко интегрироваться с Active Directory

В результате мы имеем законченный процесс: пользователь отправляет свои данные, они сохраняются в Active Directory, доступ к системам защищен паролем, который невозможно перехватить.



Преимущества

Самое главное, AReS готов к использованию в любом продукте.

Как мы говорили вначале, это была первоначальная цель — избавить команды от необходимости писать один и тот же модуль снова и снова.

Дизайн, содержание и частоту писем, а также бизнес-логику участвующих сервисов можно легко изменить.

А значит, меньше рутинной работы, и меньше шансов, что в код попадет ошибка, которую потом придется ловить.

И больше времени для более интересных задач.

Второе важное преимущество — AReS получает данные через Rabbit, поэтому нет необходимости выстраивать прямую связь между ним и продуктом, который мы подключаем к AD. Такая архитектура позволяет строить событийную модель и быстро конструировать различные сложные сценарии: автоматическое создание групп пользователей, развертывание политик, контроль доступа к информационным ресурсам.

И снова поговорим о безопасности паролей — при таком подходе их знают только пользователи.



Как мы планируем развивать модуль

AReS уже работает в боевом режиме в одном из наших продуктов, и в ближайшее время мы подключим его к другой системе.

Далее мы планируем интегрировать его с нашим Центром уведомлений, чтобы он предоставлял информационные бюллетени вместо MailService. Центр уведомлений — это собственный продукт True Engineering для управления коммуникациями всех корпоративных служб.

В него входит контроль всех уведомлений и рассылок, способа их доставки и другие тонкости, заложенные в логику каждой отдельной системы.

Итак, если компания использует Центр уведомлений, дополнительный модуль в виде MailService не нужен.

Также мы хотим расширить возможности по работе с самим AD. Он позволяет управлять не только учетными записями пользователей, но и их рабочими станциями.

Вы можете настроить возможность группам сотрудников использовать только определенные компьютеры — например, чтобы никто не мог зайти на ноутбук генерального директора.

То же самое касается кассовых аппаратов, терминалов и других устройств, куда необходимо авторизоваться через AD. Наш модуль поможет вам встроить правила работы с ними в логику продукта, чтобы администраторам не приходилось настраивать его дополнительно.

Теги: #ИТ-инфраструктура #Микросервисы #Управление продуктами #активный каталог #Active Directory #управление рассылкой

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.