Ключевые слова: управление, доступ.
Система обновления кадровых данных в рамках автоматизированной системы управления доступом (далее IDM) играет важную роль в поддержании актуальности информации о пользователях и их статусе в организации. Роль этой системы заключается в автоматизации процесса обновления и синхронизации кадровых данных с другими информационными системами, такими как система управления персоналом (HR), корпоративная система управления каталогами и другие.
Для обеспечения автоматизированного изменения прав и полномочий сотрудников внутри информационных ресурсов в соответствии с изменениями организационной структуры компании автоматизированной системе управления доступом необходимо получать данные об изменениях внутри этой организационной структуры. Для этого система должна выполнить следующие шаги.
- Получить актуальную организационную структуру компании.
- Определить различия между актуальной организационной структурой компании и организационной структурой, хранящейся в базе данных IDM системы.
- Применить полученные изменения.
Для выполнения вышеописанных шагов IDM система должна включать в себя следующие компоненты:
— базу данных хранящую организационную структуру компании;
— утилиту кадровой синхронизации;
— необходимый и достаточный набор модулей расширения утилиты кадровой синхронизации для каждого отдельного источника кадровых данных.
Работа системы получения изменений организационной структуры выглядит следующим образом (см. Рис. 1):
Рис. 1. Взаимодействие компонентов системы получения изменений организационной структуры
Утилита кадровой синхронизации обращается к модулям расширения, которые получают данные из набора кадровых баз, образуют из полученных данных актуальную единую организационную структуру компании в формате приемлемом для утилиты синхронизации. После чего утилита синхронизации находят отличия между актуальной организационной структурой и организационной структурой внутри IDM системы и применяет эти изменения.
Система обновления кадровых данных в IDM системе помогает обеспечить актуальность информации о пользователях, упростить процессы управления учетными записями, повысить эффективность работы организации и соблюдать требования по безопасности и соответствию законодательству.
В процессе проектирования была получена следующая модель базы данных. Смоделированная база данных состоит из четырех таблиц, характеризующих сотрудника, должность, занимаемую сотрудником, подразделение, в котором сотрудник состоит, и актуальный статус сотрудника. Спроектированная база данных является репрезентативной моделью кадровой базой данных предприятия, так как в нее включены опции для хранения всей необходимой информации для IAM-системы. Поля и таблицы для хранения информации о зарплатах работников, плановых отпусках и так далее не были включены в данную модель, так как описанные выше данные не являются ключевыми при проектировании интеграционного решения (см. Рис. 2):
Рис. 2. ER-диаграмма спроектированной кадровой базы данных
На основе примера выгрузки организационной структуры 1С [1] были сформированы были сформированы примеры ответов сервиса, предоставляющего данные, об организационной структуре предприятия. Файл выгрузки подразделений, отправляется в качестве ответа на запрос с указанием родительского подразделения для выгружаемых подразделений, внешнего клиента (см. Рис. 3):
Рис. 3. Файл выгрузки подразделений
Данный файл содержит идентификационную данные о выгрузке, а также данные характеризующие подразделения. Данные характеризующие подразделения заключены в следующие теги.
- Code — экспортируемый идентификатор подразделения.
- Name — полное имя подразделения.
- ManagerId — табельный номер сотрудника, являющегося главой подразделения.
- Departments — дочерние подразделения.
Если в качестве аргументов запроса не было указано идентификатора родительского подразделения будут возвращены подразделения верхнего уровня.
Файл выгрузки сотрудников, отправляется в качестве ответа на запрос с указанием родительского подразделения для выгружаемых сотрудников, внешнего клиента и содержит данные характеризующее сотрудников и занимаемыми ими должности (см. Рис. 4):
Рис. 4. Файл выгрузки сотрудников
Данные, характеризующие сотрудников, заключены в следующие теги.
- TabId — табельный номер сотрудника.
- FullName — фамилия, имя и отчество.
- Status — статус сотрудника (может принимать значения работает, на больничном, уволен, в отпуске).
- Position — данные, описывающие должность сотрудника.
Файл выгрузки сотрудников также включает в себя информацию о должности сотрудника. Должность сотрудника описывается следующими атрибутами.
- Id — уникальный идентификатор должности.
- Name — имя должности.
Описанный выше набор файлов будет передан коннектору в качестве ответа на запрос. После обработки и форматирование данные об организационной структуре предприятия будет переданы IAM-системе.
Импорт данных в IAM — систему организационной структуры предприятия осуществляется при помощи следующих моделей данных.
- Department — сущность, описывающая подразделение. Содержит поля externalId (идентификатор подразделения внутри источника данных в строковом формате), name (полное имя подразделения в строковом формате), managerId (идентификатор руководителя подразделения в строковом формате).
- Position — сущность, описывающая должность. Содержит поля externalId (идентификатор должности внутри источника данных в строковом формате), title (название должности, отображаемое в IAM-системе в строковом формате).
- Employee — сущность описывающая сотрудника. Содержит поля tabId (табельный номер сотрудника в строковом формате), firstName (имя сотрудника в строковом формате), lastName (фамилия сотрудника в строковом формате), middleName (отчество сотрудника при наличии в строковом формате), positionId (идентификатор должности внутри источника данных в строковом формате), divisionId (идентификатор подразделения внутри источника данных в строковом формате), email (корпоративная электронная почта сотрудника в строковом формате).
Описанный выше список сущностей содержит в себе полную информацию об организационной структуре предприятия, достаточную для функционирования IAM-системы.
Наилучшей практикой при проектировании процесса синхронизации IAM-системы и кадровой базой данных является использование общего стандарта расширяемых библиотек. При использовании этой практики библиотека расширения или коннектор становится независимой и легко заменяемой сборкой реализующий определенный список методов, которые принимают и возвращают стандартизированные сущности. Также при проектировании стандарта рекомендуется разбивать процесс получения данных на несколько методов, которые будут получать данные об организационной структуре предприятия порционно. Данный подход имеет следующие плюсы:
— уменьшение объема получаемых и отправляемых данных;
— снижение нагрузки при выполнении синхронизации;
— взаимозаменяемость библиотек;
— модульность конечного интеграционного решения;
— упрощение поддержки конечного интеграционного решения.
В соответствии с вышеописанными рекомендациями был разработан следующий интерфейс для реализации библиотекой расширения (см. Рис. 5):
Рис. 5. Интерфейс коннектора
Данный интерфейс позволяет провести синхронизацию с кадровой базой данных предприятия при помощи следующих методов.
- Connect — метод, выполняющий тест подключения к кадровой базе данных. Возвращает true если подключение успешно и false в противном случае.
- Disconnect — метод, выполняющий действия необходимые для завершения кадровой синхронизации такими действиями могут являться освобождение памяти, закрытие подключения и так далее.
- GetDepartments — метод, выполняющий загрузку подразделений. Принимает идентификатор родительского подразделения и возвращает список дочерних подразделений.
- GetPositions — метод, выполняющий загрузку всех должностей в кадровой базе данных.
- GetEmployees — метод, выполняющий загрузку всех сотрудников, привязанных к подразделению, id которого указано в формальных параметрах.
Для обеспечения синхронизации с кадровой базой данных предприятия необходимо реализовать данный интерфейс и подключить его реализацию в виде библиотеки к утилите синхронизации IAM-системы.
Входе моделирования интеграции IAM-системы и кадровой базы данных были выделены следующие рекомендации.
1. При интеграции с информационным ресурсом рекомендуется использовать универсальный стандарт для библиотек расширения или коннекторов. Такая стратегия позволяет использовать разработанную единожды функциональность продукта для управления пользователями нескольких информационных ресурсов.
2. При проектировании стандарта интеграционного решения использовать минимальное количество информационных моделей. Использование минимального количества информационных моделей позволит упростить процесс поддержки.
3. В качестве источника данных для библиотеки расширения рекомендуется использовать функциональность по экспорту данных используемых кадровых систем, а не прямое подключение к базе данных. Это позволит ограничить возможности итогового интеграционного решения по воздействию на кадровую базу данных, а также позволит не перегружать библиотеку расширения логикой по форматированию экспортируемых из кадровой системы данных в формат данных подходящий для импорта в IAM-систему.
4. При проектировании методов универсального стандарта библиотеки расширения или коннектора рекомендуется избегать полной выгрузки данных одного типа. Если в кадровой системе данные о сущности хранятся в виде дерева, наилучшей стратегией будет использование метода, который возвращает корень дерева или всех потомков узла дерева в зависимости от формальных параметров метода. Соблюдение этого принципа позволит существенно повысить производительность конечного интеграционного решения за счет параллельной или асинхронной загрузки данных.
Соблюдения этих рекомендаций позволит ускорить процесс интеграций, сделать конечное интеграционное решение поддерживаемым и устойчивым к изменениям в бизнес-процессах предприятия.
Литература:
1. Описание формата xml выгрузки 1С 2024. Текст: Электронный/URL: https://infostart.ru/1c/tools/462355/?ysclid=lvwfmszijg671835395 (Дата обращения 07.05.2024).