Навигатор по разделу
- 1 Общие сведения
- 2 Контекст
- 2.1 Параметры Modifications
- 2.2 Типы изменений
- 2.3 Параметры Role
- 2.4 Параметры Employee
- 2.5 Параметры Unit
- 3 Примеры сценариев
Общие сведения
Фильтр позволяет отсеивать и/или дополнительно обрабатывать сторонние изменения УЗ, обнаруженные при аудите, сразу после обнаружения до отправки уведомлений и сохранения в журнале аудита. Главным образом для автоматического пропуска несущественных с точки зрения нарушения доступа прав, когда таких событий много.
Сценарии должны быть написаны на языке python 2.7 и выполняются в среде IronPython. В сценариях доступна стандартная библиотека IronPython.
Подробнее о IronPython см. документацию: http://ironpython.net/documentation/.
О применении сценариев фильтра событий аудита в веб-интерфейсе администратора см. статью "6.1.4. Настройка интеграции с целевыми системами" руководства по администрированию.
Контекст
Для сценария содержимого IDM формирует глобальный контекст:
Параметр | Описание |
|---|---|
| Имя УЗ. |
| Идентификатор ресурса УЗ. |
| Идентификатор профиля УЗ. |
| Список всех сторонних изменений УЗ. Параметры Modifications см. в разделе "Параметры Modifications". |
| Список только добавленных прав. |
| Коннектор с уже открытым подключением (закрывать нельзя). |
| Отладочный вывод. |
| Сотрудник. Свойство типа Параметры |
| Юнит. Свойство типа Параметры |
| Роль. Свойство типа Параметры |
Параметры Modifications
Параметр | Описание |
|---|---|
| Идентификатор изменения. |
| Тип изменения. Доступные типы изменений см. в разделе "Типы изменений". |
| Флажок. Устанавливается значение |
| Флажок. Устанавливается значение |
| Человекочитаемое название права. |
| Идентификатор права (для глобальных и для объектных прав). |
| Флажок наличия атрибутов. При значении "true" для права можно указывать значения атрибутов объектов доступа, на которые оно выдаётся. |
| Атрибуты объектов, соответствующих праву. Массив значений типа
|
| Идентификатор объекта (для объектных прав). |
| Блокировка требуется из-за ручного запроса (для событий разблокировки). |
| Идентификатор изменённого свойства (для событий изменения значений свойств). |
| Ожидаемое значение свойства (для событий изменения значений свойств). |
Типы изменений
Название | Описание |
|---|---|
| Добавлено лишнее право. |
| Удалено необходимое право. |
| Разблокирована УЗ. |
| Удалена УЗ. |
Параметры Role
| Параметр | Описание |
|---|---|
| Идентификатор роли. Целочисленный тип. |
| Название роли. Строковый тип. |
| Расширенные свойства роли. Массив с парами значений string -
|
Параметры Employee
| Параметр | Описание |
|---|---|
| Идентификатор сотрудника. Целочисленный тип. |
| Почтовый адрес сотрудника. Строковый тип. |
| Имя сотрудника. Строковый тип. |
| Фамилия сотрудника. Строковый тип. |
| Отчество сотрудника. Строковый тип. |
| Табельный номер сотрудника. Строковый тип. |
| Расширенные данные сотрудника, предоставленные кадровой системой (без наследования). Свойство типа ExtensionBag. |
| Массив свойств сотрудника, предоставленных кадровой системой. |
| Дата рождения в формате ISO 8061 (гггг-мм-дд). Строковый тип. |
| Подразделение сотрудника с ссылкой на родительское подразделение. Свойство типа |
| Идентификатор подразделения сотрудника. Целочисленный тип. |
| Название подразделения сотрудника. Строковый тип. |
| Расширенные данные подразделения, предоставленные кадровой системой (без наследования). Свойство типа ExtensionBag. |
| Массив свойств подразделения, предоставленных кадровой системой. |
| Ссылка на родительское подразделения (рекурсивная). Свойство типа ScriptDivision. |
| Идентификатор руководителя подразделения. Целочисленный тип. |
| Идентификатор подразделения сотрудника в кадровой системе. Строковый тип. |
| Функция для получения полного названия подразделения в формате DN (в качестве OU берутся либо первые 64 символа названия подразделения, либо значение Extension.OU) |
| Функция для получения полного названия подразделения в формате DN без вывода OU из названий подразделений (в качестве OU берётся только значение Extension.OU). При ignoreMissing=True, если хотя бы одно значение не заполнено, возвращается None, иначе компонент DN пропускается. |
| Функция для получения списка подразделений на пути к этому подразделению начиная от корневого и заканчивая текущим. Employee.Division.GetPath()[0] всегда корневое. |
| Должность сотрудника. Свойство типа |
| Идентификатор должности сотрудника. Целочисленный тип. |
| Название должности сотрудника. Строковый тип. |
| Идентификатор должности сотрудника в кадровой системе. Строковый тип. |
| Идентификатор сотрудника в кадровой системе. Строковый тип. |
| Идентификатор физического лица в кадровой системе. Строковый тип. |
| Функция для получения идентификатора руководителя ближайшего по иерархии подразделения кроме тех подразделений, которыми руководит указанный работник. |
| Функция для получения идентификатора текущего непосредственного руководителя работника. |
Параметры Unit
| Параметр | Описание |
|---|---|
| Идентификатор юнита. Строковый тип. |
| Имя юнита. Строковый тип. |
| Идентификатор родительского юнита. Строковый тип. |
| Флажок отключения авторизации. Логический тип. |
| Путь к юниту. Строковый тип. |
| Тип юнита. Свойство типа |
| Идентификатор типа юнита. Тип Guid. |
| Название типа юнита. Строковый тип. |
| Флажок разрешения назначения юнитов этого типа сотрудникам. Логический тип. |
| Флажок, показывающий, являются ли юниты данного типа субъектами авторизации. Логический тип. |
| Иконка типа юнита. Строковый тип. |
| Ссылки на другие типы юнитов. Массив значений типа
|
| Свойства типа юнитов. Массив значений типа
|
| Дочерние типы юнитов. Массив значений типа
|
| Расширенные свойства юнита. Массив с парами значений string -
|
| Ссылки юнита. Массив значений типа
|
| Ответственные за юнит. Массив значений типа
|
| Назначения юнита сотрудникам. Массив значений типа UnitAssignment. Данный тип содержит свойства:
|
| Дочерние юниты. Массив значений типа
|
Примеры сценариев
for m in AddRightModifications:
if m.RightName.startswith("CN=Domain Guest"):
m.Supressed = True
for m in AddRightModifications:
if m.ObjectUri is None:
Connector.DropUserRights(Account.Name, [m.RightId])
else:
Connector.DropUserObjectRight(Account.Name, m.ObjectUri, m.RightId)
m.Supressed = True
import json
Debug.Print(json.dumps(Modifications))for m in Modifications:
if m.PropertyId == 'EmployeeId' and m.ExpectedValue == None:
m.Supressed = True