Навигатор по разделу:
- Приложение А. Сценарий генерации учетной записи сотрудника
- Приложение B. Сценарий генерации учетной записи юнита
- Приложение C. Сценарий генерации логина учетной записи сотрудника
- Приложение D. Сценарий генерации логина учетной записи юнита
- Приложение E. Параметры Role
- Приложение F. Параметры Employee
- Приложение G. Параметры Unit
Приложение А. Сценарий генерации учетной записи сотрудника
Сценарий генерации учетной записи сотрудника позволяет заполнять определённые свойства учетных записей, создаваемых в IDM, данными из кадровой системы и обновлять эти значения при изменении кадровых данных. Значения этих свойств не должны быть каким-либо образом связаны с управлением доступом. Примеры подходящих свойств: "Имя", "Почтовый адрес", "Должность", "Номер телефона" и т. п.
Employee.Division.Name + Resource.CatalogId + '_' + Resource.Name
Transliterate(str.format('{0}@some_prefix',Employee.LastName))
Значения свойств определяются одиночными выражениями, выполняющимися в контексте:
Параметр | Описание |
---|---|
ProfileId | Идентификатор профиля учетной записи, для которой генерируются параметры. Целочисленный тип. |
ResourceId | Идентификатор ресурса учетной записи. Целочисленный тип. |
Resource | Ресурс учетной записи, для которой генерируются параметры. Свойство типа ScriptResource. |
Resource.Id | Идентификатор ресурса учетной записи. Целочисленный тип. |
Resource.CatalogId | Идентификатор каталога ресурса учетной записи. Целочисленный тип. |
Resource.Name | Название ресурса учетной записи. Строковый тип. |
Resource.Properties | Расширенные свойства ресурса учетной записи. Массив с парами значений string - ExtendedPropertyValueScriptMode.
|
AccountName | Имя учетной записи, для которой генерируются параметры. Строковый тип. |
Account | Учётная запись, для которой генерируются параметры. Свойство типа GeneratorNewAccount. |
Account.SetProperty(string propertyId, string propertyValue, | Функция для установки значения свойства учётной записи по имени. Повторные вызовы для того же свойства заменяют предыдущие его значения. |
Account.Merge(InitialAccountParameters accountParameters) | Функция для добавления содержимого текущего экземпляра в роль учётной записи. |
GetAccountRoles() | Функция для получения назначенных ролей на УЗ. Возвращает список объектов ScriptRole. |
GetAccountInProfile() | Функция для получения учетной записи со свойствами в профиле ресурса. Возвращает объект ScriptAccount, в который включены свойства. |
GetAccountsWherePropertyContains(resourceId, propertyName, value) | Функция для получения учетных записей, свойства которых содержат заданное значение. Принимает на вход идентификатор ресурса, имя свойства и значение для свойства. |
GetAccountsWhereNameContains(accountNamePart, resourceId) | Функция для получения учетных записей, имя которых содержит заданное значение. Принимает на вход значение для поиска и идентификатор ресурса. |
GetAccountsWhereNameEqual(accountName, resourceId) | Функция для получения учетных записей, имя которых совпадает с заданным значением. Принимает на вход значение для поиска и идентификатор ресурса. |
GetAccountsInProfile() | Функция для получения учетных записей со свойствами в профиле ресурса. Возвращает массив объектов ScriptAccount, в который включены свойства. |
Transliterate(string str) | Функция применения транслитерации к возвращаемому значению. |
GetOwnedAccountInResource(resourceId) | Функция для получения имени учетной записи текущего сотрудника в произвольном ресурсе. Принимает на вход идентификатор ресурса. |
GetUsedAccountInResource(resourceId) | Функция для получения имени учетной записи текущего сотрудника или совместителя в произвольном ресурсе. Принимает на вход идентификатор ресурса. |
GetManagerReference() | Функция для получения имени учётной записи менеджера сотрудника по указанному идентификатору в текущем ресурсе. Используется для установки ссылки на менеджера учётной записи в ActiveDirectory. Неоднозначность разрешается за счёт выбора первой зарегистрированной учётной записи. |
GetEmployeeAccount(employeeId) | Функция для получения имени учётной записи произвольного сотрудника в текущем ресурсе и профиле. Принимает на вход идентификатор сотрудника. |
GetEmployeeIdByExternalId(externalId) | Функция для разрешения ссылки на сотрудника, полученной из кадровой системы. Принимает на вход идентификатор сотрудника во внешнем источнике. |
Debug | Вспомогательные средства отладки. Свойство типа ScriptDebug. |
Debug.Print(string text) | Функция вывода отладочной информации. |
Configuration | Конфигурация. Свойство типа ICustomConfigurationReadonlyFunctions. Подробнее о конфигурациях см. статью "9.2. Конфигурации" руководства по разработке. |
Configuration.GetConfigurationValueOrDefault(string sectionName, string key) | Функция получения значения конфигурации. Принимает на вход название секции и ключ конфигурации. |
Configuration.GetConfigurationValues(string sectionName) | Функция получения всех значений конфигураций в секции. Принимает на вход название секции. |
Employee | Сотрудник, для которого генерируется учетная запись. Свойство типа ScriptEmployee. Параметры Employee см. в приложении. |
Приложение B. Сценарий генерации учетной записи юнита
Сценарий генерации учетной записи юнита позволяет заполнять определённые свойства УЗ, создаваемые в IDM, данными из кадровой системы юнитов и обновлять эти значения при изменении кадровых данных. Значения этих свойств не должны быть каким-либо образом связаны с управлением доступом. Примеры подходящих свойств: "Имя юнита", "Тип юнита", "Ответственный за юнит", и т. п.
Unit.Name + Unit.Path + '_' + Unit.Type
Transliterate(str.format('{0}@some_prefix',Unit.Name))
Значения свойств определяются одиночными выражениями, выполняющимися в контексте:
Параметр | Описание |
---|---|
ProfileId | Идентификатор профиля учетной записи, для которой генерируются параметры. Целочисленный тип. |
ResourceId | Идентификатор ресурса учетной записи. Целочисленный тип. |
Resource | Ресурс учетной записи, для которой генерируются параметры. Свойство типа ScriptResource. |
Resource.Id | Идентификатор ресурса учетной записи. Целочисленный тип. |
Resource.CatalogId | Идентификатор каталога ресурса учетной записи. Целочисленный тип. |
Resource.Name | Название ресурса учетной записи. Строковый тип. |
Resource.Properties | Расширенные свойства ресурса учетной записи. Массив с парами значений string - ExtendedPropertyValueScriptMode.
|
AccountName | Имя учетной записи, для которой генерируются параметры. Строковый тип. |
Account | Учётная запись, для которой генерируются параметры. Свойство типа GeneratorNewAccount. |
Account.SetProperty(string propertyId, string propertyValue, | Функция для установки значения свойства учётной записи по имени. Повторные вызовы для того же свойства заменяют предыдущие его значения. |
Account.Merge(InitialAccountParameters accountParameters) | Функция для добавления содержимого текущего экземпляра в роль учётной записи. |
GetAccountRoles() | Функция для получения назначенных ролей на УЗ. Возвращает список объектов ScriptRole. |
GetAccountInProfile() | Функция для получения учетной записи со свойствами в профиле ресурса. Возвращает объект ScriptAccount, в который включены свойства. |
GetAccountsWherePropertyContains(resourceId, propertyName, value) | Функция для получения учетных записей, свойства которых содержат заданное значение. Принимает на вход идентификатор ресурса, имя свойства и значение для свойства. |
GetAccountsWhereNameContains(accountNamePart, resourceId) | Функция для получения учетных записей, имя которых содержит заданное значение. Принимает на вход значение для поиска и идентификатор ресурса. |
GetAccountsWhereNameEqual(accountName, resourceId) | Функция для получения учетных записей, имя которых совпадает с заданным значением. Принимает на вход значение для поиска и идентификатор ресурса. |
GetAccountsInProfile() | Функция для получения учетных записей со свойствами в профиле ресурса. Возвращает массив объектов ScriptAccount, в который включены свойства. |
Transliterate(string str) | Функция применения транслитерации к возвращаемому значению. |
GetOwnedAccountInResource(resourceId) | Функция для получения имени учетной записи текущего сотрудника в произвольном ресурсе. Принимает на вход идентификатор ресурса. |
GetUsedAccountInResource(resourceId) | Функция для получения имени учетной записи текущего сотрудника или совместителя в произвольном ресурсе. Принимает на вход идентификатор ресурса. |
GetManagerReference() | Функция для получения имени учётной записи менеджера сотрудника по указанному идентификатору в текущем ресурсе. Используется для установки ссылки на менеджера учётной записи в ActiveDirectory. Неоднозначность разрешается за счёт выбора первой зарегистрированной учётной записи. |
GetEmployeeAccount(employeeId) | Функция для получения имени учётной записи произвольного сотрудника в текущем ресурсе и профиле. Принимает на вход идентификатор сотрудника. |
GetEmployeeIdByExternalId(externalId) | Функция для разрешения ссылки на сотрудника, полученной из кадровой системы. Принимает на вход идентификатор сотрудника во внешнем источнике. |
Debug | Вспомогательные средства отладки. Свойство типа ScriptDebug. |
Debug.Print(string text) | Функция вывода отладочной информации. |
Configuration | Конфигурация. Свойство типа ICustomConfigurationReadonlyFunctions. Подробнее о конфигурациях см. статью "9.2. Конфигурации" руководства по разработке. |
Configuration.GetConfigurationValueOrDefault(string sectionName, string key) | Функция получения значения конфигурации. Принимает на вход название секции и ключ конфигурации. |
Configuration.GetConfigurationValues(string sectionName) | Функция получения всех значений конфигураций в секции. Принимает на вход название секции. |
Unit | Юнит, запись которого генерируется. Свойство типа UnitScriptModel. Параметры Unit см. в приложении. |
Приложение C. Сценарий генерации логина учетной записи сотрудника
Сценарий генерации логина учетной записи сотрудника позволяет генерировать логины учетных записей, создаваемых в IDM, на основании данных из кадровой системы.
Примеры подходящих свойств: "Имя", "Почтовый адрес", "Должность", "Номер телефона" и т. п.
Employee.FirstName + Employee.LastName + '_' + Role.Name
login = str.format('{0}@users',Employee.LastName) if not UniquenessChecker.IsLoginUnique(login, [2]): login = Employee.FirstName + login login
Значения свойств определяются одиночными выражениями, выполняющимися в контексте:
Параметр | Описание |
---|---|
ResourceId | Идентификатор ресурса, для которого выполняется сценарий. Целочисленный тип. |
OwnedAccounts | Учётные записи во всех ресурсах, которыми владеет сотрудник в данный момент.
|
UsedAccounts | Учётные записи во всех ресурсах, которыми пользуется сотрудник или совместитель в данный момент.
|
NoTranslit() | Функция для указания не применять транслитерацию к возвращаемому значению., на вход которой передается результат сценария генерация логина. |
Transliterate(string str) | Функция применения транслитерации к возвращаемому значению., на вход которой передается результат сценария генерация логина. |
UniquenessChecker | Проверка уникальности для нескольких ресурсов. Свойство типа LoginUniquenessChecker. |
UniquenessChecker.IsLoginUnique(string login, IEnumerable<int> resources) | Функция проверки уникальности, на вход которой передается логин и список идентификаторов ресурсов. |
Debug | Вспомогательные средства отладки. Свойство типа ScriptDebug. |
Debug.Print(string text) | Функция вывода отладочной информации. |
Configuration | Конфигурация. Свойство типа ICustomConfigurationReadonlyFunctions. Подробнее о конфигурациях см. статью "9.2. Конфигурации" руководства по разработке. |
Configuration.GetConfigurationValueOrDefault(string sectionName, string key) | Функция получения значения конфигурации. Принимает на вход название секции и ключ конфигурации. |
Configuration.GetConfigurationValues(string sectionName) | Функция получения всех значений конфигураций в секции. Принимает на вход название секции. |
Employee | Сотрудник, для которого генерируется логин. Свойство типа ScriptEmployee. Параметры Employee см. в приложении. |
Role | Роль. Свойство типа ScriptRole. Параметры Role см. в приложении. |
Приложение D. Сценарий генерации логина учетной записи юнита
Сценарий генерации логина учетной записи юнита позволяет генерировать логины учетных записей, создаваемых в IDM, на основании данных из кадровой системы юнитов.
Примеры подходящих свойств: "Имя юнита", "Тип юнита", "Путь к юниту", и т. п.
Unit.Name + Unit.Type + '_' + Role.Name
NoTranslit(str.format('{0}@unit',Unit.Name))
Значения свойств определяются одиночными выражениями, выполняющимися в контексте:
Параметр | Описание |
---|---|
ResourceId | Идентификатор ресурса, для которого выполняется сценарий. Целочисленный тип. |
OwnedAccounts | Учётные записи во всех ресурсах, которыми владеет сотрудник в данный момент.
|
UsedAccounts | Учётные записи во всех ресурсах, которыми пользуется сотрудник в данный момент.
|
NoTranslit() | Функция для указания не применять транслитерацию к возвращаемому значению, на вход которой передается результат сценария генерация логина. |
Transliterate(string str) | Функция применения транслитерации к возвращаемому значению, на вход которой передается результат сценария генерация логина. |
UniquenessChecker | Проверка уникальности для нескольких ресурсов. Свойство типа LoginUniquenessChecker. |
UniquenessChecker.IsLoginUnique(string login, IEnumerable<int> resources) | Функция проверки уникальности, на вход которой передается логин и список идентификаторов ресурсов. |
Debug | Вспомогательные средства отладки. Свойство типа ScriptDebug. |
Debug.Print(string text) | Функция вывода отладочной информации. |
Configuration | Конфигурация. Свойство типа ICustomConfigurationReadonlyFunctions. Подробнее о конфигурациях см. статью "9.2. Конфигурации" руководства по разработке. |
Configuration.GetConfigurationValueOrDefault(string sectionName, string key) | Функция получения значения конфигурации. Принимает на вход название секции и ключ конфигурации. |
Configuration.GetConfigurationValues(string sectionName) | Функция получения всех значений конфигураций в секции. Принимает на вход название секции. |
Unit | Юнит, для которого генерируется логин. Свойство типа UnitScriptModel. Параметры Unit см. в приложении. |
Role | Роль. Свойство типа ScriptRole. Параметры Role см. в приложении. |
Приложение E. Параметры Role
Параметр | Описание |
---|---|
Role.Id | Идентификатор роли. Целочисленный тип. |
Role.Name | Название роли. Строковый тип. |
Role.Properties | Расширенные свойства роли. Массив с парами значений string - ExtendedPropertyValueScriptMode. Данный тип содержит свойства:
|
Приложение F. Параметры Employee
Параметр | Описание |
---|---|
Employee.Id | Идентификатор сотрудника. Целочисленный тип. |
Employee.EMail | Почтовый адрес сотрудника. Строковый тип. |
Employee.FirstName | Имя сотрудника. Строковый тип. |
Employee.LastName | Фамилия сотрудника. Строковый тип. |
Employee.Patronymic | Отчество сотрудника. Строковый тип. |
Employee.PersonnelNumber | Табельный номер сотрудника. Строковый тип. |
Employee.Extension | Расширенные данные сотрудника, предоставленные кадровой системой (без наследования). Свойство типа ExtensionBag. |
Employee.Extension.Properties | Массив свойств сотрудника, предоставленных кадровой системой. |
Employee.BirthDate | Дата рождения в формате ISO 8061 (гггг-мм-дд). Строковый тип. |
Employee.Division | Подразделение сотрудника с ссылкой на родительское подразделение. Свойство типа ScriptDivision. |
Employee.Division.Id | Идентификатор подразделения сотрудника. Целочисленный тип. |
Employee.Division.Name | Название подразделения сотрудника. Строковый тип. |
Employee.Division.Extension | Расширенные данные подразделения, предоставленные кадровой системой (без наследования). Свойство типа ExtensionBag. |
Employee.Division.Extension.Properties | Массив свойств подразделения, предоставленных кадровой системой. |
Employee.Division.Parent | Ссылка на родительское подразделения (рекурсивная). Свойство типа ScriptDivision. |
Employee.Division.ManagerId | Идентификатор руководителя подразделения. Целочисленный тип. |
Employee.Division.ExternalId | Идентификатор подразделения сотрудника в кадровой системе. Строковый тип. |
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.Position | Должность сотрудника. Свойство типа ScriptPosition. |
Employee.Position.Id | Идентификатор должности сотрудника. Целочисленный тип. |
Employee.Position.Name | Название должности сотрудника. Строковый тип. |
Employee.Position.ExternalId | Идентификатор должности сотрудника в кадровой системе. Строковый тип. |
Employee.ExternalId | Идентификатор сотрудника в кадровой системе. Строковый тип. |
Employee.PersonId | Идентификатор физического лица в кадровой системе. Строковый тип. |
Employee.GetManagerId() | Функция для получения идентификатора руководителя ближайшего по иерархии подразделения кроме тех подразделений, которыми руководит указанный работник. |
Employee.GetDirectManagerId() | Функция для получения идентификатора текущего непосредственного руководителя работника. |
Приложение G. Параметры Unit
Параметр | Описание |
---|---|
Unit.Id | Идентификатор юнита. Строковый тип. |
Unit.Name | Имя юнита. Строковый тип. |
Unit.ParentId | Идентификатор родительского юнита. Строковый тип. |
Unit.DisableIdentity | Флаг отключения авторизации. Тип boolean. |
Unit.Path | Путь к юниту. Строковый тип. |
Unit.Type | Тип юнита. Свойство типа UnitType. |
Unit.Type.Id | Идентификатор типа юнита. Тип Guid. |
Unit.Type.Name | Название типа юнита. Строковый тип. |
Unit.Type.AllowAssignments | Флаг разрешения назначения юнитов данного типа сотрудникам. Тип boolean. |
Unit.Type.IsIdentitySubject | Флаг, показывающий, являются ли юниты данного типа субъектами авторизации. Тип boolean. |
Unit.Type.Icon | Иконка типа юнита. Строковый тип. |
Unit.Type.Links | Ссылки на другие типы юнитов. Массив значений типа UnitTypeLink. Данный тип содержит свойства:
|
Unit.Type.Properties | Свойства типа юнитов. Массив значений типа UnitTypeProperty. Данный тип содержит свойства:
|
Unit.Type.Children | Дочерние типы юнитов. Массив значений типа UnitTypeChild. Данный тип содержит свойства:
|
Unit.Properties | Расширенные свойства юнита. Массив с парами значений string - UnitPropertyValueScriptModel. Данный тип содержит свойства:
|
Unit.Links | Ссылки юнита. Массив значений типа UnitLink. Данный тип содержит свойства:
|
Unit.Responsibles | Ответственные за юнит. Массив значений типа UnitEmployeeResponsibleScriptModel. Данный тип содержит свойства:
|
Unit.Assignments | Назначения юнита сотрудникам. Массив значений типа UnitAssignment. Данный тип содержит свойства:
|
Unit.Children | Дочерние юниты. Массив значений типа Unit. Данный тип содержит свойства и методы:
|