Атрибутивная модель управления доступом
Узнать большеСтремясь прийти к централизованному управлению доступом, многие организации внедряют продукты класса Identity and Access Management (далее — IdM). В портфеле ГК «Солар» такая система представлена решением Solar inRights. Она закрывает важные задачи в части управления доступом к внутренним ресурсам, контроля соблюдения корпоративных регламентов, управления жизненным циклом учетных записей (УЗ). Чтобы максимально адаптировать функциональность системы под задачи заказчика, в системе применяется визуальный конструктор Camunda BPM, с помощью которого удобно выстраивать бизнес-логику процессов управления доступом. В статье рассказываем, как этот движок позволяет оптимизировать использование продукта Solar inRights.
Camunda BPM: что это и какие задачи решает
Camunda BPM — open-source-платформа (движок), написанная на языке программирования Java и используемая для создания бизнес-логики. По сути, она является набором библиотек, позволяющих реализовывать необходимые бизнес-процессы. Чтобы интегрировать движок в конкретное решение и строить логику с его помощью, нужно внедрить вводные данные и зависимости.
С помощью платформы можно превращать Business Process Model and Notation (далее — BPMN) — графическое описание бизнес-процессов и их логики в код, который затем будет выполняться и применяться в различных проектах.
Преимущества платформы:
- Camunda BPM по сути является отдельным микросервисом, который взаимодействует с другими системами через обмен сигналами. Благодаря этому может отдельно масштабироваться инфраструктура выполнения команд, передаваемых от open-source-платформы.
- Camunda BPM может строить простые диаграммы при условии, что поддерживающие их атомарные компоненты также тоже будут простыми.
- Движок обеспечивает наглядность всей выстраиваемой логики. Благодаря этому качеству с платформами могут работать люди, которые не имеют прямого отношения к программированию.
- Движок обладает высокой производительностью, позволяющей оперативно выполнять код бизнес-логики и избегать сохранения промежуточных состояний бизнес-процессов, поскольку все процессы будут укладываться в одну транзакцию.
- Платформа обеспечивает простую модификацию бизнес-логики на отдельных инсталляциях. Чтобы внести изменения, достаточно добавить файл bpmn.
- Движок поддерживает обратную совместимость, которая достигается за счет того, что общедоступное API open-source-компонентов не меняется, даже если меняются бизнес-процессы.
Компоненты Camunda BPM
Платформа содержит несколько компонентов-приложений:
- Modeller — компонент, позволяющий создавать модели BPMN-процессов.
- Task list — приложение, в котором выполняются задачи в рамках бизнес-процессов.
- BPMN Engine — движок Camunda BPM, отвечающий за преобразование BPMN в код.
- Cockpit — инструмент для отслеживания состояния бизнес-процессов.
- Admin — модуль, позволяющий управлять пользовательскими правами.
- Optimize — компонент, предоставляющий инструменты для исследования выполняемых процессов.
Некоторые компоненты можно применять бесплатно, но их функциональности будут сильно ограничены. Также стоит учесть, что приложения слабо связаны между собой, поэтому при необходимости какие-то из них можно заменять на собственные разработки.
Какие задачи компании решает IdM-система
Чтобы было понятнее, как применить Camunda BPM, рассказываем, что должна уметь IdM-система. Она должна оптимизировать работу компании в части управления доступом. А именно: автоматизировать процессы выдачи полномочий и дополнительных прав по пользовательским заявкам, приостанавливать или блокировать доступ к корпоративным ресурсам, управлять жизненным циклом зарегистрированных учетных записей. По сути это пункт управления, который получает из доверенных источников информацию о пользователях и организационной структуре и использует эти данные для управления учетными записями, назначения полномочий и других определенных процессов.
Но IdM-систему можно кастомизировать под задачи заказчика, поскольку базово продукт работает по стандартной бизнес-логике. Приведем примеры:
- При приеме сотрудника на работу IdM-решение создает для него УЗ, а при увольнении блокирует эту УЗ и отзывает права доступа, назначенные для нее. Чтобы сделать процесс более гибким и учесть все нюансы, используется Camunda BPM для адаптации работы системы, например, к такой ситуации, как перевод на новую должность при увольнении. При учете данного обстоятельства, IdM-решение не будет создавать новую учетную запись, как для нового работника, а разблокирует прежнюю. И все это будет заложено в конструктор соответствующего бизнес-процесса.
- IdM-система, согласно заранее выполненным настройкам, может временно блокировать учетные записи пользователей, которые ушли в отпуск. Но некоторым заказчикам нужно, чтобы вместо блокировки УЗ перемещалась в отдельный каталог, либо ответственные лица получали уведомление о временной неактивности учетной записи.
- IdM-система автоматически присваивает новым сотрудникам базовые роли с привязанными к ним полномочиями. Но иногда базового набора недостаточно, и полномочия необходимо назначать в обход внутренних регламентов.
- В IdM-системе каждому сотруднику присваивается одна доменная учетная запись. Но некоторые сотрудники могут работать на нескольких штатных позициях, и у них должно быть несколько аккаунтов.
Получается, что у многих компаний могут быть свои требования к системе, но в базовом варианте продукт не всегда может их закрыть. Использование Camunda BPM позволит сделать IdM-решение более гибким, не прибегая к сложным механизмам разработки/доработки.
Автоматизация процессов в IdM-системе Solar inRights с помощью Camunda BPM
Чтобы адаптировать функциональность Solar inRights под конкретные задачи, можно оставить в IdM-решении только компоненты атомарных операций, а автоматизацию процессов выполнить с помощью Camunda BPM. Таким образом, можно создать фичу под задачу заказчика. Например, необходимо сделать так, чтобы при переводе сотрудника на другую должность через увольнение его УЗ не блокировалась. Чтобы применить редактор Camunda BPM для построения логических операций, следует получить вводные данные о том, как в компании выстроены те или иные процессы, связанные с УЗ и уточнить, как должна функционировать IdM-система в понимании заказчика.
Как выглядит схема реализации новой функциональности:
- Заказчик предоставляет схему бизнес-процесса, которая может быть сформирована в любом формате. Главное, чтобы в ней прослеживалось, какие события будут происходить, какая реакция нужна от IdM-системы.
- В Camunda BPM Modeller создается BPMN-файл.
- В код добавляется сигнал старта процесса, затем основные шаги со скриптами, которые должны будут выполняться.
- BPMN-файл загружается в IdM-решение. В результате реализуется необходимая функциональность.
Заказчики крайне редко просят изменить саму реализацию операций, поскольку требования к гибкости IdM-продукта в основном касаются алгоритмов принятия решений. Компаниям, использующим Solar inRightss, важно, чтобы можно было добавлять вводные на выполнение тех или иных операций, исключать из процессов лишние шаги. Движок позволяет закрыть эти требования.