Библиотеки функций#
Обзор библиотек функций IDMC.
ADMappingsLib#
OID: 10898b01-7456-4fa0-b949-e700e0e8a01a
Название: adMappingsLib
Описание: Библиотека маппингов для Active Directory
Функции#
Функция |
Описание |
|---|---|
|
Вычисляет DN контейнера для учетной записи в AD на основе организационной единицы (OU). Используется для определения места размещения учетной записи в иерархии AD. |
|
Обрабатывает ссылку на менеджера для атрибута |
|
Формирует значение extensionAttribute1 на основе идентификатора организации. Содержит код организации из иерархии. |
|
Формирует значение extensionAttribute3 (код БЕ - бизнес-единицы). Используется для идентификации бизнес-единицы сотрудника. |
|
Формирует значение extensionAttribute11 (SberPlansID). Идентификатор планов сотрудника. |
|
Формирует значение extensionAttribute13 (SberCBKIGUID). GUID записи в системе КИ. |
|
Формирует значение extensionAttribute14 (SberCBKIOUGUID). GUID организационной единицы в КИ. |
|
Формирует значение extensionAttribute15 (SberCBKIOUParentGUID). GUID родительской организационной единицы в КИ. |
|
Формирует значение extensionAttribute17 (ContractStatus). Статус трудового договора (candidate, work, fired, maternity_leave, blocked_by_IRP). |
|
Формирует значение extensionAttribute18 (OrgStatus). Статус организации. |
|
Формирует значение extensionAttribute19 (FireDate). Дата увольнения сотрудника. |
|
Формирует значение extensionAttribute20 (HireDate). Дата приема на работу. |
|
Формирует значение extensionAttribute21 (AbsCode). Код отсутствия. |
|
Формирует значение extensionAttribute22 (AbsBegDate). Дата начала отсутствия. |
|
Формирует значение extensionAttribute23 (AbsEndDate). Дата окончания отсутствия. |
|
Формирует значение extensionAttribute24 (ContractGuid). GUID трудового договора. |
|
Формирует значение extensionAttribute25 (PersonGuid). GUID персоны. |
|
Формирует значение extensionAttribute26 (CardGuid). GUID карточки. |
|
Формирует значение extensionAttribute27 (EmployeeStatus). Статус сотрудника. |
|
Формирует значение extensionAttribute28 (EmployeeType). Тип сотрудника. |
|
Формирует значение extensionAttribute29 (AbsInfo). Информация об отсутствии. |
|
Формирует значение extensionAttribute30 (IsPensioner). Флаг «пенсионер». |
|
Формирует значение extensionAttribute31 (IsHalfRate). Флаг «неполная ставка». |
|
Формирует значение extensionAttribute32 (IsSuspended). Флаг «заблокирован». |
|
Формирует значение extensionAttribute33 (IsIncarcerated). Флаг «находится в местах лишения свободы». |
|
Формирует значение extensionAttribute34 (IsRiskCoordinator). Флаг «координатор рисков». |
|
Формирует значение extensionAttribute35 (IsForeignCitizen). Флаг «иностранный гражданин». |
|
Формирует значение extensionAttribute36 (IsCloseToRetirement). Флаг «предпенсионный возраст». |
|
Формирует значение extensionAttribute37 (IsDecree). Флаг «декретный отпуск». |
|
Формирует значение extensionAttribute38 (IsRemote). Флаг «удаленная работа». |
|
Формирует значение extensionAttribute39 (IsSuspendedBySb). Флаг «приостановлен СБ». |
|
Дополнительные атрибуты расширения для различных статусов и дат. |
|
Обрабатывает членство в группах AD. Формирует список групп, в которых состоит пользователь. |
|
Формирует значение company (компания). |
|
Формирует значение department (подразделение). |
|
Формирует значение division (дивизион). |
|
Формирует значение employeeID (табельный номер). |
|
Формирует значение employeeNumber (номер сотрудника). |
|
Формирует значение employeeType (тип сотрудника). |
|
Формирует значение givenName (имя). |
|
Формирует значение initials (инициалы). |
|
Формирует значение l (город/локация). |
|
Формирует значение mail (email). |
|
Формирует значение middleName (отчество). |
|
Формирует значение mobile (мобильный телефон). |
|
Облачные атрибуты расширения Microsoft. |
|
ID тенанта внешнего каталога. |
|
Статус архива Exchange. |
|
Хеш заблокированных отправителей Exchange. |
|
Хеш безопасных отправителей Exchange. |
|
Карта DTMF для унифицированных сообщений Exchange. |
|
Основной адрес SIP пользователя Lync/Skype. |
|
Флаг включения SIP пользователя. |
|
Физический адрес офиса. |
|
Список прокси-адресов (email aliases). |
|
Имя учетной записи SAM (логин). |
|
Формирует значение sn (фамилия). |
|
Уличный адрес. |
|
Номер телефона. |
|
Должность. |
|
Контроль учетной записи пользователя (флаги UAC). |
|
UPN пользователя (user@domain). |
|
Домашняя веб-страница. |
Base Function Library (basicLib)#
OID: 47588c5e-2c85-4aa0-a5df-08420ccc264c
Название: basicLib
Описание: Реализация базовых функций, реализация которых в MidpointFunctions или в BasicExpressionFunctions не подходит
Функции#
Функция |
Описание |
Параметры |
Возвращаемое значение |
|---|---|---|---|
|
Поиск проекции (shadow) в фазе execution с игнорированием ObjectNotFoundException и AuthorizationException. Ищет связанную проекцию для фокуса по OID ресурса. |
|
ShadowType |
|
Отвязывает проекцию (shadow) от фокуса. Удаляет ссылку из FocusType.F_LINK_REF. Используется для разрыва связи между объектом IDM и его проекцией в ресурсе. |
|
void |
|
Очищает атрибуты расширения объекта по префиксу имени. Удаляет все свойства расширения, имена которых начинаются с указанного префикса. |
|
List |
|
Запускает функцию в контексте бизнес-процесса MidPoint. Устанавливает системное свойство |
|
anyType |
|
Запускает библиотеку функций в контексте бизнес-процесса MidPoint. Аналогично runInMidpointBusinessProcess, но вызывает функцию из библиотеки. |
|
anyType |
|
Получает имя текущего бизнес-процесса MidPoint из системного свойства. |
- |
string |
|
Динамически добавляет свойство расширения к объекту. Создает определение свойства во время выполнения и добавляет значение. |
|
void |
|
Получает значение динамического свойства расширения из объекта. |
|
anyType |
|
Получает множественные значения динамического свойства расширения. |
|
List |
|
Вычисляет разницу между двумя датами в миллисекундах. |
|
long |
|
Конвертирует миллисекунды (epoch time) в XMLGregorianCalendar. |
|
XMLGregorianCalendar |
|
Проверяет, что строка не пустая. Выбрасывает IllegalArgumentException если строка пустая. |
|
string |
|
Получает ресурс по OID без полной загрузки (noFetch). Игнорирует ObjectNotFoundException, возвращая null. |
|
ResourceType |
|
Определяет доступность ресурса на основе lifecycleState и maintenance статуса. Возвращает: |
|
string |
|
Определяет, нужно ли пересчитывать проекции ресурса. Возвращает true если ресурс в статусе active или temporaryMaintenance. |
|
boolean |
|
Выполняет пересчет карточки пользователя. Обрабатывает ошибки пересчета и возвращает статус успешности. |
|
boolean |
|
Проверяет, что разница между двумя датами >= порога в указанной единице измерения. Конвертирует даты в зону Москвы для корректного сравнения. |
|
boolean |
Business Role Library#
OID: c8e0e2e4-7f0a-4b0e-8b0a-7f0a4b0e8b0a
Название: businessRoleLib
Описание: Библиотека для обработки бизнес-ролей
Функции#
Функция |
Описание |
|---|---|
|
Обрабатывает назначение бизнес-ролей на основе событий (прием, увольнение, перевод). Анализирует изменения в организационной структуре и применяет соответствующие бизнес-роли. |
|
Добавляет бизнес-роли пользователю на основе его текущей позиции, подразделения и местоположения. |
|
Удаляет бизнес-роли у пользователя при изменении должности или увольнении. |
|
Вычисляет полный набор бизнес-ролей для пользователя на основе всех его назначений. |
|
Получает список бизнес-ролей, связанных с должностью. |
|
Получает список бизнес-ролей, связанных с подразделением. |
|
Получает список бизнес-ролей, связанных с местоположением. |
Configuration Library#
OID: 1a5ef454-5183-4d3d-8f43-14b82b975349
Название: configLib
Описание: Библиотека для работы с конфигурацией системы
Функции#
Функция |
Описание |
Параметры |
Возвращаемое значение |
|---|---|---|---|
|
Получает параметр расширения из SystemConfiguration. Читает конфигурационные значения из системной конфигурации IDM. |
|
anyType |
|
Получает многозначный параметр расширения из конфигурации. |
|
List |
|
Проверяет, относится ли организация к списку для отправки паролей AD. Используется для определения необходимости отправки уведомлений с паролем. |
|
boolean |
Focal Library#
OID: bc5d74e6-4317-11e8-9dec-8fd64e20fbe0
Название: focalLib
Описание: Библиотека для разделения объектов (splitting) - разбивки записи о сотруднике на персону, контракт и карточку
Константы#
Константа |
Значение |
Описание |
|---|---|---|
|
|
OID архетипа Персоны |
|
|
OID архетипа Контракта |
|
|
OID архетипа Карточки |
Функции#
Функция |
Описание |
Параметры |
|---|---|---|
|
Основная функция разделения записи о сотруднике. Разбивает одну запись на три объекта: Персона (физическое лицо), Контракт (трудовой договор), Карточка (учетная запись). |
|
|
Запускает процесс разделения с валидацией данных. Проверяет корректность входных данных и инициирует splitByOid. |
|
|
Вычисляет статус контракта с учетом статуса активации. Определяет статус: candidate, work, fired, maternity_leave, blocked_by_IRP, unknown. |
|
|
Вычисляет статус контракта на основе дат приема/увольнения и кодов отсутствия. |
|
|
Проверяет, является ли код отсутствия декретным отпуском. |
|
|
Возвращает список возможных статусов активации. |
- |
|
Проверяет корректность выполненного разделения. Валидирует наличие всех необходимых ссылок между объектами. |
|
|
Помечает пользователя как невалидного. Устанавливает флаг ошибки в расширении объекта. |
|
|
Преобразует имя к формату трудового договора. Формат: {SOURCEABBR}_{EMPLOYEENUMBER}. |
|
|
Преобразует имя к формату карточки. Использует SberPDI как основу имени. |
|
|
Создает объект Персоны из данных сотрудника. Включает ФИО, СНИЛС, дату рождения, пол. |
|
|
Создает объект Контракта из данных сотрудника. Включает даты приема/увольнения, статус, организационные данные. |
|
|
Создает объект Карточки из данных сотрудника. Включает учетные данные, расширения. |
|
|
Ищет существующую Персону по СНИЛС, ФИО и дате рождения. Реализует логику поиска дубликатов персон. |
|
|
Привязывает Персону к объекту. Создает новую или связывает существующую. |
|
|
Обрабатывает Контракт. Создает новый или обновляет существующий. |
|
|
Обрабатывает Карточку. Создает новую или обновляет существующую. |
|
|
Обрабатывает повторный прием на работу. Разблокирует контракт и карточку, обновляет статус. |
|
|
Устанавливает все ссылки на персоны для связанных объектов. Обеспечивает консистентность ссылок personaRef. |
|
|
Выполняет валидацию данных пользователя перед разделением. Проверяет обязательные поля. |
|
|
Проверяет и при необходимости активирует Персону. |
|
|
Проверяет активацию всех связанных объектов (персона, контракт, карточка). |
|
Статусы контракта#
Статус |
Описание |
|---|---|
|
Кандидат (дата приема в будущем) |
|
Работает (дата приема прошла, дата увольнения не наступила) |
|
Уволен (дата увольнения наступила) |
|
Декретный отпуск |
|
Заблокирован IRP (службой безопасности) |
|
Неизвестный статус |
FOS by KOS Library#
OID: 79314eff-9a35-4cc3-ad29-910696b52214
Название: fosbykosLib
Описание: Библиотека для маппинга KOS (код организационной структуры) в FOS (код организационной структуры в AD)
Функции#
Функция |
Описание |
|---|---|
|
Читает CSV файл с маппингом KOS-FOS. Загружает таблицу соответствия из внешнего источника. |
|
Получает FOS из домена OMEGA по KOS. |
|
Получает FOS из домена SIGMA по KOS. |
|
Получает FOS из домена DELTA по KOS. |
|
Вычисляет DN контейнера для учетной записи в AD на основе FOS и домена. |
|
Тестовая функция (возвращает «TST»). |
|
Получает FOS из таблицы lookup по домену и KOS. |
|
Обновляет таблицу маппинга FOS-by-COS из внешнего источника. |
Inbound Mapping Library#
OID: 04347b88-9742-4ad4-92a3-c450d5b607fc
Название: inboundMapLib
Описание: Библиотека для inbound маппингов (из ресурсов в IDM)
Функции#
Функция |
Описание |
|---|---|
|
Заполняет атрибуты пользователя из проекции AD при импорте. Копирует значения атрибутов из AD в объект IDM. |
|
Добавляет значение в поле истории. Используется для аудита изменений атрибутов. |
|
Добавляет роль из проекции, если проекция была добавлена. Применяется при создании новой учетной записи в ресурсе. |
Kafka Library#
OID: 2f828c3e-514a-473c-949d-7cd02cb8f616
Название: kafkaLib
Описание: Библиотека для обработки сообщений Kafka (назначение/отзыв ролей). Версия 1.0.5
Функции отправки статусов#
Функция |
Описание |
Параметры |
|---|---|---|
|
Отправляет статус обработки запроса в Kafka topic. Формирует JSON-сообщение с результатами обработки grant/revoke операций. |
|
|
Записывает аудит отправки статуса в Kafka. Создает audit event с деталями операции. |
|
|
Записывает аудит результата выполнения Kafka операции. |
|
Функции управления квотами (Rate Limiting)#
Функция |
Описание |
|---|---|
|
Проверяет, есть ли у ресурса квота на выполнение операций. Реализует логику rate limiting с поддержкой sliding window. |
|
Обновляет квоту ресурса после выполнения операции. Считает количество операций, вычисляет среднее время выполнения, обновляет weighted max rate limit. |
|
Выполняет операцию с блокировкой ресурса для предотвращения race conditions. |
|
Генерирует имя блокировки для ресурса. Формат: |
|
Возвращает имя атрибута для partition Kafka. |
|
Возвращает имя атрибута для offset Kafka. |
Функции обработки Kafka действий#
Функция |
Описание |
|---|---|
|
Основная функция обработки сообщения Kafka. Извлекает данные из GenericObject, валидирует запрос, разрешает роли, выполняет grant/revoke операции. |
|
Проверяет статус отложенных операций. |
|
Получает последний Audit Event Request ID. |
|
Пытается изменить счетчик лимитирования ресурса. |
|
Проверяет, находится ли дата в текущем интервале rate limiting. |
|
Проверяет, обновлено ли значение в предыдущем интервале. |
|
Вычисляет следующую дату обновления лимита. |
|
Клонирует audit события. |
|
Получает audit события по Request ID. |
|
Вычисляет Kafka channel для сообщения. |
|
Устанавливает channel задачи. |
|
Возвращает допустимые значения инициатора. |
|
Проверяет целостность проекций. |
|
Создает или обновляет отложенное Kafka действие. |
|
Обрабатывает отложенное Kafka действие. |
|
Получает атрибуты для обработки по типам коннекторов. |
|
Получает тип коннектора по OID ресурса. |
|
Пересчитывает проекции. |
|
Получает активные назначения фокуса. |
|
Получает OID активных ролей фокуса. |
|
Получает первичные роли по каталогу. |
|
Получает первичные роли по ресурсу. |
|
Разрешает роли по OID организации. |
|
Разрешает роли по идентификатору ресурса. |
|
Разрешает роли фокуса по OID каталога. |
|
Разрешает роли фокуса по идентификатору ресурса. |
|
Разрешает роли фокуса по фильтру. |
|
Дополняет audit событие для Shadow. |
|
Дополняет audit событие для GenericObject. |
|
Получает Request ID создания Shadow. |
|
Проверяет, включен ли хук игнорирования изменений для ресурсов в обслуживании. |
|
Извлекает стек трассировки из исключения. |
|
Проверяет дубликаты Request ID. |
|
Устанавливает OID отключенного ресурса. |
Константы#
Константа |
Значение |
Описание |
|---|---|---|
|
|
OID метки обработанного действия |
|
|
OID метки отложенного действия |
|
|
OID ресурса Kafka по умолчанию |
KIS Departments Mappings Library#
OID: 36d481da-f263-4ee5-ab31-47dd5e33b2d6
Название: kisDepartmentsMappingsLib
Описание: Библиотека маппингов для подразделений из КИС (Кадровой Информационной Системы)
Функции#
Функция |
Описание |
Параметры |
|---|---|---|
|
Возвращает имя подразделения. Валидирует на пустоту, выбрасывает исключение если имя пустое. |
|
|
Возвращает ссылку на родительское подразделение. |
|
|
Удаляет специальные символы из строки. Используется для очистки имен от недопустимых символов. |
|
|
Формирует имя учетной записи для подразделения. |
|
KIS Employees Mappings Library#
OID: e3cd0340-9bd2-47b6-966e-a6367fb89599
Название: kisEmployeesMappingsLib
Описание: Библиотека маппингов для сотрудников из КИС (Кадровой Информационной Системы)
Функции#
Функция |
Описание |
Параметры |
|---|---|---|
|
Возвращает null если строка пустая или содержит только пробелы. Иначе возвращает trimmed строку. |
|
|
Возвращает ID сотрудника. Валидирует на пустоту, выбрасывает IllegalArgumentException. |
|
|
Возвращает UID (константа 1). |
- |
|
Преобразует UID в имя. Получает имя из проекции по guid полю. |
|
|
Преобразует UID в NickName (SberPDI) через запрос к SBERPDI API. Выполняет HTTP запрос и валидирует результат. |
|
|
Валидирует дату без выбрасывания исключения. Возвращает null если дата некорректна. |
|
|
Валидирует дату с выбрасыванием исключения. |
|
|
Проверяет, является ли сотрудник руководителем подразделения. Возвращает true если значение > 0. |
|
|
Получает имя источника (1С.СБС, ЕАСУП, Service Manager). Для source_id=3 возвращает «1С.СБС». |
|
|
Получает фамилию сотрудника. Валидирует на пустоту. |
|
|
Валидирует и возвращает пол (м/ж). Приводит к нижнему регистру, проверяет допустимость значения. |
|
|
Валидирует и форматирует СНИЛС. Проверяет формат XXX-XXX-XXX XX. |
|
|
Валидирует PDI (SberPDI) на уникальность. Проверяет дубликаты по базе IDM. |
|
|
Проверяет, является ли сотрудник координатором рисков. Возвращает true если значение = «X». |
|
|
Валидирует и возвращает код БЕ. Должен состоять из 4 символов. |
|
|
Генерирует временный пароль. Формат: «Su» + 10 случайных цифр. |
- |
|
Получает имя источника по ID. Поддерживает: 2=ЕАСУП, 3=1С.СБС, 18=Service Manager. |
|
|
Валидирует дату увольнения. Проверяет что дата увольнения не раньше даты приема. |
|
|
Проверяет длину строки на ограничение. Выбрасывает исключение если длина превышает лимит. |
|
Meta Library#
Название: metaLib
Описание: Библиотека метаданных
Функции#
Функция |
Описание |
|---|---|
|
Получает метаинформацию об объекте. |
|
Устанавливает метаинформацию об объекте. |
Metrics Library#
Название: metricsLib
Описание: Библиотека для работы с метриками
Функции#
Функция |
Описание |
|---|---|
|
Увеличивает счетчик метрики. |
|
Уменьшает счетчик метрики. |
|
Получает значение счетчика. |
|
Сбрасывает счетчик. |
Networking Library#
Название: networkingLib
Описание: Библиотека для сетевых операций
Функции#
Функция |
Описание |
|---|---|
|
Выполняет HTTP запрос к внешнему сервису. |
|
Получает HTTP соединение. |
|
Читает ответ от сервера. |
|
Отправляет запрос на сервер. |
Notify Library#
Название: notifyLib
Описание: Библиотека для уведомлений
Функции#
Функция |
Описание |
|---|---|
|
Отправляет email уведомление. |
|
Отправляет SMS уведомление. |
|
Отправляет push уведомление. |
|
Уведомляет пользователя выбранным способом. |
Outbound Mapping Library#
Название: outboundMapLib
Описание: Библиотека для outbound маппингов (из IDM в ресурсы)
Функции#
Функция |
Описание |
|---|---|
|
Маппит атрибуты для ресурса. Преобразует данные IDM в формат целевого ресурса. |
|
Трансформирует атрибут. Применяет правила трансформации к значению. |
|
Валидирует атрибут. Проверяет корректность значения перед отправкой. |
|
Определяет организации ролей FOS, в которых пользователь является менеджером ( |
Personnel Scenario Library#
Название: personnelScenarioLib
Описание: Библиотека для кадровых сценариев
Функции#
Функция |
Описание |
|---|---|
|
Обрабатывает сценарий приема на работу. Создает персону, контракт, карточку. |
|
Обрабатывает сценарий перевода. Обновляет должность, подразделение, бизнес-роли. |
|
Обрабатывает сценарий увольнения. Блокирует учетные записи, отзывает роли. |
|
Обрабатывает сценарий отпуска. Обновляет статус отсутствия. |
Policy Library#
Название: policyLib
Описание: Библиотека для политик безопасности
Функции#
Функция |
Описание |
|---|---|
|
Проверяет соответствие пароля политике безопасности. |
|
Проверяет соответствие доступа политике безопасности. |
|
Валидирует политику. |
Support Service Library#
Название: supportServiceLib
Описание: Библиотека для службы поддержки
Функции#
Функция |
Описание |
|---|---|
|
Создает тикет в службе поддержки. |
|
Обновляет тикет. |
|
Закрывает тикет. |
|
Получает статус тикета. |
Support Service on Generic Objects Library#
Название: supportServiceOnGenericObjectsLib
Описание: Библиотека для службы поддержки на GenericObject
Функции#
Функция |
Описание |
|---|---|
|
Создает тикет как GenericObject. |
|
Обрабатывает тикет. |
Task Library#
Название: taskLib
Описание: Библиотека для управления задачами
Функции#
Функция |
Описание |
|---|---|
|
Инициализирует ID запуска. |
|
Очищает ID запуска. |
|
Оборачивает вызов библиотеки функций с обработкой исключений. |
|
Создает задачу. |
|
Обновляет задачу. |
|
Завершает задачу. |
Triggers Library#
Название: triggersLib
Описание: Библиотека для управления триггерами
Функции#
Функция |
Описание |
|---|---|
|
Добавляет триггер. |
|
Добавляет триггер, если он не существует. |
|
Удаляет триггер. |
|
Обрабатывает триггер. |
Unique Attributes Library#
Название: uniqueAttributesLib
Описание: Библиотека для работы с уникальными атрибутами
Функции#
Функция |
Описание |
|---|---|
|
Генерирует блокировку для распила персоны. |
|
Блокирует распил персоны. |
|
Разблокирует распил персоны. |
|
Проверяет уникальность атрибута. |