[IT-инфраструктура, Управление продуктом, Микросервисы] Как быстро и легко интегрироваться с Active Directory

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
02-Мар-2021 12:31

Active Directory использует большинство наших заказчиков, так что необходимость интегрироваться с ней появляется практически в каждом проекте. Чтобы командам не приходилось каждый раз решать эту задачу заново, разработчики True Engineering создали сервис, который мы теперь можем в готовом виде встраивать в другие продукты. Делимся опытом.У любого продукта есть пользователи, и их информацией надо как-то управлять - создавать учётные записи, сохранять пароли, добавлять пользователей в группы и т.д. Пользовательские данные хранятся в Active Directory, так что разработчикам новых продуктов нужно выстроить связи с этой службой, прописать все необходимые процессы, позаботиться о безопасности. Эту часть работы мы сейчас и автоматизировали в рамках отдельного микросервиса AReS – от Account Registration Service. Он умеет заводить в AD новых пользователей, отправлять им письма с регистрационной информацией, напоминать о необходимости придумать пароль. Это законченный компонент, и его можно копировать практически в любой продукт.Архитектура процессаКогда пользователь регистрируется в системе, его данные поступают в RabbitMQ, откуда их подхватывает AReS. В пакете вся информация, которая нужна для создания учётной записи:
  • имя пользователя,
  • электронный адрес,
  • группы, в которых он участвует,
  • рассылки, которые он получает.
Эти данные AReS передаёт в Active Directory, а точнее – микросервису Active Directory Management Service. Информация сохраняется в базе, после чего пользователю остаётся создать пароль.Одним из требований к AReS было не пересылать пользователям пароли, даже временные. Так что вместо этого сервис отправляет письмо со ссылкой, которая ведёт на страницу для создания пароля. Логика настроена таким образом, что у пользователя есть две недели, чтобы придумать код доступа. За это время ему дважды придёт напоминание – через неделю и 13 дней после попытки регистрации. Если по окончании этого периода пароль так и не создан, учётная запись в AD помечается как неактивная.За отправку писем отвечает модуль MailService. Он же хранит и макеты писем, чтобы все уведомления приходили в аккуратном виде, оформленные по корпоративному стилю.
 В итоге мы имеем законченный процесс: пользователь отправляет свои данные, они сохраняются в Active Directory, доступ к системам защищается паролем, который невозможно перехватить.ПреимуществаСамое главное, AReS готов к использованию в любых продуктах. Как мы говорили в начале, такова была изначальная задача – избавить команды от необходимости заново писать один и тот же модуль. Дизайн, содержание и периодичность писем, бизнес-логику участвующих сервисов можно легко менять. Значит, меньше рутинной работы, меньше вероятности, что в код попадёт ошибка, которую потом придётся отлавливать. И больше времени на более интересные задачи. Второй важный плюс – AReS получает данные через Rabbit, поэтому не нужно выстраивать прямую коммуникацию между ним и продуктом, который мы подключаем к AD. Такая архитектура позволяет построить событийную модель и быстро конструировать разнообразные сложные сценарии: автоматическое создание групп пользователей, развёртывание политик, контроль доступа к информационным ресурсам.И снова скажем про безопасность паролей – при таком подходе их знают только пользователи.Как мы планируем развивать модульAReS уже работает в боевом режиме в одном из наших продуктов, в ближайшее время мы подключим его ещё к одной системе. Далее мы планируем интегрировать его с нашим Центром уведомлений, чтобы он обеспечивал рассылку вместо MailService.Центр уведомлений – это собственный продукт True Engineering для управления коммуникациями всех корпоративных сервисов. Он замыкает в себе контроль всех уведомлений и рассылок, способ их доставки и прочие тонкости, которые зашиты в логику каждой отдельной системы. Так что, если компания использует Центр уведомлений, необходимость в дополнительном модуле в виде MailService отпадает.Мы также хотим расширить возможности для работы с самой AD. Она позволяет управлять не только учётными записями пользователей, но и их рабочими станциями. Можно настраивать возможность для групп сотрудников использовать только специфические компьютеры – например, чтобы никто не мог авторизоваться на ноутбуке гендиректора. То же самое с кассами, терминалами, другими устройствами, где нужно авторизоваться через AD. Наш модуль поможет встроить правила работы с ними в логику продуктов, чтобы администраторам не приходилось настраивать её дополнительно.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_itinfrastruktura (IT-инфраструктура), #_upravlenie_produktom (Управление продуктом), #_mikroservisy (Микросервисы), #_active_directory, #_upravlenie_rassylkami (управление рассылками), #_itinfrastruktura (
IT-инфраструктура
)
, #_upravlenie_produktom (
Управление продуктом
)
, #_mikroservisy (
Микросервисы
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 29-Апр 05:47
Часовой пояс: UTC + 5