Микросертификация#
Микросертификация, или ad hoc сертификация — процесс сертификации отдельных объектов. В данном случае сертификационная кампания запускается автоматически для одного определенного объекта при возникновении какой-либо ситуации (как правило при назначении этого объекта).
Включение микросертификации требует настройки двух элементов — правила политики и определения сертификационной кампании.
Правило политики используется для создания микросертификационной кампании при выполнении какого-либо действия. Например:
<policyRule>
<policyConstraints>
<assignment>
<operation>add</operation>
</assignment>
</policyConstraints>
<policyActions>
<certification>
<definitionRef oid="540940e9-4ac5-4340-ba85-fd7e8b5e6686" /> <!-- oid определения микросертификационной кампании -->
</certification>
</policyActions>
</policyRule>
Такая политика будет запускать микросертификацию каждый раз, когда выполняется назначение чего-либо на объект, на который назначена эта политика.
Блок <certification> указывает на конкретное определение микросертификации, которая будет использоваться в данном элементе. Такие определения немного отличаются от обычных определений сертификационных кампаний:
<accessCertificationDefinition>
<name>Микросертификация</name>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/certification/handlers-3#direct-assignment</handlerUri>
<remediationDefinition>
<style>automated</style>
</remediationDefinition>
<stageDefinition>
<number>1</number>
<duration>P14D</duration>
<reviewerSpecification>
<defaultReviewerRef oid="00000000-0000-0000-0000-000000000002" type="UserType" /> <!-- administrator -->
</reviewerSpecification>
</stageDefinition>
<adHoc>true</adHoc>
</accessCertificationDefinition>
Как можно заметить, в данной кампании отсутствует блок scopeDefinition. Это сделано потому, что микросертификация вызывается для конкретной пары Object-Target, и поэтому диапазон проверяемых объектов заранее известен. Также в данной схеме добавлен параметр <adHoc>true</adHoc>, что включает режим поддержки микросертификации для сертификационной кампании.
В остальном процесс микросертификации ничем не отличается от обычной сертификационной кампании.
Альтернативные варианты запуска микросертификации#
Условия запуска сертификации не ограничены только добавлением нового назначения на объект. Например, можно создать правило политики, которое запускает микросертификацию при изменении какого-либо параметра объекта:
<policyRule>
<policyConstraints>
<modification>
<operation>modify</operation>
<item>employeeType</item>
</modification>
<modification>
<operation>modify</operation>
<item>organization</item>
</modification>
</policyConstraints>
<policyActions>
<certification>
<definitionRef oid="540940e9-4ac5-4340-ba85-fd7e8b5e6686" /> <!-- oid определения микросертификационной кампании -->
</certification>
</policyActions>
</policyRule>
Такая политика будет мониторить параметры employeeType и organization объекта, на который она назначена, и запускать микросертификацию если изменяется любой из этих параметров.