Интеграция IDM в ИТ-инфраструктуру предприятия

Для выполнения своих непосредственных задач IDM системам необходима тесная интеграция с информационными системами предприятия. Интеграция необходима, прежде всего, для получения данных о пользователях и структуре предприятия, именно эти данные являются отправной точкой для запуска бизнес процессов в IDM системе. Не менее важной является интеграция с управляемыми системами — системами, в которых IDM будет управлять доступом пользователей и проводить аудит прав. В качестве дополнительных видов интеграции можно выделить интеграции с Service Desk системами и централизованными системами документооборота. Рассмотрим IDM систему с точки зрения контекста в архитектуре предприятия:

IDM получает данные о пользователях из доверенных источников, при этом источников может быть несколько, и, на основании бизнес настроек преобразует их в учетные записи, профили и права доступа пользователей. Этому может предшествовать процесс согласования, подтверждения прав и другие активности, но с точки зрения интеграции с инфраструктурой они не принципиальны, поэтому, в данный момент, мы от них абстрагируемся.
Итак, достаточной интеграцией IDM в инфраструктуру предприятия можно считать интеграцию с системами двух видов: поставщиком данных и управляемой системой.

Коннекторы

Поскольку интеграция с информационными системами является неотъемлемой частью проекта внедрения IDM все продукты имеют соответствующие возможности, вендоры предоставляют инструменты для реализации интеграционных решений и готовые решения. В большинстве случаев, модули, отвечающие за взаимодействие IDM c внешней системой, называются коннекторами. Коннекторы можно классифицировать следующим образом:
По назначению:
  • управляющие (provisioning connector, management agent)
  • коннекторы к источникам данных (например, к кадровой системе)
По применимости:
  • коннектор к конкретной системе, использующий ее специфичное API и структуры данных
  • универсальные настраиваемые коннекторы — коннекторы с широкими возможностями конфигурации, работающие с системами, поддерживающими базовые программные интерфейсы определенного типа (например, SQL, LDAP, SOAP, REST), позволяющие настроить структуры данных и высокоуровневый интерфейс системы на этапе внедрения, без изменения кода.
  • универсальные коннекторы к интерфейсу определенного вида, реализация которого предполагается на стороне интегрируемой системы.

Данный набор инструментов представлен практически у всех вендоров, помимо него, большинство поставщиков IDM решений предоставляют SDK для разработки коннекторов с привлечением ресурсов интегратора или собственных ресурсов заказчика.

Технологическая концепция

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

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

Разные производители IDM решений по-разному подходят к организации интеграционной инфраструктуры своих продуктов. Отличия имеются как с технической точки зрения, в основном, влияющей на тип интерфейса взаимодействия ядра с коннекторами и отношением между процессами, в которых выполняется код ядра и коннекторов, так и с точки зрения уровня абстракции интерфейса взаимодействия. Так, например, в некоторых решениях, IDM коннекторы оперируют объектами конкретной модели безопасности, в других абстрактными сущностями, позволяющими синхронизировать связанные с идентификатором данные.

Можно выделить основные направления и тенденции развития интеграционных инфраструктур современных IDM решений:
  • Использование SOA-технологий
  • Реализация предметно-ориентированной модели данных
  • Асинхронное взаимодействие с интегрируемыми системами (их интеграционными модулями)
  • Горизонтальное масштабирование на уровне управляющих коннекторами сервисов
В целом, хорошая интеграционная инфраструктура должна удовлетворять следующим требованиям:
  • Наличие готовых интеграционных модулей к популярным информационным системам
  • Возможность интеграции в SOA-инфраструктуру предприятия, имеющуюся интеграционную инфраструктуру уровня предприятия
  • Наличие универсальных интеграционных решений, подходящих для реализации взаимодействия с большинством собственных решений заказчика
  • Наличие документации и библиотек для самостоятельной разработки интеграционных модулей
  • Наличие точек интеграции для построения сквозных бизнес процессов с внешними системами

Разработка интеграционных модулей
Для обеспечения возможности подключения интеграционных модулей большинство IDM решений использует стандартную схему подключения плагинов — модулей расширения приложения, реализующих определенный интерфейс взаимодействия. В современных решениях этот интерфейс, чаще всего, строится вокруг модели безопасности приложения, принятой за эталонную. Некоторые решения, вместо плагинов, предлагают разработку веб-сервисов. С одной стороны, такое решение кажется оправданным ввиду повсеместного распространения SOA стандартов, с другой, такой подход накладывает дополнительные технические ограничения и добавляет лишнюю трудоемкость при разработке. При реализации предметно-ориентированной модели взаимодействия коннекторы, обеспечивающие управление системами имеют отличный интерфейс от коннекторов, предназначенных для загрузки доверенных данных. Качественный фреймворк для разработки коннекторов должен полностью абстрагировать разработчика от деталей и протоколов взаимодействия с IDM системой, балансировки нагрузки, управления потоками и прочих аспектов, не связанных непосредственно с решением бизнес-задачи. В идеале, задачей разработчика коннектора должна быть реализация подключения к интерфейсам системы и логики взаимодействия с ней.

Заключение

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

Александр Махновский, software architect компании «Аванпост»

Другие новости

    Форма
    контакты
    Телефон
    E-mail
    129 085, г. Москва
    ул. Годовикова, д. 9, стр. 17
    Адрес
    Все права защищены © Avanpost 2024