Автоматическая эскалация этапов сертификационной кампании#
Для каждого этапа сертификации можно задать один или несколько уровней автоматической эскалации. Например, если требуется подключать пользователей с более высоким уровнем доступа при отсутствии принятых решений в течение определенного промежутка времени.
Эскалация настраивается путем добавления одного или нескольких блоков timedActions в элемент stageDefinition определения сертификационной кампании.
Блок timedActions может иметь следующие элементы и значеничя:
number— порядковый номер уровня эскалации. Используется для перехода между уровнями эскалации.name— название, используемое для данного блока.displayName— название, отображаемое в UI, для данного блока.time— время выполнения действия. Имеет следующие элементы:value— значение, определяющее промежуток времени. Задается в формате ISO 8601. Положительные значения означают промежуток времени начиная с создания элемента. Отрицательные значения означают промежуток времени до наступления «дедлайна» (конца длительности этапа сертификации).
actions— тип действия, которое нужно выполнить. Возможны следующие значения:complete— закрывает элемент с указанным результатом. Имеет дополнительные параметры:outcome— результат, с которым закрывается элемент (accept,revokeи т.п.).notifyBeforeAction— промежуток времени до выполнения действия, за который будет отправлено стандартное оповещение. Указывается в формате ISO 8601.
escalate— эскалирует элемент, добавляя или заменяя согласующих. Имеет следующие элементы:approverRef— oid конкретного пользователя, на которого эскалируется элемент.approverExpression— выражение, определяющее согласующих, на которых эскалируется элемент.outcomeIfNoApprovers— решение по умолчанию, которое принимается по элементу, если не обнаружено ни одного согласующего, подходящего по заданным критериям.delegationMethod— метод эскалации. По умолчаниюreplaceAssignees. Возможны следующие значения:replaceAssignees— заменяет всех текущих согласующих на указанных в блоке.addAssignees— добавляет указанных в блоке согласующих к уже назначенным (текущим) согласующим.
escalationLevelFrom— число, с которым сравнивается текущий уровень эскалации. Если текущий уровень эскалации больше или равен указанному числу, то данный блокtimedActionsбудет применен, иначе он будет пропущен.escalationLevelTo— число, с которым сравнивается текущий уровень эскалации. Если текущий уровень эскалации меньше указанного числа, то данный блокtimedActionsбудет применен, иначе он будет пропущен.
Например:
<accessCertificationDefinition
xmlns='http://midpoint.evolveum.com/xml/ns/public/common/common-3'
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>All user assignments</name>
<description>Certifies all users' assignments. Everything is certified by the administrator.</description>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/certification/handlers-3#direct-assignment</handlerUri>
<scopeDefinition xsi:type="AccessCertificationAssignmentReviewScopeType">
<objectType>UserType</objectType>
</scopeDefinition>
<ownerRef oid="00000000-0000-0000-0000-000000000002" type="UserType"><!-- administrator --></ownerRef>
<remediationDefinition>
<style>automated</style>
</remediationDefinition>
<stageDefinition>
<number>1</number>
<name>Ревью администратора</name>
<description>На этом этапе администратор согласовывает все назначения всех учетных карточек.</description>
<duration>P14D</duration> <!-- 14 дней -->
<notifyBeforeDeadline>PT48H</notifyBeforeDeadline> <!-- 48 часов -->
<notifyBeforeDeadline>PT12H</notifyBeforeDeadline> <!-- 12 часов -->
<notifyOnlyWhenNoDecision>true</notifyOnlyWhenNoDecision> <!-- опция по умолчанию -->
<reviewerSpecification>
<defaultReviewerRef oid="00000000-0000-0000-0000-000000000002" type="UserType" /> <!-- administrator -->
</reviewerSpecification>
<timedActions>
<time>
<value>P7D</value> <!-- Спустя 7 дней после начала этапа Ревью администратора происходит эта эскалация -->
</time>
<actions>
<escalate>
<approverRef oid="018fe48d-4952-4f4b-8c0a-b8670ec1748e" type="UserType" /> <!-- Пользователь 1 (не administrator) -->
<delegationMethod>addAssignees</delegationMethod>
<escalationLevelName>Level1</escalationLevelName>
</escalate>
</actions>
</timedActions>
<timedActions>
<time>
<value>P10D</value> <!-- Спустя 10 дней после начала этапа Ревью администратора (то есть через 3 дня после первой эскалации) происходит эта эскалация -->
</time>
<actions>
<escalate>
<approverRef oid="42b48a07-e167-4fdc-baca-8eaa13d4eaad" type="UserType" /> <!-- Пользователь 2 (не 1, не administrator) -->
<delegationMethod>replaceAssignees</delegationMethod>
<escalationLevelName>Level2</escalationLevelName>
</escalate>
</actions>
<escalationLevelFrom>1</escalationLevelFrom>
<escalationLevelTo>1</escalationLevelTo>
</timedActions>
</stageDefinition>
</accessCertificationDefinition>