Описание задач#
Основные интеграционные задачи#
Обязательная очередность только у задач(tasks) с 1 по 6. Остальные задачи можно выполнять в любом порядке, так как они либо зависимы от наличия ресурса, либо от тех задач, что уже были выполнены.
Все задачи загружаются в состоянии waiting и запускать их нужно вручную. Далее задачи будут отрабатывать согласно расписанию.
При загрузке IDM сразу же автоматически выполняется задача(task) 01 SYSTEM Configuration Modify, которая меняет системную конфигурацию.
Примеры конфигураций, которые описываются в задаче:
Настройка панели ADUserPasswordEditPanel для создания AD пароля.
Отправка пароля менеджеру при создании УЗ в AD.
Настройка и отправка уведомлений при изменении данных пользователя в IDM.
Настройка и отправка уведомлений при изменении групп AD у пользователя в IDM.
Описание ObjectTemplate и типов объектов в IDM.
Описание SodConflict политик (ограничения для конфликтующих ролей).
Глобальные политики (например, запрет назначения групп AD пользователю без аккаунта AD; ограничения для конкретных ролей т.д).
Блок |
Категория задачи |
Наименование задачи |
Описание задачи |
Очередность запуска задач (где 1 - первый порядковый номер) |
Комментарий |
Расписание для перезапуска |
|---|---|---|---|---|---|---|
|
Single bulk action task |
01 SYSTEM Configuration Modify |
Задача выполняет обновление системной конфигурации |
Запуск автоматически после загрузки IDM |
||
|
KIS Departments tasks |
02 DEPARTMENTS Import. Multi-node |
Задача выполняет выгрузку департаментов из представления kis.v_current_departments_mid в объекты организационных единиц в IDM в многопоточном режиме |
1 |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
KIS Departments tasks |
03 DEPARTMENTS Recompute all objects |
Задача выполняет проставление константы в поле родительского подразделения («Родительское подразделение») всем подразделениям, у которых нет корректного родительского подразделения в IDM в многопоточном режиме |
2 |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
KIS Employees tasks |
04 EMPLOYEES Import. Multi-node |
Задача выполняет выгрузку сотрудников из представления kis.v_current_employees в объекты пользователей в IDM в многопоточном режиме |
3 |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
KIS Employees tasks |
05 EMPLOYEES Focal Objects Task. Multi-node |
Задача выполняет разбиение сотрудников в IDM на сущности в многопоточном режиме |
4 |
Добавлена доработка альтернатив при выполнении сценария при выводе сотрудника в декрет. При этом, через 3 дня после наступления даты выхода в декрет, у сотрудника назначается роль Сотрудник в декрете, блокируются |
Запуск по расписанию раз в минуту. |
|
AD tasks |
06 AD Modify Fosbykos |
Задача выполняет изменение пути контейнера, в котором создается УЗ сотрудника в AD |
5 |
Запускается в том случае, когда нужно, чтобы создание УЗ сотрудника в AD было сделано в определенной OU |
Нет расписания. Однократное выполнение. Ручной запуск |
|
AD tasks |
20-30 AD Import group. Multi-node |
Задача выполняет выгрузку групп безопасности из AD в IDM в виде ролей в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Departments tasks |
20-30 DEPARTMENTS Import Recovery |
Задача выполняет повторную выгрузку департаментов, которые упали при выполнении задачи импорта 02 DEPARTMENTS Import |
Запускается в том случае, когда задача импорта департаментов 02 DEPARTMENTS Import упала с ошибками. Выгружает только те департаменты, которые упали при импорте с ошибками (fatal_error или partial_error). В случае, если нужно повторно выгрузить департаменты из других задач импорта, то в задаче 20-30 DEPARTMENTS Import Recovery изменить oid в атрибуте taskRef |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
KIS Departments tasks |
20-30 DEPARTMENTS Recompute. Multi-node |
Задача выполняет повторное вычисление департаментов (проставление родительских подразделений) в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Departments tasks |
20-30 DEPARTMENTS Live Synchronization |
Задача выполняет модификацию объекта организационной единицы в IDM (задача отработает только в том случае, когда было изменение даты record_create_date в БД) |
Запуск по расписанию раз в 15 секунд. |
||
|
KIS Departments tasks |
20-30 DEPARTMENTS Reconciliation. Multi-node |
Задача выполняет глобальное обновление объекта организационной единицы в IDM. Обновление происходит в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Departments tasks |
20-30 DEPARTMENTS Live Synchronization with delay |
Задача выполняет модификацию объекта организационной единицы в IDM, синхронизация реагирует на изменения даты record_create_date. Обрабатывает изменения для организаций с разницей не более указанного в задаче времени (параметр syncDelay) от последнего record_create_date. |
Запуск по расписанию раз в 120 минут. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Import Recovery |
Задача выполняет повторную выгрузку пользователей, которые упали при выполнении задачи импорта 05 EMPLOYEES Import |
Запускается в том случае, когда задача импорта сотрудников 05 EMPLOYEES Import упала с ошибками. Выгружает только тех сотрудников, которые упали при импорте с ошибками (fatal_error или partial_error). В случае, если нужно повторно выгрузить сотрудников из других задач импорта, то в задаче 20-30 EMPLOYEES SAP Recovery изменить oid в атрибуте taskRef |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
KIS Employees tasks |
20-30 EMPLOYEES Live Synchronization |
Задача выполняет модификацию объекта пользователя в IDM (задача отработает только в том случае, когда было изменение даты record_create_date в БД) |
Запуск по расписанию раз в 15 секунд. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Recomputation. Multi-node |
Задача выполняет полный перерасчет всего для пользователя (вызов всех маппингов). Перерасчет выполняется в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Name migration |
Задача выполняет смену имени сущностей карточки и контракта согласно новой политике |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Reconcile with status needReconcile. Single-node |
Задача выполняет глобальное обновление объекта пользователя в IDM, у которого флаг needReconcile = true. Задача проходит по всем записям сотрудников, у которых атрибут needReconcile = true и запускает для этих записей реконсиляцию для обновления текущего состояния. |
Запуск по расписанию раз в 5 минут. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES search failed add resource |
Задача выполняет поиск пользователей, для которых не удалось создать аккаунт в каком-то ресурсе. Такому пользователю устанавливается значение атрибута extension/needReconcile = true. Затем выполняется задача «EMPLOYEES Reconcile with status needReconcile» и для таких пользователей выполняется повторная попытка создания аккаунта. |
Запуск по расписанию раз в 2 минуты. |
||
|
KIS Employees tasks |
05 EMPLOYEES Import filter on last edit. Multi-node |
Задача выполняет импорт по фильтру record_create_date в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES CONTRACT Recompute. Multi-node |
Задача выполняет пересчет всех контрактов в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
60 TEMPLATE EMPLOYEES reconcile with status needReconcile |
Задача выполняет реконсиляцию карточек, у которых стоит флаг «needReconcile». Задача является шаблоном (а именно запускать ее руками нельзя). Задача запускается автоматически после выполнения «60 TEMPLATE Set needReconcile for users with business role». Все завершенные экземпляры этой задачи удаляются автоматически через 1 день. |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
||
|
KIS Employees tasks |
60 TEMPLATE Delete role task template |
Задача выполняет удаление роли из IDM. Перед удалением роли из IDM выполняется удаление роли из всех assignment и inducement. Задача является шаблоном, запускается автоматически при попытке удалить архивированную/отключенную роль. Завершенный экземпляр задачи удаляется автоматически через 7 дней. |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
||
|
KIS Employees tasks |
60 TEMPLATE Set needReconcile for users with business role |
Задача выполняет проставление флага «needReconcile» карточкам. Задача является шаблоном, запускается автоматически при изменении inducement у бизнес роли. Завершенные экземпляры задачи удаляются автоматически через 1 день |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
||
|
KIS Employees tasks |
60 TEMPLATE Initial load accounts |
Задача выполняет первоначальную загрузку аккаунтов. Задача является шаблоном (а именно запускать ее руками нельзя!) |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Reconciliation. Multi-node |
Задача выполняет глобальное обновление объекта пользователя в IDM. Обновление происходит в многопоточном режиме |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Focal Invalid Objects Task |
Задача выполняет разбиение тех сотрудников, которые попали на вкладку «Rejected Records» в IDM |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Live Synchronization with delay |
Задача выполняет модификацию пользователей, синхронизация реагирует на изменения даты record_create_date. Обрабатывает изменения для пользователей с разницей не более указанного в задаче времени (параметр syncDelay) от последнего record_create_date. |
Запуск по расписанию раз в 15 секунд. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Day Reconciliation. Multi-node |
Задача выполняет глобальное обновление пользователей, у которых есть изменения за 2 дня |
Запуск ежедневно. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES saplogin mailalias task. Multi-node |
Задача выполняет импорт saplogin, mailalias |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES CARD Recompute. Multi-node |
Задача выполняет перерасчет всех карточек, у которых были изменения за определенный период |
Запуск по расписанию раз в 2 минуты. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES INDIVIDUALS Recompute. Multi-node |
Задача выполняет перерасчет всех физлиц |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 Initial load accounts task creator |
Задача выполняет создание задачи на первоначальную загрузку аккаунтов |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES Migrate task. Set contractStatus |
Задача выполняет проставление(вычисление) contractStatus для уже существующих контрактов |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
EMPLOYEES migrate to lifecycleState |
Задача выполняет переход текущих записей о трудоустройстве на lifecycleState |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
KIS Employees tasks |
20-30 EMPLOYEES CARD Create recompute trigger. Multi-node |
Задача выполняет создание триггера для перерасчета всех карточек, у которых были изменения за определенный период |
Запуск по расписанию раз в 2 минуты. |
||
|
KIS Employees tasks |
20-30 EMPLOYEES CARD Recompute v2. Multi-node |
Задача выполняет перерасчет всех карточек, у которых были изменения за определенный период. Интервал окончания обновляется только, если выполнение activity „cards-recompute“ завершилось без ошибок |
Запуск по расписанию раз в 2 минуты. |
||
|
KIS Employees tasks |
05 EMPLOYEES Union focal Objects Task. Multi-node |
Задача выполняет разбиение сотрудников на сущности, назначает бизнес-роли сотрудникам, увольняет сотрудников, выводит в декрет и выводит из декрета. При такой реализации исключен параллельный запуск кадровых сценариев для одной карточки. |
Запуск по расписанию раз в минуту. |
||
|
AD tasks |
20-30 AD Live Synchronization |
Задача выполняет модификацию объекта карточки сотрудника в AD |
Запуск по расписанию раз в 10 секунд. |
||
|
AD tasks |
20-30 AD Reconciliation. Single-node |
Задача выполняет глобальное обновление объекта пользователя в AD |
Запуск по расписанию раз в 30 секунд. |
||
|
AD tasks |
20-30 AD Initial load groups |
Задача выполняет первоначальную загрузку крупп из AD |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
AD tasks |
20-30 AD Reconcile Cards with status Need reconcile |
Задача выполняет обновление корточек, которые имеют статус Need reconcile |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
AD tasks |
AD Dead shadows cleaner |
Задача выполняет удаление ссылки на dead shadows и делает реконсиляцию в случае, если задан ресурс AD, но нет проекции |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
AD tasks |
20-30 AD/Exchange Delete all unlinked shadows. Multi-node |
Задача выполняет удаление всех unlinked shadows для AD из IDM |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
AD tasks |
TEMPLATE Task set password in pending operation |
При переводе ресурса AD из состояния maintenance запускается шаблонная задача. Задача выполняет подставление unicodePwd и pwdLastSet в самую раннюю pending operation в состоянии IN_PROGRESS. |
Для обработки pendingOperation следует запустить задачу вручную, указав oid ресурса, который вывели из ручного режима. Для этого следует отредактировать задачу в RAW или XML представлении, добавив в блок |
Нет расписания. Однократное выполнение. Ручной запуск. |
|
|
AD tasks |
Assigning an attribute controlledByIDM value task |
Задача выполняет проставление значения атрибуту controlledByIDM для выборки групп/ролей AD. Массовое проставление данного признака с заданным значением во все группы AD в IDM. Группы AD задаются в условиях выборки. |
Нет расписания. Однократное выполнение. Ручной запуск |
||
|
SYSTEM tasks |
Cleanup sync genericObjects |
Задача выполняет очистку объектов синхронизации (GenericObject) в случае если штатная очистка объектов по каким-то причинам не отработала в многопоточном режиме |
Запуск по расписанию раз в минуту. |
||
|
SYSTEM tasks |
Search stalled tasks |
Задача выполняет поиск зависших задач и выполняет их перезапуск |
Запуск после 12 часов. |
||
|
SYSTEM tasks |
20-30 Retry task |
Задача выполняет перезапуск зависших подзадач |
Запуск по расписанию раз в 3 минуты. |
||
|
SYSTEM tasks |
Task of monitoring the execution time of tasks |
Задача отслеживает время исполнения текущей задачи. Для задач добавлен параметр расширения enableExecutionTimeLimit. Если он задан в true, то задача «Task of monitoring the execution time of tasks» будет отслеживать время исполнения текущей задачи. В системную конфигурацию добавлен атрибут taskRunDuration. В нем в формате duration задается максимальное время исполнения каждой отслеживаемой задачи. |
Задачи, остановленные «Task of monitoring the execution time of tasks», перезапускаются вручную |
Запуск по расписанию раз в минуту. |
|
|
SYSTEM tasks |
Search cards with criticality roles - trigger scanner |
Автоматическая задача. Производит поиск карточек, на которые назначены роли с триггером |
Триггер |
Запуск по расписанию. Ручной запуск |
|
|
SYSTEM tasks |
Recompute card criticality role - trigger scanner |
Задача проверяет учетные карточки на наличие триггера |
В задаче можно сконфигурировать блок |
Запуск по расписанию. Ручной запуск |
Задачи для проверки персональных сценариев#
Для корректной работы перечисленных ниже задач, в IDM должны отработать задачи с 1 по 5 из таблицы в разделе Основные интеграционные задачи.
Задачи «50 SCENARIO TASK …» независимы друг от друга и могут быть запущены в любой последовательности.
Для задачи «50 SCENARIO TASK personnel scenario coordinator» стоит настройка <schedule><cronLikePattern>0 0 * ? * * *</cronLikePattern></schedule> – запуск задачи раз в час.
У всех остальных задач по персональным сценариям стоит настройка <schedule><cronLikePattern>0 0 6 * * ?</cronLikePattern></schedule> – запуск задач раз в сутки.
Блок |
Категория задачи |
Наименование задачи |
Описание задачи |
Комментарий |
|---|---|---|---|---|
|
Scenario tasks |
50 SCENARIO TASK Dismissing an employee task (Deprecated) |
Задача выполняется при увольнении сотрудника. |
Принцип работы задачи: Задача проходит по всем записям сотрудников в IDM и проверяет наличие атрибута firedate. Если атрибут firedate меньше текущей даты, то соответствующим сущностям (card/contract/individual) проставляется статус ARCHIVED. В случае, если была УЗ в AD, то для УЗ в AD происходит изменения соответствующих значений атрибутов при увольнении согласно постановке |
|
Scenario tasks |
50 SCENARIO TASK Dismissing an employee task template |
Задача-шаблон запускается при увольнении сотрудника. |
Принцип работы задачи: Задача запускается координатором «50 SCENARIO TASK personnel scenario coordinator». Задача проходит по всем записям сотрудников в IDM и проверяет наличие атрибута firedate. Если атрибут firedate меньше текущей даты, то соответствующим сущностям (card/contract/individual) проставляется статус ARCHIVED. В случае, если была УЗ в AD, то для УЗ в AD происходит изменения соответствующих значений атрибутов при увольнении согласно постановке |
|
Scenario tasks |
50 SCENARIO TASK Last logon task |
Задача выполняется при неактивности сотрудника. |
Принцип работы задачи: Задача проходит по всем УЗ записям сотрудников в AD (по всем shadow объектам) и проверяет наличие атрибута |
|
Scenario tasks |
50 SCENARIO TASK Maternity leave task template |
Задача-шаблон запускается при декретном отпуске сотрудника. |
Принцип работы задачи: Задача запускается координатором «50 SCENARIO TASK personnel scenario coordinator». Задача проходит по всем записям сотрудников в IDM и проверяет наличие атрибутов |
|
Scenario tasks |
50 SCENARIO TASK Prolonged absence of an employee task |
Задача выполняется при длительном отсутствие сотрудника. |
Принцип работы задачи: Если дата absBegDate не пуста и меньше текущей даты, дата absEndDate не указывается. или установлено значение, превышающее текущую дату, и с указанной даты absBegDate прошло более 28 дней, тогда статус объекта = ОТКЛЮЧЕН. |
|
Scenario tasks |
50 SCENARIO TASK Maternity leave IN task |
Задача выполняется при выходе сотрудника в декретный отпуск. |
Принцип работы задачи: Если дата absBegDate не пуста и меньше текущей даты, дата absEndDate не указывается. или установлено значение больше текущей даты и absCode равен одному из значений кода указа, тогда статус сущности = ОТКЛЮЧЕН и карточке присвоена соответствующая роль. Также, на 3 день после наступления absBegDate у сотрудника блокируются роль Сотрудник и все прямые назначения, и назначается роль Сотрудник в декрете, а в объекте Запись о трудоустройстве сотрудника параметр |
|
Scenario tasks |
50 SCENARIO TASK Maternity leave OUT task |
Задача выполняется при выходе сотрудника из декретного отпуска. |
Принцип работы задачи: Если дата absBegDate не пуста и меньше текущей даты, дата absEndDate не указывается. или установлено значение больше текущей даты и absCode равен одному из значений кода указа, тогда статус сущности = ОТКЛЮЧЕН и карточке присваивается соответствующая роль. |
|
Scenario tasks |
50 SCENARIO TASK personnel scenario coordinator |
Создает задачи для декрета и увольнения по шаблонам. Задачи создаются в зависимости от параметров, указанных в Personnel scenario iterations by time and tbcode map. |
Принцип работы задачи: По времени создает шаблоны задач декрета и увольнения для кодов указанных в Personnel scenario iterations by time and tbcode map dismissing - хранит в себе параметры кода и времени выполнения для персональных сценариев. Максимальное количество атрибутов неограниченно. code - sbertbcode, time - время сервера, когда необходимо выполнить сценарий для сотрудников с sbertbcode из атрибута „code“. Время указывается в формате „HH:MM:SS“, но минуты и секунды всегда должны быть равны „00“. Пример: |
|
Scenario tasks |
50 SCENARIO TASK Activate contracts |
Задача переводит контракты из статуса кандидата в активный статус. |
Принцип работы задачи: Задача проходит по всем контрактам сотрудников со статусом кандидат в IDM и с атрибутом hiredate меньше текущей даты. Найденным контрактам проставляется активный статус work. Если у пользователя дата приема и дата увольнения в один день и он был кандидатом, то такой пользователь не увольняется данной задачей. Увольнение такого пользователя происходит после запуска задачи увольнения. |
|
Scenario tasks |
50 SCENARIO TASK long absent in |
Задача обрабатывает учетные карточки, у которых длительность отсутствия больше или равна заданному периоду ( |
Модель данных расширяется параметрами: |
|
Scenario tasks |
50 SCENARIO TASK long absent out |
Задача обрабатывает учетные карточки, имеющие |
|
|
Scenario tasks |
50 Personal data cleanup |
Задача предназначена для постепенного удаления персональных данных (ПДн) у сотрудников, уволенных из организации. Удаление происходит в два этапа, разделённых по времени: |
Очистка данных логируется с уровнем INFO (например, INFO ( |
|
Scenario tasks |
50 SCENARIO TASK Long Inactivity With Search in Domain |
Задача предназначена для блокировки учетных записей AD при длительной неактивности. Задача выполняет поиск УЗ, для которых выполняются условия блокировки по неактивности, добавляет им триггер |
Задача конфигурируемая, для настройки доступны следующие параметры: |
*
Коды декретного отпуска: "216", "217", "500", "501", "502", "503", "504", "505", "506", "507", "508", "509", "510", "511", "512", "513", "514", "515", "915", "224", "9216", "9500", "9501", "9502", "9503", "9504", "9505", "9506", "9507", "9508", "9509", "9510", "9511", "9512", "9513", "9514", "9515".
Задачи для проверки бизнес-ролей#
Для корректной работы перечисленных ниже задач, в IDM должны отработать задачи с 1 по 5 из таблицы в разделе Основные интеграционные задачи.
Блок |
Категория задачи |
Наименование задачи |
Описание задачи |
Комментарий |
Расписание для перезапуска |
|---|---|---|---|---|---|
|
KIS Employees tasks |
20-30 EMPLOYEES Assign business roles. Multi-node |
Задача выполняет назначение бизнес-ролей сотрудникам в многопоточном режиме |
Принцип работы задачи: Задача проходит по всем активным записям сотрудников в IDM и навешивает бизнес-роль согласно условиям постановки |
Запуск по расписанию раз в минуту. |
|
KIS Employees tasks |
Assign business roles for technical cards. Multi-node |
Задача выполняет назначение бизнес-ролей техническим учетным карточкам в многопоточном режиме |
Принцип работы задачи: Задача находит карточки, у которых присутствует архетип технической карточки и назначена определенная организация, и назначает бизнес-роль для технических учетных карточек. |
Нет расписания. Однократное выполнение. Ручной запуск |
Задачи для ресурсов SCIM, SOAP, NGAM, KAFKA, META#
Для корректной работы перечисленных ниже задач, в IDM должны отработать задачи с 1 по 5 из таблицы в разделе Основные интеграционные задачи.
Задачи ресурсов SCIM, SOAP, NGAM, KAFKA и META независимы друг от друга и могут быть запущены в любой последовательности.
Блок |
Категория задачи |
Наименование задачи |
Описание задачи |
Комментарий |
Расписание для перезапуска |
|---|---|---|---|---|---|
|
Scim tasks |
20-30 SCIM ACCOUNTS Import. Single-node |
Задача выполняет выполняет импорт аккаунтов из SCIM |
Запуск по расписанию раз в 30 секунд. |
|
|
Scim tasks |
20-30 SCIM ACCOUNTS Reconciliation. Single-node |
Задача выполняет глобальное обновление объекта аккаунт Scim |
Запуск по расписанию раз в 15 секунд. |
|
|
Scim tasks |
20-30 SCIM ROLES Import. Single-node |
Задача выполняет выгрузку ролей из Scim сервера в IDM |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Scim tasks |
20-30 SCIM ROLES Reconciliation |
Задача выполняет глобальное обновление объекта роль Scim |
Запуск по расписанию раз в 30 секунд. |
|
|
Scim tasks |
20-30 SCIM FOSNODES Import. Single-node |
Задача выполняет выгрузку департаментов из Scim сервера в объекты организационных единиц в IDM |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Scim tasks |
20-30 SCIM FOSNODES Reconciliation |
Задача выполняет глобальное обновление объекта fosnodes Scim |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Soap tasks |
20-30 SOAP ACCOUNTS Import. Single-node |
Задача выполняет импорт аккаунтов SOAP |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Soap tasks |
20-30 SOAP ACCOUNTS Reconciliation |
Задача выполняет глобальное обновление объекта пользователя Soap |
Запуск по расписанию раз в 30 секунд. |
|
|
Soap tasks |
20-30 SOAP ROLES Import |
Задача выполняет выгрузку ролей из Soap сервера в IDM |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Soap tasks |
20-30 SOAP ROLES Reconciliation |
Задача выполняет глобальное обновление объекта роли |
Запуск по расписанию раз в 30 секунд. |
|
|
Soap tasks |
20-30 SOAP ROLES Live Synchronization |
Задача выполняет модификацию объекта роли |
Запуск по расписанию раз в 30 секунд. |
|
|
Soap tasks |
20-30 SOAP FOSNODES Import |
Задача выполняет выгрузку департаментов из Soap сервера в объекты организационных единиц в IDM |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Soap tasks |
20-30 SOAP FOSNODES Reconciliation |
Задача выполняет глобальное обновление объекта организационной единицы |
Запуск по расписанию раз в 30 секунд. |
|
|
Soap tasks |
20-30 SOAP FOSNODES Live Synchronization |
Задача выполняет модификацию объекта организационной единицы |
Запуск по расписанию раз в 30 секунд. |
|
|
Soap tasks |
20-30 SOAP CustomDict1 Import. Single-node |
Задача выполняет импорт кастомных справочников SOAP |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Soap tasks |
20-30 SOAP CustomDict2 Import. Single-node |
Задача выполняет импорт кастомных справочников SOAP |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Soap tasks |
20-30 SOAP CustomDict1 Live Synchronization |
Задача выполняет синхронизацию кастомных справочников SOAP |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Soap tasks |
20-30 SOAP CustomDict2 Live Synchronization |
Задача выполняет синхронизацию кастомных справочников SOAP |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Soap tasks |
20-30 SOAP CustomDict1 Reconciliation. Single |
Задача выполняет реконсиляцию кастомных справочников SOAP |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Soap tasks |
20-30 SOAP CustomDict2 Reconciliation. Single |
Задача выполняет реконсиляцию кастомных справочников SOAP |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Ngam tasks |
20-30 NGAM ACCOUNTS Import. Single-node |
Задача выполняет импорт аккаунтов NGAM |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Ngam tasks |
20-30 NGAM ACCOUNTS Reconciliation. Single-node |
Задача выполняет глобальное обновление аккаунтов NGAM |
Нет расписания. Однократное выполнение. Ручной запуск |
|
|
Kafka tasks |
Kafka Import AUTO-EXECUTION |
Задача выполняет обработку входящих сообщений из входящей очереди Kafka ресурса Автоисполнение в IDM |
Запуск по расписанию раз в минуту. |
|
|
Kafka tasks |
Kafka Import URM |
Задача выполняет обработку входящих сообщений из входящей очереди Kafka ресурса URM в IDM |
Запуск по расписанию раз в минуту. |
|
|
Kafka tasks |
Kafka Actions Runner Auto-Execution |
Задача выполняет действия согласно входящим сообщениям из Kafka ресурса Автоисполнение |
Задача обрабатывает не больше 500 объектов за запуск |
Запуск по расписанию раз в 20 секунд. |
|
Kafka tasks |
Kafka Actions Runner URM |
Задача выполняет действия согласно входящим сообщениям из Kafka ресурса URM |
Задача обрабатывает не больше 500 объектов за запуск |
Запуск по расписанию раз в 20 секунд. |
|
Kafka tasks |
Kafka Pending Actions Runner |
Задача выполняет обработку и исполнение действий Kafka, находящимся в очереди (метка |
Запуск по расписанию раз в 30 секунд. |
|
|
Kafka tasks |
Kafka clear generic objects |
Задача выполняет очистку genericObjects для Kafka сообщений, которые были созданы более 10 минут назад |
Запуск по расписанию раз в минуту. |
|
|
Kafka tasks |
Kafka Clear Processed Actions. |
Задача выполняет очистку объектов genericObject с архетипам |
Запуск по расписанию раз в 2 часа. |
|
|
META tasks |
Check link with meta |
Задача выполняет проверку на корректность сопоставленных проекций МЕТА и ролей АС согласно условиям корреляции. В случае обнаружения ситуации, когда проекция МЕТА связана с ролью АС, но при этом ни одно из условий сопоставления не применимо, необходимо делать отвязку проекции МЕТА от роли АС. |
Запуск по расписанию. Ручной запуск. |
|
|
Scim tasks |
20-30 SCIM ROLES Reconciliation and Verification. Single-node |
Шаблонная задача по реконсиляции и сверке ролей SCIM. |
Задача проводит сверку ролей, у которых либо есть триггер |
Запуск по расписанию раз в минуту. |
|
Soap tasks |
20-30 SOAP ROLES Reconciliation and Verification. Single-node |
Шаблонная задача по реконсиляции и сверке ролей SOAP. |
Задача проводит сверку ролей, у которых либо есть триггер |
Запуск по расписанию раз в минуту. |
|
META tasks |
META: Send verification result |
Задача предназначена для отправки результатов сверки ролей в МЕТА через коннектор МЕТА. Задача автоматически запускается как итеративная массовая задача и обрабатывает роли, у которых заполнен атрибут |
Также в задаче проверяются композитные роли. В атрибуте проекции |
Первый запуск вручную, дальнейшие запуски автоматически по расписанию раз в 60 секунд |
Задачи для ручного импорта#
Задачи входят в состав дистрибутива, но не являются обязательными, и по этому автоматическая загрузка job «deploy конфигурационных файлов» не производится. Файлы для ручной загрузки расположены в дистрибутиве по пути package/conf/data/idmc/templates/post-init/forManualUpload Реализован механизм ротации для отчетов. В системной таске добавлена конфигурация для него, в rotation системной конфигурации есть атрибут maxSumSizeMb, который задает максимальный размер памяти, занимаемый отчетами. Отчеты хранятся в /app/idmx-engine/var/export/ИМЯ_ОТЧЕТА.
Блок |
Категория задачи |
Наименование задачи |
Описание задачи |
Комментарий |
Расписание для перезапуска |
|---|---|---|---|---|---|
|
KIS Departments tasks |
02 DEPARTMENTS Import. Single-node |
Задача выполняет выполняет импорт подразделений в один поток |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Departments tasks |
20-30 DEPARTMENTS Reconciliation. Single-node |
Задача выполняет глобальное обновление объекта организационной единицы в IDM. Обновление происходит в однопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Departments tasks |
03 DEPARTMENTS Recompute. Single-node |
Задача выполняет повторное вычисление департаментов (проставление родительских подразделений) в однопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Departments tasks |
04 DEPARTMENTS Task recompute and add parent org. Single-node |
Задача выполняет проставление константы в поле родительского подразделения («Родительское подразделение») тем подразделениям, у которых нет корректного родительского подразделения в IDM в однопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Departments tasks |
20-30 DEPARTMENTS Delete all orgs custom |
Задача выполняет удаление подразделений и их shadow объектов из репозитория IDM в многопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
05 EMPLOYEES Import. Single-node |
Задача выполняет выгрузку сотрудников из представления kis.v_current_employees в объекты пользователей в IDM в однопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
05 EMPLOYEES Import with filter by employeeNumber. Single-node |
Задача выполняет выгрузку пользователя по определённому employeeNumber |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
20-30 EMPLOYEES Reconciliation. Single-node |
Задача выполняет глобальное обновление объекта пользователя в IDM. Обновление происходит в однопоточном режиме |
Необязательная задача. |
Запуск по расписанию раз в минуту. |
|
KIS Employees tasks |
20-30 EMPLOYEES Recomputation. Single-node |
Задача выполняет полный перерасчет всего для пользователя (вызов всех маппингов). Перерасчет выполняется в однопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
20-30 EMPLOYEES Delete all users custom. Multi-node |
Задача выполняет удаление пользователей и их shadow объектов из репозитория IDM в многопоточном режиме |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
20-30 EMPLOYEES Repair users with two archetypes |
Задача выполняет удаление всех архетипов у пользователя и повторно проставляет статус 2 |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
20-30 EMPLOYEES CARD Recompute. Single-node |
Задача выполняет повторное вычисление карточек для генерации sapLogin |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
KIS Employees tasks |
20-30 EMPLOYEES CONTRACT Recompute. Single-node |
Задача выполняет повторное вычисление контрактов для генерации mailAliases и emails |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
users-by-filter-disable-roles |
Задача выполняет поиск карточки по заданному фильтру. По заданному в параметрах данной задачи фильтру (переменная расширения roleFilter), находятся назначения ролей. Найденные назначения блокируются, и для них устанавливается параметр disableReason со значением «Disabled by {имя_текущей_задачи}». |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
users-by-filter-disable-roles-coordinator |
Задача является координатором - запускает задачу-шаблон „users-by-filter-disable-roles-template“ для отключения ролей. В первой activity происходит запуск задачи в асинхронном режиме. Во второй activity ожидается завершение работы задачи (30 секунд). Если задача отработала за указанное время, то запускается отчет (шаблон „Cards with disabled roles“) |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Template task |
users-by-filter-disable-roles-template |
Задача является шаблоном (template task). Она не запускается как обычная задача. Ее запускает задача-координатор „users-by-filter-disable-roles-coordinator“. В задаче есть параметр расширения „cardsRolesGO“, который хранит имя generic object-а „cards-roles“, в котором находится список карточек и список ролей на отключение (oid-ы). Задача идет по карточкам и ищет назначения ролей из этого списка. Найденные назначения блокируются, для них устанавливается параметр disableReason со значением «Disabled by users-by-filter-disable-roles-coordinator». |
Необязательная задача. Обязательное присутствие, если используется „users-by-filter-disable-roles-coordinator“ |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
|
SYSTEM tasks |
users-by-filter-restore-roles |
Задача выполняет активацию ролей, отключенных задачей «users-by-filter-disable-roles-coordinator». Происходит изменение параметра активации назначения на ENABLED и удаление причины блокировки. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Report |
Cards with disabled roles |
Шаблон отчета. По завершению задачи „users-by-filter-disable-roles-template“ формируется отчет (шаблон Cards with disabled roles) с полями: User oid - oid карточки; User name - имя карточки; Disabled roles - список oid-ов заблокированных ролей у пользователя. |
Необязательный отчет. Обязательное присутствие, если используется „users-by-filter-disable-roles-coordinator“ |
Нет расписания. Однократное выполнение после завершения задачи „users-by-filter-disable-roles-template“ |
|
Generic object |
cards-roles |
Generic object. В данном объекте находится список карточек и список ролей на отключение (oid-ы) для задачи „users-by-filter-disable-roles-template“. |
Необязательный generic object. Обязательное присутствие, если используется „users-by-filter-disable-roles-coordinator“ |
Настраивается вручную. |
|
Fast assignment recompute task |
[FAST ASSIGNMENT RECOMPUTE] Recompute scanner. Multi-node |
Задача выполняет поиск пользователей, у которых есть триггер «fastAssignmentRecompute».Триггер содержит информацию о ресурсах, для которых необходимо выполнить перерасчет (oid’ы ресурсов). Перерасчет выполняется с опцией «fast assignment», которая позволяет выполнить перерасчет только для необходимых проекций пользователя, а не для всех. После выполнение пересчета, проверяется его статус для каждой из проекции, на его основе список ресурсов в триггере может корректироваться (ресурсы, для которых расчет завершился без ошибок, будут удалены из списка), если для всех проекций пересчет завершился корректно, триггер удаляется. В задаче доступен дополнительный параметр расширения resourceOid (multivalue), который позволяет задать список ресурсов, для которых будет выполнен перерасчет, при условии что этот ресурс будет присутствовать в списке из триггера. По завершении задачи в колонке Object reference формируется шаблон отчета с названием «Fast assignment recompute». Необходимо перейти в саму задачу [FAST ASSIGNMENT RECOMPUTE] Recompute scanner. Multi-node и нажать на кнопку Download report, чтобы получить сгенерированный отчет «Fast assignment recompute». |
Необязательная задача. Обратите внимание, параметр |
Запуск по расписанию раз в 20 минут. |
|
Report |
Fast assignment recompute |
Отчет по карточкам, для которых выполнялся recompute через задачу «[FAST ASSIGNMENT RECOMPUTE] Recompute scanner. Multi-node». По завершению задачи формируется отчет «Fast assignment recompute» с полями: АС; Учетная запись; ФИО; Табельный номер; Статус отработки; Время; Ошибка (в случае неуспешности). Для предотвращения накопления большого объема данных реализован механизм ротации отчетов. |
Необязательный отчет. Обязательное присутствие, если используется «[FAST ASSIGNMENT RECOMPUTE] Recompute scanner. Multi-node» |
Нет расписания. Однократное выполнение после завершения задачи «[FAST ASSIGNMENT RECOMPUTE] Recompute scanner. Multi-node» |
|
Fast assignment recompute task |
[FAST ASSIGNMENT RECOMPUTE] Search cards. Multi-node |
Задача выполняет поиск карточек, у которых в shadow последняя операция завершилась с ошибкой и добавляет их владельцам триггер «fastAssignmentRecompute» для перерасчета с использованием «fast assignment». В shadow задача выполняет поиск последней operationExecution со статусами fatal_error или in_progress. Для операций со статусом in_progress, также дополнительно проверяется pendingOperation и их статус выполнения, и ищутся операции со статусом fatal_error. Если необходимо найти все карточки с нужным триггером, воспользуйтесь фильтром Advanced на вкладке Cards и используйте фильтр: |
Необязательная задача. Примечание: задача пропускает карточки, если у них уже присутствует триггер «fastAssignmentRecompute». Также при работе задачи не учитываются ресурсы в статусе |
Запуск по расписанию раз в час. |
|
Report |
Cards with shadow pending operations |
Отчет по карточкам, у которых в shadow есть pending operations. По завершению задачи «[FAST ASSIGNMENT RECOMPUTE] Search cards. Multi-node» формируется отчет «Cards with shadow pending operations» с полями: name - имя карточки; oid - oid карточки; Resources - список ресурсов, которые были добавлены в триггер + дельта расхождений (если это было расхождение из-за pendingOperation). Для предотвращения накопления большого объема данных реализован механизм ротации отчетов. |
Необязательный отчет. Обязательное присутствие, если используется «[FAST ASSIGNMENT RECOMPUTE] Search cards. Multi-node» |
Нет расписания. Однократное выполнение после завершения задачи «[FAST ASSIGNMENT RECOMPUTE] Search cards. Multi-node» |
|
Fast assignment recompute task |
[FAST ASSIGNMENT RECOMPUTE] Search inconsistent cards. Multi-node |
Задача выполняет поиск карточек, у которых есть проекции с неконсистентными данными. Задача выполняет поиск расхождений при перерасчете на основе механизма «Preview changes - Предварительного просмотра изменений» и реконсиляции. Результат перерасчета не применяется. Если при пересчете найдены расхождения, то формируется список ресурсов и добавляется триггер «fastAssignmentRecompute. Информация о расхождениях сохраняется в параметры самого триггера, который добавляется карточке. Для каждого вида расхождения свой уникальный handlerUri в триггере. Если необходимо найти все карточки с нужным триггером, воспользуйтесь фильтром Advanced на вкладке Cards и используйте фильтр: |
Необязательная задача. Примечание: если в ресурсе включено кеширование, то для его shadow не будет найдено расхождений, т.к. сравнение будет выполняться с данными из IDM; задача пропускает карточки, если у них уже присутствует триггер «fastAssignmentRecompute». Также при работе задачи не учитываются ресурсы в статусе |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Report |
Inconsistent cards |
Отчет по карточкам c неконсистентными данными. По завершению задачи «[FAST ASSIGNMENT RECOMPUTE] Search inconsistent cards. Multi-node» формируется отчет «Inconsistent cards» с полями: name - имя карточки; oid - oid карточки; Resources - список ресурсов, которые были добавлены в триггер + расхождения из параметров триггера. Для предотвращения накопления большого объема данных реализован механизм ротации отчетов. |
Необязательный отчет. Обязательное присутствие, если используется «[FAST ASSIGNMENT RECOMPUTE] Search inconsistent cards. Multi-node» |
Нет расписания. Однократное выполнение после завершения задачи «[FAST ASSIGNMENT RECOMPUTE] Search inconsistent cards. Multi-node» |
|
Fast assignment recompute task |
[FAST ASSIGNMENT RECOMPUTE] Search shadow diff cards. Multi-node |
Задача выполняет поиск карточек, у которых есть проекции с расхождениями на основе расчета маппинга их ресурса. Выполняется повторный расчет маппинга для ресурса каждой из проекций. Учитываются расхождения только для атрирбутов, у которых используется outbound (чтобы исключить расхождения по метаданным или атрибутам, которые заполняются на стороне АС). Формируется итоговый список ресурсов с расхождениями и добавляется триггер «fastAssignmentRecompute». Информация о расхождениях сохраняется в параметры самого триггера, который добавляется карточке. Для каждого вида расхождения свой уникальный handlerUri в триггере. Если необходимо найти все карточки с нужным триггером, воспользуйтесь фильтром Advanced на вкладке Cards и используйте фильтр: |
Необязательная задача. Примечание: расчет расхождений выполняется только для ресурсов, у которых включено кеширование; задача пропускает карточки, если у них уже присутствует триггер «fastAssignmentRecompute». Также при работе задачи не учитываются ресурсы в статусе |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Report |
Cards with shadow diff |
Отчет по карточкам, для которых были найдены различия с их shadow в процессе выполнения проверки задачей «[FAST ASSIGNMENT RECOMPUTE] Search shadow diff cards. Multi-node». По завершению задачи формируется отчет «Cards with shadow diff» с полями: name - имя карточки; oid - oid карточки; Resources - список ресурсов, которые были добавлены в триггер + расхождения из параметров триггера. Для предотвращения накопления большого объема данных реализован механизм ротации отчетов. |
Необязательный отчет. Обязательное присутствие, если используется «[FAST ASSIGNMENT RECOMPUTE] Search shadow diff cards. Multi-node» |
Нет расписания. Однократное выполнение после завершения задачи «[FAST ASSIGNMENT RECOMPUTE] Search shadow diff cards. Multi-node» |
|
Report |
Import card list for recompute |
Отчет позволяет прочитать подготовленный CSV файл, в котором должны быть колонки name или employeeNumber (регистр не имеет значения). Будет составлен запрос для поиска карточки по name или employeeNumber строки из CSV файла. Если карточка найдена, то ей будет добавлен триггер «recomputeList». |
Необязательный отчет. Обязательное присутствие, если используется «Recompute list cards. Multi-node» |
Нет расписания. Однократное выполнение перед запуском задачи «Recompute list cards. Multi-node» |
|
Recompute tasks |
Recompute list cards. Multi-node |
Задача выполняет поиск пользователей с триггером recomputeList и выполняет для них recompute. Если рекомпьют завершился без ошибок, то есть статус SUCCESS, то триггер будет удален. В задаче генерируется отчет «Failed recompute list cards», в котором будут найдены все карточки, у которых операции от задачи «Recompute list cards. Multi-node» завершилась с ошибкой. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Report |
Failed recompute list cards |
Отчет по карточкам, для которых были ошибки при рекомпьюте через задачу «Recompute list cards. Multi-node» |
Необязательный отчет. Обязательное присутствие, если используется «Recompute list cards. Multi-node» |
Нет расписания. Однократное выполнение после завершения задачи «Recompute list cards. Multi-node» |
|
Migration tasks |
Migration role (v2). Prepare role list |
Задача для подготовки списка ролей на миграцию. В параметре «ci_source» данной задачи содержится КЭ системы, роли которой нужно отключить. В параметре «ci_target» содержится КЭ системы, роли которой нужно добавить. Идентификатор(identifier) ролей одинаковый, отличается только КЭ. В итоге получится такой маппинг: имя_старой_роли(оид_старой_роли);имя_новой_роли(оид_новой_роли). Результат с таким маппингом записывается в generic object с именем, указанным в параметре «migration_role_input». |
Необязательная задача. Обязательное присутствие, если используется миграция ролей. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Generic object |
migration-context |
Generic object. Объект, содержащий роли в формате старая_роль(oid);новая_роль(oid) как для обычной роли, так и для первичной роли. Блок «roleInput» заполняется задачей «Migration role (v2). Prepare role list». Блок «accessRoleInput» заполняется вручную в формате исходная_первичная_роль(oid);целевая_первичная_роль(oid). |
Необязательный generic object. Обязательное присутствие, если используется миграция ролей. |
Настраивается автоматически задачей «Migration role (v2). Prepare role list» и вручную. |
|
Migration tasks |
Migration role (v2). Prepare card list task. Oid |
Задача для подготовки списка карточек(oid), в которых нужно произвести миграцию ролей. Задача из generic object-а (имя которого задано в параметре «migration_role_input») достает список ролей. Далее ищет карточки, в которых данные роли есть в назначениях и формирует общий набор oid-ов этих карточек. Далее этот набор добавляется в этот же generic object в параметр расширения «cards». |
Необязательная задача. Обязательное присутствие, если используется миграция ролей. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Template task |
Migration role (v2). Cards iterative |
Задача является шаблоном (template task). Она не запускается как обычная задача. Ее запускает задача-координатор „Migration role (v2). Coordinator“. На вход задаче-координатору передается список оидов карточек, в которых нужно произвести миграцию ролей. |
Необязательная задача. Обязательное присутствие, если используется миграция ролей. |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
|
Migration tasks |
Migration role (v2). Coordinator |
Задача является координатором - запускает задачу-шаблон „Migration role (v2). Cards iterative“ для миграции ролей. В первой activity происходит запуск задачи в асинхронном режиме. Во второй activity ожидается завершение работы задачи (30 минут). Если задача отработала за указанное время, то запускается отчет „Cards with migrated roles“. |
Необязательная задача. Обязательное присутствие, если используется миграция ролей. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Migration tasks |
Migrate dkb and smd roles |
Задача выполняет миграцию ролей 2 DKB role и 10 SMD role на 12 DKB2 role и 11 SMD2 role соответственно. Замена причин блокировок карточек «disableReasonRF» в блоке «activation» с DKB на DKB2 и с SMD на SMD2. Также производится миграция у ТУЗ с соответствующими ролями. |
Необязательная задача. Обязательное присутствие, если используется миграция ролей. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Report |
Cards with migrated roles |
Отчет по карточкам, для которых произошла миграция исходной роли на целевую. В отчете прописаны следующие заголовки: Имя карточки; ФИО; OID задачи; Статус обработки; Время; Результат. |
Необязательный отчет. Обязательное присутствие, если используется миграция ролей. |
Нет расписания. Однократное выполнение после завершения задачи «Migration role (v2). Coordinator» |
|
AD tasks |
20-30 AD Import group. One group |
Задача выполняет выгрузку одной заданной группы AD |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
check-resource-availability |
Задача выполняет проверку ресурсов и перевод в режим обслуживания. Осуществляется проход по всем ресурсам (исключение - ресурсы, указанные в blackList в задаче) и выполняет тест-коннект. В задаче прописывается количество попыток для выполнения теста ресурса (maxAttemptThreshold) и таймаут между выполнением теста ресурса в миллисекундах (delayTestResource). Если АС не доступна и ресурс НЕ в режиме Обслуживание, то задача переводит его в режим Обслуживание. Если ресурс доступен и в режиме Обслуживание, то задача переводит его в рабочий режим. |
Необязательная задача. |
Запуск по расписанию раз в минуту. |
|
SYSTEM tasks |
Disable roles task |
Задача выполняет перевод ролей в архивное состояние (AdministrtativeStatus -> Disabled, атрибут archive -> true) по приложенному списку |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Disable cachingOnly in resources |
Задача выполняет выключение атрибута read/cachingOnly в ресурсах. Параметры задачи: |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Enable cachingOnly in resources |
Задача выполняет включение атрибута read/cachingOnly в ресурсах. Параметры задачи: |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
EXPORT REPORTS |
Задача выполняет экспорт файлов отчетов типа ReportDataType (вкладка Reports/created reports) в базу данных. Параметр chunkSize отвечает за размер записи в базе данных. Файл разбивается на части размером chunkSize и загружается в базу. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
IMPORT REPORTS |
Задача выполняет просмотр объектов типа ReportDataType. Если для выбранного объекта не удалось подгрузить файл отчета с диска, то файл отчета будет импортирован из базы данных. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Fix duplicate NGAM shadows |
Задача выполняет починку пользователей с двумя привязанными проекциями для одного ресурса. Остается проекция, логин которой отличается от nickname, либо проекция создана раньше второй. Лишняя проекция отвязывается. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
RAW synchronize shadows |
Задача выполняет подготовку параметров и запускает задачу для синхронизации shadow, который были импортированы из CSV. После выполнения задачи для пользователей, с которыми выполняется связывание, будет добавлена первичная роль, если она заполнена в ресурсе (extension/primaryRoleOid). Задача не будет добавлять пользователю новую проекцию ресурса, если у пользователя уже есть другая проекция от этого ресурса. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Fix duplicates shadows |
Задача выполняет удаление дублей проекций. Если у карточки присутствует несколько проекций в одном ресурсе, то после запуска задачи остается только одна проекция. |
Необязательная задача. |
Запуск по расписанию раз в минуту. |
|
SYSTEM tasks |
Account shadow refresh |
Задача выполняет отложенные операции для shadow (например, накопленные изменения, когда ресурс был в состоянии тех. работ). |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
task-add-archetype-technicalCard |
Задача выполняет добавление архетипа „Technical cards“ техническим карточкам, если такого архетипа еще нет. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Assembly debug information |
Задача выполняет сборку zip архива с объектами, которые могут быть необходимы при разборе дефекта. В архиве будут добавлены сами объекты в xml формате, все функциональные библиотеки, информация о сборке idm (build.txt) и system configuration. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
BACKUP OBJECTS |
Задача выполняет создание резервных копий объектов в IDM. Задача создает GenericObjectType с наименованием «backup_[#тип объекта][#idm.version][#текущая дата]» и сохраняет в нем данные объектов. В одном GenericObjectType может быть сохранено максимум 1000 объектов, если общее количество объектов для резервного копирования будет превышать 1000, то backup будет состоять из нескольких GenericObjectType, у которых будет добавлен постфикс «part[#номер части]». Параметры (в extension): types (multivalue) - тип объектов, для которых выполнять резервное копирование, например «FunctionLibraryType»; includeOid (multivalue) - oid объекта, для которого выполнять резервное копирование, если в types задано несколько типов, то нужно указать к какому типу объектов будет относиться данный oid в формате [#тип объекта]@[#oid], например «SystemConfigurationType@00000000-0000-0000-0000-000000000001»; excludeOid (multivalue) - oid объекта, который будет исключен из резервного копирования. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
RESTORE OBJECTS |
Задача выполняет восстановления объектов из резервной копии. Для восстановления объектов, необходимо выбрать в objectRef (Ссылка на объект) GenericObject с нужными объектами и нажать «Save and run». Если необходимо восстановить объекты, которые сохранены в нескольких частях, то можно выбрать любую часть и при условии, что параметр restoreAllParts=true будут восстановлены объекты из всех частей. Если restoreAllParts=false, то будут восстановлены только объекты из выбранной части. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Delete empty nodeIdentifier |
Задача выполняет удаления пустых nodeIdentifier из задач. Параметры задачи: |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Force clean JDBC locks runner |
Задача является координатором - запускает задачу-шаблон «Force clean JDBC locks template». Задача выполняет принудительное очищение блокировок из БД IDM. Задача очищает из таблицы int_lock записи о блокировках. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Template task |
Force clean JDBC locks template |
Задача является шаблоном (template task). Она не запускается как обычная задача. Ее запускает задача-координатор «Force clean JDBC locks runner». Задача выполняет принудительное очищение блокировок из БД IDM. |
Необязательная задача. Обязательное присутствие, если используется «Force clean JDBC locks runner» |
Нет расписания. Однократное выполнение. Запускать вручную нельзя. |
|
SYSTEM tasks |
Reindexing USERS |
Задача выполняет повторного расчета индексов пользователей в БД. Позволяет исправить расхождения значений в m_user.fullObject и полях для индексов (это могут быть как стандартные поля, например m_user.employeeNumber, так и поля расширения, m_user.ext). |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Set ThreadStopAction |
Задача выполняет добавление параметра ThreadStopAction в задачи. Добавление атрибута |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Migrate synchronization block SCIM |
Задача выполняет массовую замену у всех SCIM ресурсов блока синхронизации для учетных записей. Параметры задачи: scimCorrelation - описание блока синхронизации, на который выполняется миграция. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Update mapping incompatibleRoles |
Задача выполняет изменение маппинга в objectType/attribute/incompatibleRoles/inbound. Параметры задачи: |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Update roles condition |
Задача выполняет изменение condition в атрибуте для получения ролей из ресурсов SCIM, SOAP. Параметры задачи: |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Criticality Criteria Task Runner |
Задача создает на основе шаблона таску Criticality Criteria Setter |
Необязательная задача. Созданная задача делает отчет только по тем ролям, для которых меняются атрибуты, меняет у соответствующих ролей атрибуты критичности, согласно указанным значениям в таске.Если какой либо из атрибутов критичности не задан в «Criticality Criteria Task Runner», то он не будет проставляться в ролях |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Criticality Criteria Setter Template |
Задача проставляет признаки критичности для ролей с архетипом Resource Roles и делает отчет только по тем ролям, для которых меняются атрибуты |
Необязательная задача. Если какой либо из атрибутов критичности не задан в таске, то он не будет проставляться в ролях |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SCIM tasks |
SCIM Replace deprecated configuration attributes (task-replace-deprecated-config-scim-resources.xml) |
Задача для замены устаревших атрибутов конфигурации SCIM на актуальные |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Add displayNameOrig role inbound |
Задача выполняет добавление inbound маппинга на заполнение атрибута |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Migrating To Multiple Topics For Kafka |
Задача предназначена для миграции объектов Kafka Action и Kafka Pending Action на модель с несколькими источниками. Подробнее смотрите в разделе Миграция объектов требований Kafka на модель с несколькими источниками. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
META Role import |
Задача предназначена для импорта каталога ролей META. |
Необязательная задача. В задачу добавлена activity из задачи |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Meta lite role verification |
Задача предназначена для сверки ролей МЕТА для конкретной лайт-интеграции. Для определения интеграции в задаче в фильтре следует указать каталог ролей (по значению атрибута |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Add strength weak for role name |
Задача предназначена для реализации корректной работы механизма сверки ролей МЕТА с каталогом. Задача проставляет значение |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Dynamic Distributions |
Задача предназначена для того, чтобы в процессе работы фокальной задачи изменять количество узлов, worker и потоков, на которых работает фокальная задача. Подробнее о настройке задачи смотрите ниже. |
Необязательная задача. |
По умолчанию запуск каждые 20 секунд. |
|
Kafka tasks |
Kafka Rate Limit Setter |
Задача выполняет установку параметров Rate Limiter для коннектора Kafka. Подробнее смотрите в Руководстве пользователя IDMC, раздел Руководство оператора коннектора Kafka. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Kafka tasks |
Set Kafka Logging |
Задача выполняет настройку логирования действий коннектора Kafka. Подробнее смотрите в документе Руководство пользователя IDMC, раздед Руководство оператора коннектора Kafka. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SCIM Tasks |
Disable Scim/Soap Activation Inbound Mapping |
Задача корректирует поведение маппинга параметра |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
META Tasks |
Unlink meta shadow for resource roles |
Задача выполняет отвязку проекций МЕТА от ролей АС в рамках заданного oid интеграции или каталога ролей (атрибут CI в объекте orgType). В результате работы таски при отвязке проекции МЕТА от ролей АС зачищаются ниже перечисленные атрибуты: |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SCIM/SOAP tasks |
Reindexing roles with an incorrect consistency attribute |
Задача для переиндексации в БД IDM ролей (таблица |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
META tasks |
META lite role verification |
Задача для сверки МЕТА ролей для конкретной интеграции. В качестве фильтра для выполнения сверки задается oid интеграции или каталог ролей (атрибут CI в объекте orgType). |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
META tasks |
META failed shadow delete |
Задача удаляет проекции МЕТА с меткой |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
META tasks |
Unlink meta shadow for resource roles |
Задача предназначена для удаления связи (unlink) между объектами типа RoleType и их проекциями (shadow) на ресурс «Meta». После отвязки выполняется очистка атрибутов верификации в самой роли. Удаляются проекции МЕТА только у ролей, которые принадлежат организации, |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
META tasks |
Check link with meta |
Задача предназначена для проверки корректной связи ролей и их проекций (shadows) на ресурс «Meta». Если связь между ролью и её проекцией Meta некорректна, то связь удаляется. |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
Kafka tasks |
Report on Postponed Kafka Objects |
Задача генерирует HTML-отчет с ресурсами, имеющими отложенные объекты. Записи отсортированы по количеству отложенных объектов (по убыванию). Конфигурируемый параметр - |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Encrypt resource config |
Задача для шифрования атрибутов, хранящих пароли, в конфигурациях ресурсов |
Необязательная задача. |
Нет расписания. Однократное выполнение. Ручной запуск |
|
SYSTEM tasks |
Restart task scanner |
Задача сканирует другие задачи на наличие триггера |
Необязательная задача. |
Запуск раз в 300 секунд. Ручной запуск |
|
SCIM tasks |
SCIM Update object synchronization |
Задача предназначена для массового обновления ресурсов SCIM для корректировки условий связывания карточки и УЗ пользователя. Задача настраивает условия корелляции следующим образом: |
Необязательная задача. Если при массовом обновлении необходимо исключить какие-либо ресурсы из обновления - в задачу в блок фильтра следует добавить oid этого ресурса. Например: |
Ручной запуск |
|
SCIM tasks |
Update Scim Mapping User Roles |
Задача обновляет outbound маппинг параметра |
- |
Ручной запуск |
|
SOAP tasks |
Update Soap Mapping User Roles |
Задача обновляет outbound маппинг параметра |
- |
Ручной запуск |
|
META tasks |
Meta shadow migrate task |
Задача выполняет миграцию созданных ранее shadow на новый формат атрибутов версии. При миграции происходит замена (перенос значения) из атрибута |
- |
Ручной запуск |
- |
Generic tasks |
|
Задача меняет имя у объекта архетипа |
Задача изменяет |
Ручной запуск |
Настройка задачи Dynamic Distribution#
Для предварительной настройки данной таски необходимо:
В IDM перейти в Server tasks/All tasks.
Найти задачу Dynamic distributions.
Зайти в задачу.
Зайти в Edit Raw.
Найти блок
<code> . . . </code>, в котором есть настройка профилей(PROFILES).Настроить данный блок кода следующим образом:
Указать количество, больше которого устанавливается нужный профиль.
Указать в формате, как в примере ниже, количество узлов, worker и потоков в том же порядке.
Сохранить задачу
Например:
@Field final def PROFILES = [
// Количество объектов : Параметры профиля
10 : new DistributionProfile(1, 1, 1),
100 : new DistributionProfile(2, 3, 2),
10000: new DistributionProfile(20, 3, 3)
]
Fast Assignment с явным указанием списка ресурсов для реконсиляции#
Также доступна функциональность, с помощью которой можно выплнять операции реконсиляции в режиме fast assignment по конкретным ресурсам для пользователя.
Для использования данной функциональности:
У карточки пользователя (Card), для которой проводится реконсиляция, должны быть проекции в ресурсах, по которым выполняется операция.
Необходимо заполнить следующий блок кода требуемыми значениями:
<s:executeScript xmlns:s="http://midpoint.evolveum.com/xml/ns/public/model/scripting-3" xmlns="http://prism.evolveum.com/xml/ns/public/query-3"> <s:pipeline> <execute xmlns="http://midpoint.evolveum.com/xml/ns/public/model/scripting-3"> <script> <code xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"> import com.evolveum.midpoint.model.api.ModelExecuteOptions import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType def resourceScim = midpoint.getObject(ResourceType.class, "123123-2352345325sdf-123") def resourceSoap = midpoint.getObject(ResourceType.class, "32132145254-2352345325sdf-12asdzxcvqe3") def resources = List.of(resourceScim, resourceSoap) def userOids = new ArrayList() userOids.add("12387tzygvcbh-123klznc-zxcq1351") userOids.add("97dsf2334-xc,bmn2931234-1235") for(String oid: userOids) { def delta = midpoint.deltaFor(UserType.class).asObjectDelta(oid) def options = ModelExecuteOptions.create().fastAssignment(resources) midpoint.modifyObject(delta, options) } </code> </script> <forWholeInput>true</forWholeInput> </execute> </s:pipeline> </s:executeScript>, где:
Для каждого ресурса следует составить строку с определением переменной и указанием oid ресурса. Например,
def resourceScim = midpoint.getObject(ResourceType.class, "123123-2352345325sdf-123");, гдеresourceScim- имя переменной,123123-2352345325sdf-123- oid ресурса, по которому нужно провести реконсиляцию.В опции
List.ofопределения переменнойresourcesперечислить через запятую все переменные, в которых были указаны ресурсы. Например, в примере выше определено две переменных с ресурсами -resourceScimиresourceSoap. Поэтому опция заполняется какdef resources = List.of(resourceScim, resourceSoap).Для каждого пользователя, которому надо провести реконсиляцию, следует составить строку, добавляющую его oid в список, и вставить ее после определения переменной
userOids. Например,userOids.add("12387tzygvcbh-123klznc-zxcq1351"), где12387tzygvcbh-123klznc-zxcq1351- oid пользователя (card).
Составленный блок кода следует выполнить в системе IDM. Для этого можно воспользоваться следующими методами:
Отправить блок кода через REST API. Для этого составьте корректный REST запрос в IDM с составленным блоком кода и отправьте его на эндпоинт
<idm-host>/midpoint/ws/rest/rpc/executeScript. Например:POST http://localhost:8090/midpoint/ws/rest/rpc/executeScript Authorization: Basic {login} {password} Content-Type: application/xml <s:executeScript xmlns:s="http://midpoint.evolveum.com/xml/ns/public/model/scripting-3" xmlns="http://prism.evolveum.com/xml/ns/public/query-3"> <s:pipeline> <execute xmlns="http://midpoint.evolveum.com/xml/ns/public/model/scripting-3"> <script> <code xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"> import com.evolveum.midpoint.model.api.ModelExecuteOptions import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType def resourceScim = midpoint.getObject(ResourceType.class, "123123-2352345325sdf-123") def resourceSoap = midpoint.getObject(ResourceType.class, "32132145254-2352345325sdf-12asdzxcvqe3") def resources = List.of(resourceScim, resourceSoap) def userOids = new ArrayList() userOids.add("12387tzygvcbh-123klznc-zxcq1351") userOids.add("97dsf2334-xc,bmn2931234-1235") for(String oid: userOids) { def delta = midpoint.deltaFor(UserType.class).asObjectDelta(oid) def options = ModelExecuteOptions.create().fastAssignment(resources) midpoint.modifyObject(delta, options) } </code> </script> <forWholeInput>true</forWholeInput> </execute> </s:pipeline> </s:executeScript>Выполнить составленный блок кода (скрипт) в legacy UI IDM. Для этого:
Перейдите в legacy UI IDM.
Перейдите в раздел Configuration -> Bulk actions.
Вставьте блок кода в окно и нажмите Start.
Задача для массового назначения или отъема ролей#
Задачи группы Roles Bulk Action предназначены для выполнения массовых операций назначения или отъема списка ролей у списка пользователей. Все задачи расположены в директории post-init/forManualUpload/roles-bulk-actions и требуют загрузки на стенд вручную.
Группа состоит из трех задач:
Roles Bulk Action. Creator - генератор для создания задач на основе шаблона Roles Bulk Action. TEMPLATE и конфигурационного объекта задач для массового отзыва или назначения ролей.
Roles Bulk Action. TEMPLATE - шаблон, на основе которой Roles Bulk Action. Creator создает задачи для массовых операций.
bulk-roles-action- объект конфигурации задачи, содержащий списки ролей и пользователей, а также другие параметры операции.
Алгоритм работы с задачами следующий:
Сконфигурировать объект конфигурации. Можно внести изменения в существующий, либо импортировать новый.
Изменить задачу Roles Bulk Action. Creator, указав в конфигурационном параметре
configurationNameимя объекта конфигурации, который следует использовать для создания задач.Запустить задачу Roles Bulk Action. Creator.
Задача Roles Bulk Action. Creator сгенерирует и запустит одну или более задач, созданных по шаблону Roles Bulk Action. TEMPLATE для выполнения операций.
Задачи шаблона Roles Bulk Action. TEMPLATE по завершению работы сгенерируют отчеты по работе.
Настройка задачи#
Объект конфигурации задачи содержит следующие параметры, которые требуется заполнить:
executionName- имя запуска. Добавляется в имя задачи и отчета.delimiter- разделитель между идентификаторами ролей вrolesиcards. По умолчанию равен;;.executionGroup- имя группы исполнения. Транслируется вexecutionConstraints/group.createAssignTask- булевый параметр. Если заданtrue, то будет создана задача на назначение ролей.createUnassignTask- булевый параметр. Если заданtrue, то будет создана задача на отзыв ролей.workersPerNode- количество воркеров на один узел. Транслируетсяdistribution/workers/workersPerNode/countсоздаваемых задач.workerThreads- количество потоков на один воркер. Транслируетсяdistribution/workers/workerThreadsсоздаваемых задач.maxCardsInTaskCount- максимальное количество карточек, которое должна будет обработать задача. Если количество карточек превышаетmaxCardsInTaskCount, то будет создано несколько задач.maxRolesInTaskCount- максимальное количество ролей, которое должна будет обработать задача. Если количество ролей превышаетmaxRolesInTaskCount, то будет создано несколько задач.bucketSize- максимальный размер бакета. Количество бакетов определяется отношениемcardsCount/bucketSize.deltaMaxItems- максимальный размер дельты. Определяет максимально количество ролей, которое можно обработать одной дельтой. Если количество ролей превышаетdeltaMaxItems, то будет создано несколько дельт.roles- список ролей в форматеroleName(roleOid)илиroleOid, разделенныеdelimiter.cards- список карточек в форматеcardName(cardOid)илиcardOid, разделенныеdelimiter.
Обратите внимание.
Задачи выполняют массовые операции, поэтому их запуск рекомендовано планировать на периоды минимальной загрузки стенда.
Рекомендованы следующие параметры конфигурации для назначения:
maxCardsInTaskCount = 10000.maxRolesInTaskCount = 100.bucketSize = 1000.deltaMaxItems = 100.workersPerNode = 2.workerThreads = 4.
Рекомендованы следующие параметры конфигурации для отъема ролей:
maxCardsInTaskCount = 10000.maxRolesInTaskCount = 200.bucketSize = 1000.deltaMaxItems = 100.workersPerNode = 1.workerThreads = 2.
Разбиение задач#
Если при настройке задачи количество задач и/или ролей превысило значения параметров maxCardsInTaskCount и maxRolesInTaskCount, то при генерации задач по шаблону будет создано несколько задач, связанных в цепочку.
При этом к названиям задач в цепочке будут добавляться один или два индекса, начиная с 1. Первый индекс добавляется, если выполнялось разбиение по одному критерию (например, превышение msxCardsInTaskCount), второй - по обоим критериям. Если указывается два индекса, то первым будет индекс разбиения по карточкам.
Например, если задача была разбита на два блока по количеству карточек и три по количеству ролей - будет создано 6 задач с индексами Part 1 1, Part 1 2… до Part 2 3.
Все задачи в цепочке, кроме последней по номеру, состоят из двух activity. Первая проводит операцию с ролями, вторая запускает следующую задачу.
Обратите внимание.
В случае если в цепочке задач у пользователей возникает ошибка при назначении и задача завершается со статусом
Частичная ошибка- следующая задача не запускается, и ее необходимо запустить вручную.
Шаблон задачи импорта аккаунтов из ресурса#
Данный шаблон предназначен для создания задач импорта УЗ из конкретных ресурсов.
Конфигурирование шаблона импорта под конкретный ресурс#
Так как это шаблон, то для подготовки его под конкретный ресурс нужно задать следующие атрибуты в задаче:
<task xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
oid="52434b98-f7ac-42d9-828e-689005503aa6"> <!-- Следует изменить OID задачи, если планируется загрузить несколько разных задач, основанных на данном шаблоне -->
<extension xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<resourceOid xsi:type="xsd:string">10000000-0000-0000-0000-100000000500</resourceOid> <!-- OID ресурса с которым работаем -->
<usernameAttr xsi:type="xsd:string">userName</usernameAttr> <!-- Название атрибута в схеме ресурса, содержащий username -->
<employeeNumberAttr xsi:type="xsd:string">EnterpriseUser.employeeNumber</employeeNumberAttr> <!-- Название атрибута в схеме ресурса, содержащий табельный номер -->
<familyNameAttr xsi:type="xsd:string">name.familyName</familyNameAttr> <!-- Название атрибута в схеме ресурса, содержащий фамилию -->
<givenNameAttr xsi:type="xsd:string">name.givenName</givenNameAttr> <!-- Название атрибута в схеме ресурса, содержащий имя -->
<additionalNameAttr xsi:type="xsd:string">name.middleName</additionalNameAttr> <!-- Название атрибута в схеме ресурса, содержащий отчество -->
<rolesAttr xsi:type="xsd:string">roles</rolesAttr> <!-- Название атрибута в схеме ресурса, содержащий список ролей -->
<accountName xsi:type="xsd:string">accountName-1</accountName> <!-- Имя УЗ которое исключаем из процедуры линковки -->
<accountName xsi:type="xsd:string">accountName-2</accountName> <!-- Имя УЗ которое исключаем из процедуры линковки -->
</extension>
</task>
Структура задачи#
Задача имеет структуру с четырьмя последовательными активностями:
Активность 1: prepare - Валидация параметров задачи
Активность 2: main - Основная логика импорта
Активность 3: unlock-shadows - Очистка меток "do not touch"
Активность 4: report - Генерация и экспорт отчета
Активность 1: prepare#
Назначение
Проверка наличия всех требуемых параметров расширения, описанных в пункте Конфигурирование шаблона импорта под конкретный ресурс.
Обработка ошибок
Любая ошибка валидации приводит к немедленной остановке задачи со статусом предупреждения.
Сообщение об ошибке содержит имя отсутствующего параметра.
Активность 2: main#
Назначение
Основная логика импорта и привязки учетных записей из ресурса к карточкам пользователей в PV IDM.
Поток обработки
Активность обрабатывает объекты ShadowType (представляющие учетные записи на ресурсе), которые соответствуют определенным критериям.
2.1 Условие обработки объекта
Обрабатываются только проекции с синхронизационными ситуациями UNLINKED или UNMATCHED. Уже LINKED или MATCHED проекции пропускаются.
2.2 Основная логика обработки
Для каждой подходящей проекции выполняются следующие шаги:
Проверка исключения
Получение списка исключенных имен учетных записей из параметров расширения задачи.
Если имя текущей проекции присутствует в списке исключений:
Записывается предупреждающее сообщение в лог
Устанавливается синхронизационная ситуация
UNMATCHEDДальнейшая обработка для этой проекции пропускается
Извлечение следующих данных из проекции:
ФИО (Полное имя)
Имя пользователя
Табельный номер
Поиск карточек пользователей (объектов UserType с архетипом карточки) с использованием взвешенной стратегии поиска:
Запрос поиска
Вес
Описание
ФИО + username + employeeNumber
1.0
Точное совпадение по всем трем полям
username + employeeNumber
0.9
Совпадение по имени пользователя и табельному номеру
ФИО + username
0.8
Совпадение по полному имени и имени пользователя
ФИО + employeeNumber
0.7
Совпадение по полному имени и табельному номеру
Поиск использует OID архетипа карточки
Обработка результатов поиска
Сценарий
Действие
Карточки не найдены
Запись предупреждения, установка ситуации
UNMATCHED, пропуск отчетаНайдено несколько карточек
Запись предупреждения, установка ситуации
UNMATCHEDКарточка найдена
Продолжение обработки
Валидация контракта
Получение контракта, связанного с карточкой
Если контракт не найден:
Записывается предупреждение в лог
Устанавливается ситуация проекции
UNMATCHEDДальнейшая обработка пропускается
Проверка статуса контракта
Допустимые статусы:
work,maternity_leave,candidate,fired,blocked_by_IRP,blocked_by_SMD
Логика привязки проекции к карточке
Основная логика зависит от комбинации:
Статуса активации проекции (активна/неактивна)
Статуса активации карточки (включена/отключена)
Статуса контракта
Обрабатываются следующие сценарии:
Статус тени
Статус карточки
Статус контракта
Действие
Активна
Активна
workПривязать проекцию, добавить основную роль и роли ресурса
Активна
Активна
maternity_leaveПривязать проекцию, отключить проекцию, очистить роли
Активна
Активна
candidateПривязать проекцию, отключить проекцию, очистить роли
Активна
Неактивна
firedПривязать проекцию, отключить проекцию, очистить роли
Активна
Неактивна
blocked_by_IRPПривязать проекцию, отключить проекцию, очистить роли
Активна
Неактивна
blocked_by_SMDПривязать проекцию, отключить проекцию, очистить роли
Неактивна
Активна
workПривязать проекцию, добавить роли ресурса
Неактивна
Активна
maternity_leaveПривязать проекцию, отключить проекцию, очистить роли
Неактивна
Активна
candidateПривязать проекцию, отключить проекцию, очистить роли
Неактивна
Неактивна
firedПривязать проекцию, отключить проекцию, очистить роли
Неактивна
Неактивна
blocked_by_IRPПривязать проекцию, отключить проекцию, очистить роли
Неактивна
Неактивна
blocked_by_SMDПривязать проекцию, отключить проекцию, очистить роли
Обработка множественных учетных записей
Если у карточки уже присутствует активная/неактивная УЗ, созданная не этой задачей, то другие найденные УЗ сотрудника блокируются и не связываются с УКП, даже если будет найдена УЗ выше приоритетом
Если у карточки нет УЗ, то задача привязывает УЗ согласно приоритету, остальные УЗ блокируются.
Если у карточки есть активная/неактивная УЗ, импортированная этой задачей, то при импорте в случае нахождения УЗ с высшим приоритетом будет перепривязка, предыдущая УЗ при этом будет заблокирована.
Для контрактов со статусом
workи активных карточек:Получение OID основной роли из расширения ресурса
Добавление основной роли в карточку как назначения
Для всех сценариев извлечение идентификаторов ролей из атрибута
rolesAttrпроекцииДля каждого идентификатора роли найти соответствующую роль в PV IDM (по идентификатору и OID ресурса)
Добавление найденных ролей в качестве назначений в карточку
Проекция модифицируется со следующими изменениями:
Административный статус установлен в
DISABLEDАтрибут ролей очищен (установлен в пустой список)
Синхронизационная ситуация установлена в
LINKEDДобавлена метка «не трогать» (для предотвращения одновременных модификаций)
Карточка модифицируется с:
Добавленной ссылкой привязки, указывающей на тень
Назначением основной роли (если применимо)
Назначениями ролей ресурса (если применимо)
Событие аудита записывается со следующими свойствами:
Метка времени
Идентификатор запроса
Канал:
customImportAccountЦель: Объект тени
Этап события: Выполнение
Тип события: Синхронизация
OID и имя ресурса
Имя карточки
OID и имя тени
Статус операции (Success/Warning/Error/Undefined)
Флаг пропуска отчета
Подробное сообщение с информацией о дельтах
Активность 3: unlock-shadows#
Назначение
Удаление метки «do not touch» со всех теней, которые все еще имеют ее после завершения основной обработки.
Обоснование Во время основной обработки тени помечаются «do not touch» для предотвращения одновременных модификаций. Эта вспомогательная активность гарантирует, что все такие метки будут удалены после завершения задачи.
Активность 4: report#
Генерация и экспорт отчета на основе результатов выполнения задачи. Отчет будет содержать информацию аудита, собранную во время выполнения основной активности.
Шаблон задачи реконсиляции аккаунтов из ресурса#
Данный шаблон предназначен для создания задач реконсиляции изменений из конкретных ресурсов с данными в IDM.
Конфигурирование шаблона реконсиляции под конкретный ресурс#
Так как это шаблон, то для подготовки его под конкретный ресурс нужно задать следующие атрибуты в задаче:
<task xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
xmlns:s="http://midpoint.evolveum.com/xml/ns/public/model/scripting-3"
xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
oid="b8d8f3f8-f1a4-43c6-9ce3-2079fde42a34">
<extension xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<reconcileMode xsi:type="xsd:string">modify</reconcileMode> <!-- Возможные режимы работы таски: read, modify. Если read - выводим в отчет информацию по изменениям, modify - выполняем реконсиляцию -->
<resourceOid xsi:type="xsd:string">10000000-0000-0000-0000-100000000500</resourceOid> <!-- OID ресурса с которым работаем -->
<usernameAttr xsi:type="xsd:string">userName</usernameAttr> <!-- Название атрибута в схеме ресурса, содержащий username -->
<employeeNumberAttr xsi:type="xsd:string">EnterpriseUser.employeeNumber</employeeNumberAttr> <!-- Название атрибута в схеме ресурса, содержащий табельный номер -->
<familyNameAttr xsi:type="xsd:string">name.familyName</familyNameAttr> <!-- Название атрибута в схеме ресурса, содержащий фамилию -->
<givenNameAttr xsi:type="xsd:string">name.givenName</givenNameAttr> <!-- Название атрибута в схеме ресурса, содержащий имя -->
<additionalNameAttr xsi:type="xsd:string">name.middleName</additionalNameAttr> <!-- Название атрибута в схеме ресурса, содержащий отчество -->
<rolesAttr xsi:type="xsd:string">roles</rolesAttr> <!-- Название атрибута в схеме ресурса, содержащий список ролей -->
<thresholdOfChanges xsi:type="xsd:int">5</thresholdOfChanges> <!-- Пороговое значение количества изменений, которые будут применяться при реконсиляции. Если изменений больше, то просто вывод в отчет -->
<accountName xsi:type="xsd:string">282272</accountName> <!-- Имя УЗ которое исключаем из процедуры линковки -->
<accountName xsi:type="xsd:string">accountName-2</accountName> <!-- Имя УЗ которое исключаем из процедуры линковки -->
<ignoreNotFoundCards xsi:type="xsd:boolean">true</ignoreNotFoundCards>
</extension>
</task>
Структура задачи#
Задача имеет структуру с тремя последовательными активностями:
Активность 1: prepare - Валидация параметров задачи
Активность 2: main - Основная логика реконсиляции
Активность 3: report - Генерация и экспорт отчета
Активность 1: prepare#
Назначение
Проверка наличия всех требуемых параметров расширения, описанных в пункте Конфигурирование шаблона реконсиляции под конкретный ресурс.
Обработка ошибок
Любая ошибка валидации приводит к немедленной остановке задачи со статусом предупреждения.
Сообщение об ошибке содержит имя отсутствующего параметра.
Активность 2: main#
Назначение
Основная логика реконсиляции учетных записей из ресурса с карточками пользователей в PV IDM.
Поток обработки
Активность обрабатывает объекты ShadowType (представляющие учетные записи на ресурсе), которые соответствуют определенным критериям.
2.1 Источник данных
Запрос всех проекций для указанного ресурса с типом account:
Фильтрация по
resourceRef(OID ресурса из параметров)Фильтрация по
kind=account
Примечание: В отличие от задачи импорта, здесь не фильтруется по синхронизационной ситуации - обрабатываются все учетные записи.
Основная логика обработки
Для каждой подходящей проекции выполняются следующие шаги:
Проверка исключения
Получение списка исключенных имен учетных записей из параметров расширения задачи.
Если имя текущей проекции присутствует в списке исключений:
Записывается предупреждающее сообщение в лог
Устанавливается статус операции
WARNINGДальнейшая обработка для этой проекции пропускается
Извлечение следующих данных из проекции:
ФИО (Полное имя)
Имя пользователя
Табельный номер
Поиск карточек пользователей (объектов UserType с архетипом карточки) с использованием взвешенной стратегии поиска:
Запрос поиска
Описание
ФИО + username
Совпадение по полному имени и имени пользователя
ФИО + employeeNumber
Совпадение по полному имени и табельному номеру
username + employeeNumber
Совпадение по имени пользователя и табельному номеру
Поиск использует OID архетипа карточки
Обработка результатов поиска
Сценарий
Действие
Карточки не найдены
Запись предупреждения, установка флага
skipReportв зависимости отignoreNotFoundCardsНайдено несколько карточек
Запись предупреждения, остановка обработки
Карточка найдена
Продолжение обработки
Валидация контракта
Получение контракта, связанного с карточкой
Если контракт не найден:
Записывается предупреждение в лог
Устанавливается ситуация проекции
UNMATCHEDДальнейшая обработка пропускается
Проверка статуса контракта
Допустимые статусы:
work,maternity_leave,candidate,fired,blocked_by_IRP,blocked_by_SMD
Проверка, связана ли карточка с другой активной проекцией того же ресурса:
Если карточка уже связана с другой проекцией ресурса:
Записывается предупреждение
Обработка останавливается (множественные учетные записи не допускаются)
Логика реконсиляции
Основная логика зависит от комбинации:
Статуса активации проекции (активна/неактивна)
Статуса активации карточки (включена/отключена)
Наличия ссылки на ресурс в карточке (
hasResourceRef)Наличия ссылки на текущую проекцию в карточке (
hasLinkRef)Статуса контракта
Сценарии обработки:
Статус тени
Статус карточки
Условие
Действие
Активна
Активна
contractStatus = maternity_leaveСвязать УЗ с УКП, инициировать блокировку УЗ и очистку ролей
Активна
Активна
contractStatus = candidateСвязать УЗ с УКП, инициировать блокировку УЗ и очистку ролей
Активна
Активна
hasLinkRef + hasResourceRefНичего не делать, реконсиляция через previewChanges
Активна
Активна
!hasLinkRefСвязать УЗ с УКП, инициировать блокировку УЗ и очистку ролей
Активна
Активна
hasLinkRef + !hasResourceRefИнициировать блокировку УЗ и очистку ролей
Активна
Неактивна
contractStatus = fired/blocked_by_IRP/blocked_by_SMDСвязать УЗ с УКП, инициировать блокировку УЗ и очистку ролей
Неактивна
Активна
hasLinkRef + hasResourceRefНичего не делать, реконсиляция через previewChanges
Неактивна
Активна
hasLinkRef + !hasResourceRefНичего не делать, реконсиляция через previewChanges
Неактивна
Активна
!hasLinkRef + !hasResourceRefСвязать УЗ с УКП, инициировать блокировку УЗ и очистку ролей
Неактивна
Неактивна
contractStatus = fired/blocked_by_IRP/blocked_by_SMDИмпортировать УЗ в карточку, инициировать очистку ролей
Если режим
modifyи есть изменения в карточке:Применяется модификация карточки с опцией
raw()
Выполняется предварительный расчет изменений:
Создается контекст предварительных изменений с опцией
reconcile()Анализируются проекции для указанного ресурса
Извлекаются суммарные дельты для атрибутов проекции
Подсчитывается количество изменений
Применение изменений
В режиме
read:Только анализ изменений
Информация попадает в отчет
Никакие изменения не применяются
В режиме
modify:Проверяется пороговое значение изменений
Если количество изменений меньше порога:
Выполняется быстрая реконсиляция назначений
Применяются изменения к проекции с опциями частичной обработки
Если количество изменений превышает порог:
Выводится предупреждение о превышении лимита
Изменения не применяются
Событие аудита записывается со следующими свойствами:
Метка времени
Идентификатор запроса
Канал:
customReconciliationAccountЦель: Объект проекции
Этап события: Выполнение
Тип события: Синхронизация
OID и имя ресурса
OID и имя проекции
Статус операции (Success/Warning/Error/Undefined)
Флаг пропуска отчета
Подробное сообщение с информацией о дельтах
Активность 3: report#
Генерация и экспорт отчета на основе результатов выполнения задачи. Отчет будет содержать информацию аудита, собранную во время выполнения основной активности.