Общие сведения
На текущей странице приведены сведения об изменениях версий системы Avanpost IDM.
Все выпуски
Avanpost IDM 7.8.4 - 18.04.26
Функциональные изменения
Планировщики
- Добавлен планировщик "Кластерный поиск активных незарегистрированных учётных записей". Планировщик на каждый ресурс создает отдельную задачу, которые распределённо выполняются узлами кластера.
Функции и api
- Доработана функция IdmWebClient.Certificates.AddCertificate(object ownerId, CertificateScriptModel certificate), теперь она возвращает созданный сертификат.
- Добавлена функция IdmWebClient.Roles.GetRoleViews(string unitId, int roleId, bool recursive) получения дерева всех родительских ролей.
- В сценарии генерации атрибутов УЗ добавлена функция GetUnitById(string unitId) получения юнита по идентификатору.
- В сценарии генерации атрибутов УЗ добавлена функция GetAccountsWhereShadowPropertyEquals(int resourceId, string propertyName, string value) поиска УЗ с заданным значением свойства в ресурсе. Поиск осуществляется по теневой копии.
- Добавлено хранение отчётов, сформированных с помощью дополнительных плагинов-источников. Сформированные отчёты сохраняются в БД в сжатом виде и выгружаются с данными, полученными на момент формирования.
Функции безопасности
- Добавлено событие безопасности смены пароля в зависимых ресурсах: CreateResourceAccountNewPasswordEvent. События смены/отказа изменения пароля будут отображаться в интерфейсе администратора в журнале "События системы".
Нефункциональные изменения
- В запросы документов по идентификатору с вложенными коллекциями добавлен метод AsSplitQuery с целью оптимизации выполнения запросов.
- Библиотека интерфейса обновлена до Angular v21.
Avanpost IDM 7.8.3 - 03.04.26
Функциональные изменения
Планировщики
- Добавлен планировщик "Кластерный поиск активных незарегистрированных учётных записей". Планировщик на каждый ресурс создает отдельную задачу, которая распределяется и обрабатывается отдельным узлом, благодаря чему достигается оптимизация времени выполнения поиска.
Синхронизация паролей
- В перехватчик паролей были добавлены новые параметры в конфигурацию appsettings.json для избежания коллизий.
- При установке IfChanged: true останавливается обработка события AccountPasswordChanged, если пароль, полученный из Active Directory, совпадает с паролем в IDM.
- При установке PropagateOnly: true пароль распространяется по зависимым ресурсам, но не применяется к текущему ресурсу в IDM.
Функции и api
- Добавлена новая функция IdmWebClient.Accounts.ChangeAccountProfile(int resourceId, string login, int profileId) для изменения профиля учетной записи.
Avanpost IDM 7.8.2 - 22.03.26
Функциональные изменения
Аутентификация
Реализован режим работы аутентификации только через OpenID Connect, без подключения к LDAP. Требуется в файле конфигурации отключить секцию "realms" в "auth" и включить "idp" секцию. Также можно настроить ограничение по количеству запросов в минуту в секции "idp" через параметры "MaxRequestsPerMinute" и "RequestQueueLimit".
Аудит
- В интерфейсе групповой обработки незарегистрированных УЗ добавлен чекбокс "Пересчитать значения свойств". При проставлении данного чекбокса, во время привязки УЗ к сотрудникам, свойства УЗ будут рассчитаны в соответствии с шаблоном и сохранены в IDM. Это необходимо для избежания расхождения свойств УЗ в ресурсе и IDM.
Заявки
- Расширен контекст исполнения скриптов валидации заявок. Добавлена возможность чтения приложенных к заявке файлов.
Коннекторы
- Реализован новый интерфейс IObjectRightsChanger, позволяющий выполнять пакетное изменение объектных прав в коннекторе: назначение и отзыв.
- Добавлен контроль целостности данных в коннекторе BuiltinConnectorIGA при использовании IGA в качестве ресурса. Поддерживается контроль изменений в таблицах SystemUsers и SystemRoles (создание, обновление).
- В кадровый коннектор добавлен опциональный интерфейс IHrChangesProvider для реализации поддержки дельта-синхронизации с кадровым источником.
- Реализован отдельный коннектор ActiveDirectory.ContactsDecorator.ProvisioningConnector для работы с контактами Active Directory. Данный коннектор будет работать напрямую с контактами, не затрагивая УЗ.
- Добавлена возможность использовать идентификатор УЗ, генерируемый в управляемой системе. Система сама будет создавать и присваивать идентификатор УЗ, а коннектор - забирать и использовать готовый. Имя и идентификатор УЗ разделены, в карточку УЗ добавлено предупреждение о расхождении имени УЗ в ресурсе и IDM. В аудит добавлен новый тип расхождения - "Переименовывание УЗ".
- Доработан стандартный коннектор LDAP. Добавлены функции создания групп пользователей и переключения между домен-контроллерами с целью повышения отказоустойчивости.
Обработка событий
- Добавлено событие изменения статуса сотрудника EmployeeStatusChangedContextEvent. Событие публикуется при любом изменении статуса сотрудника.
- Отключен пересчет ролей юнита при изменении перечня ответственных.
Отчётность
- Для отчётов "Роли субъектов авторизации", "Субъекты авторизации с заданным правом (выбор юнитов через выражение)", "Субъекты авторизации с заданным правом" добавлена настройка ограничения максимального количества записей в отчёте. По умолчанию ограничение 100.000 записей.
Планировщики
- В параметры планировщика "Синхронизация глобальных прав, ресурс -> IDM" добавлен чекбокс "Записывать дату синхронизации права в БД". При включении данного параметра в БД будет храниться дата последнего запуска синхронизации глобальных прав и обновляться каждый раз при запуске планировщика.
- Добавлен планировщик "Применение политик назначения ролей". В случае, если отключено автоматическое применение политик, можно настроить планировщик, применяющий организационные и/или атрибутивные политики по требованию. В настройках планировщика доступен предпросмотр изменений. Политики применяются только на сотрудников.
- В планировщике "Синхронизация данных, кадровая система -> IDM" добавлены новые параметры настройки разрушающих изменений. При включении параметра "Использовать нестандартную конфигурацию разрушительности изменений" доступен выбор конкретных типов изменений, которые будут считаться разрушающими. Если данный параметр выключен, все внесённые изменения игнорируются и поведение по умолчанию сохраняется: разрушающими будут являться все изменения, кроме приёма сотрудника на работу.
Редактор скриптов
- В Python добавлена поддержка библиотеки random, за исключением альтернативных генераторов, соответствующей данной документации: https://docs.python.org/2.7/library/random.html
- Расширен контекст выполнения для скриптов генерации пароля и валидации. Добавлена возможность обращаться к конфигурациям.
- Реализовано определение путей загрузки дополнительных модулей во всех типах скриптов.
Ресурсы
- В интерфейсе администратора в карточку ресурса добавлена вкладка "Очередь", отображающая очередь запросов к данному ресурсу. Список запросов поделён по типам: Чтение/Запись и статусам: Все/Завершено/В очереди. В случае возникновения сбоев по иконке "..." доступна функция перезапуска очереди.
Сертификаты
Добавлен сервис учёта сертификатов аналогично тому, что было в IDM6.
- В карточки сотрудников и юнитов добавлена вкладка "Сертификаты", позволяющая управлять списком сертификатов конкретного субъекта (Просматривать/Добавлять/Удалять). Управление сертификатами доступно при наличии привилегий "Администратор"/"Редактирование кадровых данных"/"Просмотр кадровых данных".
- Добавлены компоненты для управления сертификатами посредством заявок:
- pki assign certificate - назначение сертификатов пользователям
- pki revoke certificate - отзыв сертификатов у пользователей
- Добавлены функции управления сертификатами из скриптов:
- IdmWebClient.Certificates.AddCertificate(object ownerId, CertificateScriptModel certificate) - Добавление сертификата субъекту авторизации
- IdmWebClient.Certificates.DeleteCertificate(object ownerId, object certificateId) - Удаление сертификата у субъекта авторизации
- IdmWebClient.Certificates.GetCertificates(object ownerId) - Получение сертификатов субъекта авторизации
- IdmWebClient.Certificates.ReadCertificateFromData(byte[] content) - Чтение сертификата из данных
- IdmWebClient.Certificates.ReadCertificateFromBase64(string base64Content) - Чтение сертификата из строки base64
- IdmWebClient.Certificates.ReadCertificateFromX509(X509Certificate2 certificate) - Чтение сертификата из сертификата x509
- В сценарии генерации свойств УЗ добавлены функции получения сертификатов в формате IList<certificateScriptModel>:
- GetCertificates() - Функция для получения сертификатов текущего субъекта авторизации (сотрудника или юнита).
- GetCertificatesByOwner(ownerId) - Функция для получения сертификатов произвольного субъекта авторизации(сотрудника или юнита).
Учётные записи
- Для объектов типа "Учетная запись" добавлен функционал ссылок на объекты. К УЗ можно привязывать все типы объектов, в том числе сотрудников, не являющихся владельцами УЗ. При изменении ссылок УЗ будет создаваться задача пересчёта свойств УЗ. В скрипты генерации свойств УЗ добавлены новые функции получения списка всех ссылок, имеющихся у текущей УЗ, GetUserLinks и получения списка всех ссылок на текущую УЗ у других объектов системы GetUserReverseLinks().
- Реализовано получение из кадрового коннектора данных о сотрудниках, планирующихся к приёму.
- В конфигурацию добавлена настройка 'employeeDraftIdentityEnabled':true. При проставлении значения true будет доступно назначение ролей учётным записям в статусе "Черновик".
- Реализована настройка аватаров пользователей:
- Источники и порядок загрузки из них можно настроить в интерфейсе администратора в разделе "Прочее". Доступные источники: LDAP/Кадровый источник. Также управление аватарами доступно с помощью методов GET/PUT api/v1/avtar/sources.
- Добавлен интерфейс IAvatarSourceProvider для настройки синхронизации с источниками.
- В кадровый планировщик добавлен чекбокс "Синхронизировать фотографии сотрудников". При включении чекбокса во время работы планировщика фотографии также будут синхронизироваться с источниками в указанном порядке.
- Добавлены новые функции получения фотографий сотрудника из источника: IdmWebClient.Users.GetUserPhoto(userId) в редакторе скриптов и GetEmployeePhoto() в сценариях генерации свойств УЗ.
- Добавлены новые кадровые события: Добавлена/Обновлена/Удалена фотография. Каждое из них запускает пересчет свойств УЗ.
- Добавлена обработка события EmployeePhotoChangedContextEvents изменения фотографии сотрудника.
- В карточке УЗ на вкладке "Роли" добавлена более подробная информация: для каждой роли отображаются наименование, состояние (назначенные, отключенные, отозванные) и версия.
Функции и api
- Добавлена функция IdmWebClient.RestartChangeRoleTask(int taskId) перезапуска задач изменения ролей пользователя с сохранением текущего идентификатора задачи.
- Добавлена функция GetUserRolesAssignedWithError(id), позволяющая получить список ролей, назначенных указанному сотруднику с ошибкой в ресурсе.
- Добавлены функции проверки уникальности УЗ. Данные функции доступны в скриптах в разделе IdmWebClient.Accounts и в сценариях генерации имён в разделе UniquenessChecker:
- Добавлена функция IsGloballyUniqueProperty(property, value, type) проверки уникальности свойств по теневой копии, где type тип сравнения. Доступны следующие значения: 'equal', 'startwith', 'contains', 'endwith'. По умолчанию используется 'equal'.
- Добавлена функция IsGloballyUnique(login, type) для проверки уникальности имени по таблице AccounShadowCopy, которую следует инициализировать с помощью планировщика поиска незарегистрированных УЗ. Удаление УЗ в IDM больше не приводит к очистке AccounShadowCopy.
- В существующий метод UniquenessChecker.IsLoginUnique(login, resources, includeDeleted) добавлен дополнительный параметр includeDeleted, обеспечивающий включение удаленных учетных записей в проверку.
- В раздел функций скриптов IdmWebClient.RoleCatalogs добавлена функция SetRoleCatalogUid(int catalogId, string uid), позволяющая задать UID каталога ролей. Также UID добавлен в уже существующие функции данного раздела для работы с каталогами ролей.
- В метод json.dumps(obj, sort=True) добавлена поддержка сортировки вложенных словарей и списков. По умолчанию параметр имеет значение sort=False.
- Добавлен новый параметр calculateRisk в функцию IdmWebClient.Accounts.GetAccountsByLogin('IIvanov', calculateRisk=False) для получения списка рисков. Для оптимизации выполнения скриптов риски не рассчитываются по умолчанию функциями получения УЗ.
- В сценарии профиля роли добавлена возможность указать ресурс объектного права в функции AddObjectRight(string uri, string rightId, string rightName, int resourceId).
- В сценарии генерации свойств УЗ добавлена функция поиска УЗ заданного владельца GetAccountsByOwner(object ownerId, int resourceId, int profileId). Обязательный идентификатор субъекта ownerId может быть передан в виде числового id/строкового guid/типизированного Guid.
- В раздел IdmWebClient.RolePolicies. добавлены новые функции для управления организационными политиками из скриптов:
- CreateOrganizationPolicy(string name, string description) - Создать организационную политику
- EditOrganizationPolicyBindings(int id, IList<RoleBindingScriptModel> bindingSet) - Редактировать привязки у организационной политики
- EditOrganizationPolicy(int id, string name, string description) - Редактировать организационную политику
- CreateRoleBindingRule() - Создать правила ролевой политики
- GetPolicyById(object Id) - Получить организационную политику
- Доработано api/v1/resources/id обновления существующего ресурса. Реализована возможность обновления передаваемых свойств в процессе работы, а также добавления в ресурс существующих общих профилей в случае их отсутствия.
- Добавлена функция перечисления ролей УЗ Filters.RoleIdmWebClient.Accounts.EnumerateAccountRoles(AccountRoleFilter, AccountFilter, RoleFilter). С помощью данного метода можно получить роли конкретной УЗ.
- Добавлена функция Documents.BuildAssignRevokeRoleBlank(docType, formType, subjectEmployeeId), позволяющая создавать заявки на смену роли из скриптов.
- В сценарии генерации атрибутов учётной записи юнита добавлена функция GetEmployeeById для получения дополнительных свойств сотрудника в ресурсе по логину УЗ.
- В сценарии генерации свойств УЗ добавлена функция GetAccountsLinkedTo(linkTypeName, destinationId) для поиска УЗ в профиле ресурса через ссылки на роли. Таким образом поиск будет затрагивать меньше ресурсов.
- В функцию IdmWebClient.Audit.EnumerateWrongPropertiesModifications добавлена поддержка фильтрации. При вызове функции можно передать выражение фильтрации, что позволяет получать только те события, которые соответствуют заданным условиям.
- Добавлена функция IdmWebClient.Roles.SearchRolesByRights(int resourceId, string rightId, IList<int> catalogIds = null) для поиска ролей по идентификатору права и ресурса. При необходимости также доступна необязательная фильтрация по каталогу. Данный метод поможет избежать проблем, связанных с переименовыванием права, и всегда находить уже созданные роли для права в ресурсе.
- Добавлена новая функция IdmWebClient.Roles.Profiles.GetRoleProfileContentResource(int roleId, int profileId, int? resourceId = null) для вычисления текущего списка ресурсов согласно политике сценария содержимого статического профиля роли.
- Добавлен отзыв всех обоснования ролей сразу.
- Доработаны задачи отзыва ролей с субъекта. При указании имени конкретной УЗ, роли будут отозваны только у этой УЗ, а не с самого сотрудника.
Функции безопасности
- Добавлены события безопасности установки и удаления свойств сотрудника: EmployeePropertiesDeleteEvent и EmployeeMultiplePropertiesSetEvent. При изменении свойств сотрудника, данные события будут отображаться в интерфейсе администратора в журнале "События системы".
Устранение уязвимостей
- Добавлена проверка наличия достаточных прав при обращении через GET-запрос во избежание несогласованного доступа к истории обработки заявок на уровне API.
Исправление ошибок
- Исправлена ошибка исчезновения сотрудников, прикреплённых к неактивным подразделениям. При попытке удалить подразделение, в котором есть сотрудники, будет выведена ошибка.
- Исправлена ошибка потери данных, возникающая при выполнении одновременно нескольких команд изменений атрибутов роли.
Нефункциональные изменения
- Оптимизирована обработка задач AccountRoleTask в кластере.
Avanpost IDM 7.8.1 - 10.12.25
Функциональные изменения
Аудит
- При удалении ресурса все связанные расхождения, сохранённые в аудите, автоматически помечаются как обработанные. События о закрытии расхождений в этом случае публиковаться не будут.
- Добавлена возможность привязывать роли-кандидаты на назначение к событиям обнаружения избыточных прав на УЗ в аудите. В пользовательском интерфейсе в журнале аудита реализовано групповое назначение ролей-кандидатов УЗ при условии, что найден ровно один кандидат.
- В интерфейсе администратора доработаны настройки свойств в шаблоне УЗ:
- Добавлен чекбокс "Значение свойства не учитывать в аудите". При включении чекбокса изменения выбранного свойства перестают отображаться в истории аудита УЗ из этого шаблона.
- Добавлен чекбокс "Значение свойства не отображать в карточке УЗ". При включении чекбокса выбранное свойство перестает отображаться в УЗ из этого шаблона.
- Добавлен чекбокс "Окончательное значение свойства определяется ресурсом, шаблон приходит из Idm". При включении чексбокса перед сохранением в БД это свойство будет рассчитываться в ресурсе.
Бизнес-процессы
- В историю БП добавлена информация о запущенных подпроцессах с возможностью перехода в историю запущенного экземпляра.
Заявки
- Доработан тип заявки "Отзыв роли у пользователей". Реализован выбор нескольких работников в одной заявке.
- Для форм с компонентами hiring и change employee properties добавлено создание новой должности. Функцию можно включить с помощью чекбокса "Разрешить создание". При вводе названия новой должности будут отображаться подсказки из существующих должностей, источник которых можно выбрать в поле "Список должностей": Все/Ручной выбор/Скрипт.
- В интерфейсе администратора в настройках компонента заявки на предоставление роли сотруднику добавлен параметр "Примечания при создании задачи на изменение ролей", позволяющий выбрать Обязательно/Не обязательно.
- В интерфейсе согласования реализована групповая обработка задач. Доступны все имеющиеся общие действия. Если общих действий нет - отображается сообщение "Нет доступных групповых действий". Обработка нескольких задач одновременно возможна при следующих условиях:
- Действие должно присутствовать в каждой задач.
- Действие должно быть простым (без дополнительных параметров).
- Для задач в рамках одной заявки без ограничений по параметрам.
- Для компонентов hiring и change employee properties в настройках компонента заявки добавлен выбор скрипта определения доступности подразделений. Данный скрипт вычисляет доступные подразделения и выводит их список при создании заявки.
Конфигурация
- Реализована настройка максимального числа попыток отправки email-уведомлений. При превышении количества попыток, сообщения будут переходить в статус Error.
Обработка событий
- Добавлена обработка событий DepartmentRenamedContextEvent - переименование подразделения в ОШС и PositionRenamedContextEvent – переименование должности.
Отчётность
- Доработан отчёт "Права учетных записей". Добавлена возможность работы с атрибутивными правами.
Ролевая модель
- Добавлен ввод примечания при назначении роли оператором без заявки. Примечание сохраняется в основании и передаётся в системное логирование в составе события назначения роли.
- Изменены правила формирования динамических профилей:
- Роль с динамическим профилем не может быть родительской или наследоваться от другой роли. В родительскую роль/роль-наследника также нельзя добавить динамический профиль.
- Нельзя добавить больше одного динамического профиля в роль.
- В модель роли добавлен Uid. Для установки Uid роли используется функция IdmWebClient.Roles.CreateSetRoleUidCommand(int roleId, string uid).
- В интерфейсе пользователя в истории изменения роли добавлен переход к связанному с событием процессу/заявке по ссылке.
Синхронизация с доверенными источниками
- Вкладка "Флаги обработки кадровых событий" переименована в "Параметры обработки событий". Добавлено поле с описанием. Добавлены новые параметры обработки кадровых событий:
- "Игнорировать политики" - при активации данного параметра доступы по политикам назначения ролей не выдаются и не отзываются.
- "Игнорировать изменения при синхронизации кадровой системы" - при активации данного параметра все кадровые изменения для сотрудника игнорируются, события не публикуются.
- В интерфейсе администратора в планировщик "Синхронизация данных, кадровая система -> IDM" добавлен "Дополнительный параметр в строку подключения". Это позволяет передавать в коннектор дополнительные аргументы из планировщика.
Функции и api
- Добавлена функция SelfServiceClient.Vr.CreateVrUserExpressionBuilder для поиска пользователей виртуальных ресурсов по фильтру.
- В библиотеку API коннекторов добавлена фабрика IProvisioningConnectorFactory для асинхронного создания коннекторов.
- Добавлены функции для управления должностями:
- FindPositionsByName(string positionName, bool wholeWord) - Поиск должности по названию. С помощью параметра wholeWord задается строгий поиск по полному совпадению названия.
- GetAllPositions() - Получение списка всех должностей.
- GetDepartmentPositions(int departmentId, bool getFromChildrenDepartments) - Получение списка должностей заданного подразделения. При указании getFromChildrenDepartments = true поиск идёт в указанном и его дочерних подразделениях.
- GetDepartmentPositionsByExternalId(string departmentExternalId, bool getFromChildrenDepartments) - Получение спика должностей заданного подразделения по внешнему ID.
- Функция IdmWebClient.GetUsersByDepartment(int divisionId, bool recursive) по умолчанию ставит recursive = false и возвращает сотрудников только из запрошенного подразделения.
- В функцию IdmWebClient.Accounts.ChangePassword добавлен флаг propagateOnly. По умолчанию сохраняется старое поведение с propagateOnly = False.
- propagateOnly = False - Обновление пароля в ресурсе. В случае успеха пароль также обновляется у записи в Idm и у всех зависимых учётных записей.
- propagateOnly = True - Обновить пароль у записи в Idm, а также пароли всех зависимых учётных записей. Для ресурса никаких действий не выполняется.
- Добавлена функция SelfServiceClient.Documents.CreateBlank(string formType, string docType) для упрощения создания заявки заданного типа с помощью скриптов.
- В сценарии генерации атрибутов учетной записи сотрудника добавлена функция GetAccountName(string externalEmployeeId, int resourceId, int profileId) для получения имени учетной записи по идентификаторам ресурса, профиля ресурса и сотрудника. Если указанный сотрудник существует, и у него есть аккаунт в соответствующем ресурсе/профиле, то будет возвращено имя аккаунта.
- Коннектор к виртуальным ресурсам реализован как встроенный и осуществляет взаимодействие непосредственно с базой данных IGA. Подключение требует меньшего количества настроек, а работа отличается повышенной скоростью и надежностью.
Функции безопасности
- Добавлена поддержка внутренней аутентификации по логину и паролю, хранящемуся в зашифрованном виде в БД IDM. Настройка осуществляется вручную в файле конфигурации. Добавлена консольная команда установки пароля администратора для первого входа.
- Реализована очередь задач на синхронизацию паролей между системами для избежания возникновения ошибок и потери данных при смене пароля в недоступных ресурсах. Если ресурс временно недоступен, изменения будут применены после восстановления его работы.
- В интерфейсе администратора добавлено отображение количества доступных, использованных и свободных лицензий. Если лицензии отсутствуют, будет возвращаться ошибка "Продукт не лицензирован".
- В процессе аудита добавлена синхронизация свойств УЗ в теневую копию. Копия обновляется каждый раз, когда обновляется информация об УЗ (при синхронизации с ресурсом и обновлении УЗ через скрипты или UI). Для незарегистрированных УЗ при запуске планировщика поиска незарегистрированных УЗ происходит проверка изменений свойств УЗ в ресурсе, все найденные изменения сохраняются в теневую копию. Затем происходит проверка расхождений между IDM и обновлённой теневой копией, найденные расхождения сохраняются в аудит. Сохранённые свойства незарегистрированных УЗ используются для построения кастомных отчётов и в новых методах проверки уникальности УЗ.
Устранение уязвимостей
Для защиты паролей сертификатов сервиса коннектора от злоумышленников:
Усилена парольная политика при генерации пароля сертификата.
Для безопасности пароль будет доступен пользователю только 1 раз при генерации.
- Реализована настройка, позволяющая отключить телеметрию метрик с целью предотвращения раскрытия внешним пользователям информации о версиях используемого программного обеспечения.
- Усилена проверка наличия у пользователя прав на изменение пароля указанной учетной записи в целях защиты от несанкционированной смены пароля посредством API.
- С помощью усиления контроля доступов пользователей исправлены следующие уязвимости авторизации:
- Добавление произвольных пользователей к произвольным заявкам.
- Редактирование привилегий произвольных пользователей через api интерфейса администратора.
- Установка роли "Куратор" произвольному пользователю.
- Получение доступа к чужим заявкам.
- Назначение себя замещающим для произвольного сотрудника.
- В целях избежания утечки идентификаторов пользователей и имён УЗ в домене Active Directory:
- Пользователям, без необходимых прав для получения информации о сотрудниках, ограничен доступ к функционалу, оперирующему идентификаторами этих сотрудников.
- Информация об идентификаторах пользователей в веб-приложениях убрана из ответа сервера.
- Добавлена настройка, отключающая выполнение несохранённых скриптов, в целях защиты системы от несанкционированного доступа к данным посредством выполнения произвольных скриптов.
Исправление ошибок
- Исправлена ошибка дублирования БП при повторном приёме сотрудника на работу.
- Восстановлена работа службы для синхронизации пароля с Active Directory.
Нефункциональные изменения
- Добавлена встроенная поддержка работы с кластером postgresql для служб IGA и IDM.