Сценарии генерации учетных записей

Навигатор по разделу:

Приложение А. Сценарий генерации учетной записи сотрудника

Шаблон позволяет заполнять определённые свойства УЗ, создаваемые в IDM, данными из кадровой системы и обновлять эти значения при изменении кадровых данных. Значения этих свойств не должны быть каким-либо образом связаны с управлением доступом. Примеры подходящих свойств: "Имя", "Почтовый адрес", "Должность", "Номер телефона" и т. п.

Значения свойств определяются одиночными выражениями, выполняющимися в контексте:

Таблица – Параметры свойств шаблонов УЗ

ПараметрОписание
EmployeeСотрудник, которому назначается роль
Employee.IdИдентификатор сотрудника
Employee.FirstNameИмя сотрудника
Employee.LastNameФамилия сотрудника
Employee.PatronymicОтчество сотрудника
Employee.ExternalIdИдентификатор сотрудника в кадровой системе
Employee.PersonIdИдентификатор физического лица в кадровой системе
Employee.PersonnelNumberТабельный номер сотрудника
Employee.BirthDateДата рождения в формате ISO 8061 (гггг-мм-дд)
Employee.EMailПочтовый адрес сотрудника
Employee.ExtensionРасширение данных сотрудника, предоставленное кадровой системой (без наследования)
Employee.GetManagerIdПолучение руководителя ближайшего по иерархии подразделения кроме тех подразделений, которыми руководит указанный работник
Employee.GetDirectManagerIdПолучение текущего руководителя работника
Employee.Division.IdИдентификатор подразделения сотрудника
Employee.Division.ExternalIdИдентификатор подразделения сотрудника в кадровой системе
Employee.Division.ManagerIdИдентификатор руководителя подразделения
Employee.Division.NameНазвание подразделения сотрудника
Employee.Division.ParentСсылка на родительское подразделения (рекурсивная)
Employee.Division.GetFullName()Получение полного названия подразделения в формате DN (в качестве OU берутся либо первые 64 символа названия подразделения, либо значение Extension.OU)
Employee.Division.GetFullNameExplicit(bool ignoreMissing = false)Получение полного названия подразделения в формате DN без вывода OU из названий подразделений (в качестве OU берётся только значение Extension.OU, при ignoreMissing=True, если хотя бы одно значение не заполнено, возвращается None, иначе компонент DN пропускается)
Employee.Division.GetPath()

Получение списка подразделений на пути к этому подразделению начиная от корневого и заканчивая текущим.

Примечание. Employee.Division.GetPath()[0] всегда корневое
Employee.Division.ExtensionРасширение данных подразделения, предоставленное кадровой системой (без наследования)
Employee.Position.IdИдентификатор должности сотрудника
Employee.Position.NameНазвание должности сотрудника
AccountУчётная запись, для которой генерируются параметры
GetManagerReferenceПолучение имени учётной записи менеджера по указанному идентификатору в текущем ресурсе. Неоднозначность разрешается за счёт выбора первой зарегистрированной учётной записи
GetEmployeeIdByExternalIdПолучение ссылки на сотрудника, полученной из кадровой системы
GetOwnedAccountInResourceПолучение имени учетной записи текущего сотрудника в произвольном ресурсе
GetUsedAccountInResourceПолучение имени учетной записи текущего сотрудника или совместителя в произвольном ресурсе
TransliterateТранслитерация значения

Приложение B. Сценарий генерации учетной записи юнита

ПараметрОписание
UnitЮнит, для которого вырабатывается логин
Unit.IdИдентификатор юнита
Unit.NameИмя юнита
Unit.ParentIdИдентификатор родителя юнита
Unit.DisableIdentityОтключена авторизация
Unit.PathПуть к юниту
Unit.TypeТип юнита
Unit.PropertiesРасширенные свойства юнита
Unit.LinksСсылки юнита
Unit.ResponsiblesОтветственные юнита
Unit.AssignmentsНазначение сотрудников юнита
Unit.ChildrenДочерние юниты
AccountУчётная запись, для которой генерируются параметры
GetOwnedAccountInResourceПолучение имени учетной записи текущего сотрудника в произвольном ресурсе
GetUsedAccountInResourceПолучение имени учетной записи текущего сотрудника или совместителя в произвольном ресурсе
TransliterateФункция транслитерации значения

Приложение C. Сценарий генерации логина сотрудника

ПараметрОписание
ResourceId 

Идентификатор ресурса, для которого выполняется сценарий.

Целочисленный тип

OwnedAccounts 

Учётные записи во всех ресурсах, которыми владеет сотрудник в данный момент.

Массив типа LoginGenerationScopeOwnedAccount.

Содержит ResourceId (целочисленный тип) и Login(строковый тип)

UsedAccounts

Учётные записи во всех ресурсах, которыми пользуется сотрудник в данный момент.

Массив типа LoginGenerationScopeOwnedAccount.

Содержит ResourceId (целочисленный тип) и Login(строковый тип)

NoTranslit()

Указание не применять транслитерацию к возвращаемому значению.

Функция, на вход которой передается результат сценария генерация логина

UniquenessChecker.IsLoginUnique(string login, IEnumerable<int> resources)Проверка уникальности для нескольких ресурсов.
Функция, на вход которой передается логин и список идентификаторов ресурсов
EmployeeСотрудник, для которого генерируется логин
Employee.IdИдентификатор сотрудника
Employee.FirstNameИмя сотрудника
Employee.LastNameФамилия сотрудника
Employee.PatronymicОтчество сотрудника
Employee.ExternalIdИдентификатор сотрудника в кадровой системе
Employee.PersonIdИдентификатор физического лица в кадровой системе
Employee.PersonnelNumberТабельный номер сотрудника
Employee.BirthDateДата рождения в формате ISO 8061 (гггг-мм-дд)
Employee.EMailПочтовый адрес сотрудника
Employee.ExtensionРасширение данных сотрудника, предоставленное кадровой системой (без наследования)
Employee.GetManagerIdПолучение руководителя ближайшего по иерархии подразделения кроме тех подразделений, которыми руководит указанный работник
Employee.GetDirectManagerIdПолучение текущего руководителя работника
Employee.Division.IdИдентификатор подразделения сотрудника
Employee.Division.ExternalIdИдентификатор подразделения сотрудника в кадровой системе
Employee.Division.ManagerIdИдентификатор руководителя подразделения
Employee.Division.NameНазвание подразделения сотрудника
Employee.Division.ParentСсылка на родительское подразделения (рекурсивная)
Employee.Division.GetFullName()    Получение полного названия подразделения в формате DN (в качестве OU берутся либо первые 64 символа названия подразделения, либо значение Extension.OU)
Employee.Division.GetFullNameExplicit(bool ignoreMissing = false)Получение полного названия подразделения в формате DN без вывода OU из названий подразделений (в качестве OU берётся только значение Extension.OU, при ignoreMissing=True, если хотя бы одно значение не заполнено, возвращается None, иначе компонент DN пропускается)
Employee.Division.GetPath()

Получение списка подразделений на пути к этому подразделению начиная от корневого и заканчивая текущим.

Employee.Division.GetPath()[0] всегда корневое
Employee.Division.ExtensionРасширение данных подразделения, предоставленное кадровой системой (без наследования)
Employee.Position.IdИдентификатор должности сотрудника
Employee.Position.NameНазвание должности сотрудника

Приложение D. Сценарий генерации логина юнита

ПараметрОписание
ResourceId  Идентификатор ресурса, для которого выполняется сценарий.
Целочисленный тип
OwnedAccounts 

Учётные записи во всех ресурсах, которыми владеет сотрудник в данный момент.
Массив типа LoginGenerationScopeOwnedAccount.

Содержит ResourceId (целочисленный тип) и Login(строковый тип)

UsedAccounts

Учётные записи во всех ресурсах, которыми пользуется сотрудник в данный момент.
Массив типа LoginGenerationScopeOwnedAccount.

Содержит ResourceId (целочисленный тип) и Login(строковый тип)

NoTranslit()Указание не применять транслитерацию к возвращаемому значению.
Функция, на вход которой передается результат сценария генерация логина
UniquenessChecker.IsLoginUnique(string login, IEnumerable<int> resources)Проверка уникальности для нескольких ресурсов
Функция, на вход которой передается логин и список идентификаторов ресурсов
UnitЮнит, для которого вырабатывается логин
Unit.IdИдентификатор юнита
Unit.NameИмя юнита
Unit.ParentIdИдентификатор родителя юнита
Unit.DisableIdentityОтключена авторизация
Unit.PathПуть к юниту
Unit.TypeТип юнита
Unit.PropertiesРасширенные свойства юнита
Unit.LinksСсылки юнита
Unit.ResponsiblesОтветственные юнита
Unit.AssignmentsНазначение сотрудников юнита
Unit.ChildrenДочерние юниты



Обсуждение