Навигатор по разделу:
Общие сведения
Файл конфигурации содержит основные технические параметры, необходимые для запуска Avanpost IDM и аутентификации в Системе. Файл является универсальным для всех сервисов системы. Сервисы определяют местоположение файла конфигурации, используя значение переменной окружения "IGA_CFG".
IGA_CFG=/opt/avanpost/config/iga.config
Если переменная окружения "IGA_CFG" не задана, сервисы выполняют поиск файла конфигурации "iga.config" в рабочей папке.
Примеры конфигурационного файла "iga.config"
- Пример iga.config для LDAP аутентификации
- Пример iga.config для Kerberos аутентификации
- Пример iga.config для аутентификации через IDP
- Пример iga.config для внутренней аутентификации
{
"licensePath": "/opt/avanpost/config/license.xml",
"connectorsFolder": "/opt/avanpost/connectors",
"serverKey": "/opt/avanpost/config/key",
"employeeDraftIdentityEnabled": true,
"logLevel": "Warning",
"auth": {
"rootUser": "LOCAL\\administrator",
"defaultRealm": "LOCAL",
"realms": {
"LOCAL": {
"type": "LDAP",
"host": "127.0.0.1",
"bindDN": "cn=admin,dc=avanpost,dc=local",
"password": "Avanp0st",
"usersBase": "dc=avanpost,dc=local",
"userNameAttribute": "uid",
"UseSsl": "true",
"Port": 636,
"IgnoreCrtValidation": "false"
}
}
},
"serviceUrl": "http://idm.avanpost.local",
"connectorCommandTimeout": "120",
"connectorCertificateSuppressValidation": "true",
"rpcMessageMaxSizeBytes": 4194304,
"idmServerCertificatePath": "",
"idmServerCertificatePassword": "",
"general": {
"ResourceId": 1,
"EnableDocumentCreateValidators": true
},
"database": {
"connectionString": "host=127.0.0.1;database=idm;username=avanpost;password=Avanp0st",
"providerName": "Postgres",
"schemaName": "public"
},
"archiveDatabase": {
"connectionString": "host=127.0.0.1;database=iga;username=iga;password=Avanp0st;Timeout=300;Command Timeout=60;Maximum Pool Size=50",
"providerName": "Postgres",
"schemaName": "archive2"
},
"smtpclient": {
"host": "localhost",
"username": "Guest@avanpost.ru",
"password": "Guest",
"maxRetryCount": 8
},
"enabledDefaultListeners": {
"OnHire": false,
"OnDismiss": false,
"OnAvailable": false,
"OnUnavailable": false,
"OnEmployeeMoved": false,
"OnEmployeeChanged": true,
"OnUnitEvent": false
},
"dataIntegrity": {
"enabled": true,
"initializing": true
},
"TargetUrls": {
"Admin": "http://adm.avanpost.local",
"User": "http://wf.avanpost.local",
"Registration": "http://reg.avanpost.local"
},
"experimental": {
"enableResourceSessions": true,
"enabledRoleDynamicPolicyClustering": true
},
"enableRequestLog": false,
"enableResourceLog": false,
"workers": {
"hrEvents": 12,
"hrEventsBatchSize": 100000,
"role": 12,
"accountsMaxActive": 12,
"resourceLoaders": 1,
"resourceAccountTasks": 12,
"resourcesMaxActive": 12,
"enableRolePropertyUpdateObserver": false
},
"eventsQueue": {
"MaxEventsPerSecond": 20000,
"MaxActiveProcesses": 1000,
"ActiveProcessDuration": 30
},
"enableSwagger": true,
"licenseValue": "base64-value",
"serverKeyValue": "base64-value",
"cookieLifetimeHours": 4,
"ensureSuccessPropertyChange": false,
"personalDataAgreementPath": "",
"AFlow": {
"Executors": 4,
"Persistent": {
"Writers": 2
},
"ScriptLogLevel": "Debug"
},
"maxRequestBodySizeBytes": 30000000,
"rolesAssignPolicies": {
"enabled": true,
"onHrEvents": true,
"onUnitEvents": true,
"onChange": true
},
"accountAutoLocking": {
"enabled": true,
"onHrEvents": true
},
"accountPropertyUpdating": {
"enabled": true,
"onHrEvents": true,
"onRoleRevoked": true,
"onRoleAssigned": true,
"ensureSuccess": true
}
}
{
"licensePath" : "/opt/avanpost/config/license.xml",
"connectorsFolder":"/opt/avanpost/connectors",
"serverKey": "/opt/avanpost/config/key",
"employeeDraftIdentityEnabled": true,
"logLevel":"Warning",
"auth": {
"rootUser":"LOCAL\\administrator",
"defaultRealm": "LOCAL",
"realms": {
"LOCAL": {
"type": "LDAP",
"host": "127.0.0.1",
"bindDN": "cn=admin,dc=avanpost,dc=local",
"password": "Avanp0st",
"usersBase": "dc=avanpost,dc=local",
"userNameAttribute": "uid"
}
}
},
"kerberos": {
"KeytabPath": "/opt/avanpost/web_host.keytab",
"DisableAdminHost": false,
"Aliases": {
"avanpost.local": "LOCAL"
}
},
"serviceUrl": "http://idm.avanpost.local",
"connectorCommandTimeout": "120",
"connectorCertificateSuppressValidation": "true",
"rpcMessageMaxSizeBytes": 4194304,
"idmServerCertificatePath": "",
"idmServerCertificatePassword": "",
"general": {
"ResourceId": 1,
"EnableDocumentCreateValidators": true,
},
"database": {
"connectionString": "host=127.0.0.1;database=idm;username=avanpost;password=Avanp0st",
"providerName": "Postgres",
"schemaName": "public"
},
"archiveDatabase": {
"connectionString": "host=127.0.0.1;database=iga;username=iga;password=Avanp0st;Timeout=300;Command Timeout=60;Maximum Pool Size=50",
"providerName": "Postgres",
"schemaName": "archive2"
},
"smtpclient": {
"host": "localhost",
"username": "Guest@avanpost.ru",
"password": "Guest",
"maxRetryCount":8
},
"enabledDefaultListeners": {
"OnHire": false,
"OnDismiss": false,
"OnAvailable": false,
"OnUnavailable": false,
"OnEmployeeMoved": false,
"OnEmployeeChanged": true,
"OnUnitEvent": false
},
"dataIntegrity": {
"enabled": true,
"initializing": true
},
"TargetUrls": {
"Admin": "http://adm.avanpost.local",
"User": "http://wf.avanpost.local",
"Registration": "http://reg.avanpost.local"
},
"experimental": {
"enableResourceSessions": true,
"enabledRoleDynamicPolicyClustering": true
},
"enableRequestLog": false,
"enableResourceLog": false,
"workers": {
"hrEvents": 12,
"hrEventsBatchSize": 100000,
"role": 12,
"accountsMaxActive": 12,
"resourceLoaders": 1,
"resourceAccountTasks": 12,
"resourcesMaxActive": 12,
"enableRolePropertyUpdateObserver": false
},
"eventsQueue": {
"MaxEventsPerSecond": 20000,
"MaxActiveProcesses": 1000,
"ActiveProcessDuration": 30
},
"enableSwagger": true,
"licenseValue": "base64-value",
"serverKeyValue": "base64-value",
"cookieLifetimeHours": 4,
"ensureSuccessPropertyChange": false,
"personalDataAgreementPath": "",
"AFlow":{
"Executors": 4,
"Persistent":{
"Writers": 2
},
"ScriptLogLevel" : "Debug"
},
"maxRequestBodySizeBytes": 30000000,
"rolesAssignPolicies": {
"enabled": true,
"onHrEvents": true,
"onUnitEvents": true,
"onChange": true,
},
"accountAutoLocking {
"enabled": true,
"onHrEvents": true,
},
"accountPropertyUpdating": {
"enabled": true,
"onHrEvents": true,
"onRoleRevoked: true,
"onRoleAssigned": true,
"ensureSuccess": true,
}
}
{
"licensePath" : "/opt/avanpost/config/license.xml",
"connectorsFolder":"/opt/avanpost/connectors",
"serverKey": "/opt/avanpost/config/key",
"employeeDraftIdentityEnabled": true,
"logLevel":"Warning",
"auth": {
"rootUser":"LOCAL\\administrator",
"defaultRealm": "LOCAL",
"realms": {}
},
"idp": {
"DiscoveryUrl": "http://idp.avanpost.local/.well-known/openid-configuration",
"Client": {
"CallBackAddress": "http://wf.avanpost.local",
"Id": "0c2c095c-e2e5-4d73-b3f0-440cfc9e948a",
"Secret": "Avanp0st"
},
"Admin": {
"CallBackAddress": "http://adm.avanpost.local",
"Id": "0c2c095c-e2e5-4d73-b3f0-440cfc9e948a",
"Secret": "Avanp0st"
},
"BackendClient": {
"Id": "",
"Secret": "",
"UserName": "",
"Password": ""
},
"NameClaimType": "preferred_username",
"ValidateEndpoints": "true",
"RequestQueueLimit": 100,
"MaxRequestsPerMinute": 100
},
"serviceUrl": "http://idm.avanpost.local",
"connectorCommandTimeout": "120",
"connectorCertificateSuppressValidation": "true",
"rpcMessageMaxSizeBytes": 4194304,
"idmServerCertificatePath": "",
"idmServerCertificatePassword": "",
"general": {
"ResourceId": 1,
"EnableDocumentCreateValidators": true,
},
"database": {
"connectionString": "host=127.0.0.1;database=idm;username=avanpost;password=Avanp0st",
"providerName": "Postgres",
"schemaName": "public"
},
"archiveDatabase": {
"connectionString": "host=127.0.0.1;database=iga;username=iga;password=Avanp0st;Timeout=300;Command Timeout=60;Maximum Pool Size=50",
"providerName": "Postgres",
"schemaName": "archive2"
},
"smtpclient": {
"host": "localhost",
"username": "Guest@avanpost.ru",
"password": "Guest",
"maxRetryCount":8
},
"enabledDefaultListeners": {
"OnHire": false,
"OnDismiss": false,
"OnAvailable": false,
"OnUnavailable": false,
"OnEmployeeMoved": false,
"OnEmployeeChanged": true,
"OnUnitEvent": false
},
"dataIntegrity": {
"enabled": true,
"initializing": true
},
"TargetUrls": {
"Admin": "http://adm.avanpost.local",
"User": "http://wf.avanpost.local",
"Registration": "http://reg.avanpost.local"
},
"experimental": {
"enableResourceSessions": true,
"enabledRoleDynamicPolicyClustering": true
},
"enableRequestLog": false,
"enableResourceLog": false,
"workers": {
"hrEvents": 12,
"hrEventsBatchSize": 100000,
"role": 12,
"accountsMaxActive": 12,
"resourceLoaders": 1,
"resourceAccountTasks": 12,
"resourcesMaxActive": 12,
"enableRolePropertyUpdateObserver": false
},
"eventsQueue": {
"MaxEventsPerSecond": 20000,
"MaxActiveProcesses": 1000,
"ActiveProcessDuration": 30
},
"enableSwagger": true,
"licenseValue": "base64-value",
"serverKeyValue": "base64-value",
"cookieLifetimeHours": 4,
"ensureSuccessPropertyChange": false,
"personalDataAgreementPath": "",
"AFlow":{
"Executors": 4,
"Persistent":{
"Writers": 2
},
"ScriptLogLevel" : "Debug"
},
"maxRequestBodySizeBytes": 30000000,
"rolesAssignPolicies": {
"enabled": true,
"onHrEvents": true,
"onUnitEvents": true,
"onChange": true,
},
"accountAutoLocking {
"enabled": true,
"onHrEvents": true,
},
"accountPropertyUpdating": {
"enabled": true,
"onHrEvents": true,
"onRoleRevoked: true,
"onRoleAssigned": true,
"ensureSuccess": true,
}
}
{
"licensePath" : "/opt/avanpost/config/license.xml",
"connectorsFolder":"/opt/avanpost/connectors",
"serverKey": "/opt/avanpost/config/key",
"employeeDraftIdentityEnabled": true,
"logLevel":"Warning",
"auth": {
"rootUser": "LOCAL\\idm",
"defaultRealm": "LOCAL",
"realms": {
"LOCAL": {
"type": "Internal"
}
}
},
...
}
Для первичной установки пароля администратора при использовании внутренней аутентификации требуется:
- Остановить сервис "iga.service".
systemctl stop iga.service
- В файл "
/etc/systemd/system/iga.service" добавить в конец строки "ExecStart=/usr/bin/dotnet /opt/avanpost/idm/web/Avanpost.Idm.Selfservice.WebHost.dll" параметр "--adm-pwd="somepassword"". Вместо"somepassword"требуется подставить произвольный пароль для администратора.ExecStart=/usr/bin/dotnet /opt/avanpost/idm/web/Avanpost.Idm.Selfservice.WebHost.dll --adm-pwd="somepassword"
- Обновить конфигурацию и запустить сервис "iga.service".
sudo systemctl reload-daemon sudo systemctl start iga.service
Сервис будет остановлен исключением.
- Убрать из файла "
/etc/systemd/system/iga.service" ранее добавленный параметр "--adm-pwd="somepassword"". - Обновить конфигурацию и запустить сервис "
iga.service".sudo systemctl reload-daemon sudo systemctl start iga.service
Описание параметров конфигурационного файла "iga.config"
Параметр | Описание |
|---|---|
licensePath | Путь к лицензионному файлу |
connectorsFolder | Путь к каталогу с локально размещаемыми коннекторами |
serverKey | Ключ шифрования секретов |
logLevel | Уровень логирования журнала интеграции с ресурсами |
| Возможность назначения ролей сотрудникам со статусом "Черновик" |
auth | Секция настроек LDAP-аутентификации |
| Пользователь с правами корневого администратора. Realm пользователя должен быть добавлен в список в параметре "realms" в секции "auth". |
| Домен по умолчанию |
| Перечень доменов, пользователи которых могут аутентифицироваться в системе |
serviceUrl | URL сервиса IDM для обращения сервисов коннекторов в обратном режиме взаимодействия |
connectorCommandTimeout | Тайм-аут операции коннектора при выполнении через сервис коннекторов, устанавливается в секундах |
connectorCertificateSuppressValidation | Отключение валидации сертификатов серверов коннекторов |
rpcMessageMaxSizeBytes | Максимальный размер кластерного сообщения в байтах |
idmServerCertificatePath | Путь к pfx-файлу с сертификатом сервиса коннекторов Avanpost IDM. Используется для настройки обратного режима подключения удаленного сервиса коннекторов. |
idmServerCertificatePassword | Пароль от pfx-файла с сертификатом сервиса коннекторов Avanpost IDM. Используется для настройки обратного режима подключения удаленного сервиса коннекторов. |
general | Секция общих настроек |
| Идентификатор ресурса, по учетным записям которого выполняется поиск карточек сотрудников для аутентифицированного пользователя |
| Включение выполнение скрипта валидации документа на стороне сервера при создании |
database | Секция настройки базы данных |
| Строка подключения к БД в формате соответствующего провайдера ADO.Net |
| Провайдер для работы с БД |
| Имя схемы БД. Может быть задано любое допустимое имя схемы |
archiveDatabase | Секция настройки архивной базы данных |
| Строка подключения к архивной БД в формате соответствующего провайдера ADO.Net |
| Провайдер для работы с БД |
| Имя схемы БД. Может быть задано любое допустимое имя схемы |
smtpclient | Секция настройки подключения к SMTP-серверу |
| Имя или IP-адрес SMTP-сервера |
| Имя технологической учетной записи |
| Пароль технологической учетной записи |
| Максимальное количество попыток на повторную отправку уведомлений. При значении "0" очередь на отправку уведомлений при недоступности ресурса не будет создаваться |
enabledDefaultListeners | Секция параметров включения встроенных кадровых обработчиков |
| При значении |
| При значении |
| При значении |
| При значении |
| При значении "false" обработка кадровых переводов сотрудников будет возможна только с помощью бизнес-процессов. |
| При значении "false" обработка изменений свойств сотрудников будет возможна только с помощью бизнес-процессов. |
| При значении |
| При значении |
| При значении |
| При значении |
| При значении |
dataIntegrity | Секция настроек контроля несанкционированного доступа (НСД) к БД |
| Включение или отключение НСД |
| Разрешение инициализации контрольных сумм записей НСД при их отсутствии |
kerberos | Секция настроек прозрачной аутентификации |
| Путь к файлу keytab |
| Отключение Kerberos аутентификации для веб-интерфейса администратора Avanpost IDM |
| Список синонимов доменных имен. Должен соответствовать значениям realms из секции Auth. Заполняется при расхождении полного имени домена с realm |
idp | Секция настроек аутентификации через IdP по стандарту OpenID Connect |
| URL для получения метаданных IdP |
| Настройки клиента для взаимодействия с IdP |
| URL для перенаправления пользователя после аутентификации |
| Идентификатор клиента в системе IdP |
| Секрет для аутентификации клиента |
| Настройки администратора для взаимодействия с IdP |
| URL для перенаправления администратора после аутентификации |
| Идентификатор администратора в IdP |
| Секрет для аутентификации администратора |
| Настройки для клиента, взаимодействующего с сервером |
| Идентификатор клиента |
| Секрет для аутентификации клиента |
| Имя пользователя для аутентификации |
| Пароль для аутентификации |
| Тип утверждения, который используется для идентификации имени пользователя в токене аутентификации |
| Валидация конечных точек |
| Максимальное количество запросов к OAuth в очереди |
| Максимальное количество запросов к OAuth в минуту |
TargetUrls | Перечень URI опубликованных интерфейсов, используется для подстановки в шаблонах уведомлений |
| URL для администратора |
| URL для пользователя |
| URL для регистрации |
experimental | Секция экспериментальных настроек |
| Режим выделенных сессий коннекторов |
| Режим кластерного обновления динамических политик ресурсов |
| Включение логирования запросов действий администраторов |
| Включение логирования ошибок запросов к ресурсам |
| Секция настроек параметров обработки фоновых задач |
| Количество потоков обработки кадровых событий |
| Количество кадровых событий в пакете |
| Количество потоков обработки ролевых событий |
| Количество потоков обработки задач УЗ |
| Количество потоков загрузчиков ресурсов |
| Количество потоков обработки задач блокировки УЗ |
| Количество потоков обработки задач ресурсов |
| Включение или отключение обработчика событий изменения свойств роли |
eventsQueue | Секция настроек очереди обработки внешних событий |
| Ограничение максимального количество событий в секунду |
| Максимальное число процессов, которые могут быть одновременно активны в системе |
| Ожидаемое время активной фазы работы процесса, выраженное в секундах |
enableSwagger | Флаг для отключения swagger. |
licenseValue | Лицензия Avanpost IDM в формате base64. Используется для хранения лицензии в Vault |
serverKeyValue | Ключ Avanpost IDM в формате base64. Используется для хранения ключа в Vault |
cookieLifetimeHours | Время жизни маркера авторизации пользователя в Системе, выраженное в часах. После истечения времени требуется повторная авторизация |
ensureSuccessPropertyChange | Флаг. Используется при обработке кадровых событий изменения свойств сотрудника При значении |
personalDataAgreementPath | Путь к файлу соглашения о персональных данных. Используется в модуле "Приглашение к регистрации" |
AFlow | Секция настроек AFlow |
| Количество потоков для выполнения бизнес процессов |
| Настройки Persistent |
| Количество потоков записи в базу данных рабочей информации безнес процессов |
| Уровень логирования по умолчанию при выполнении скриптов в бизнес-процессах |
maxRequestBodySizeBytes | Максимальный размер запроса для Kestrel |
| Секция настроек включения и отключения выполнения политик назначения ролей |
| Флаг для включения и отключения выполнения всех политик назначения ролей. При значении |
| Флаг для включения и отключения назначения ролей только при обработке кадровых событий. При значении |
| Флаг для включения и отключения назначения ролей только при обработке событий юнитов. При значении |
| Флаг для включения и отключения назначения ролей только при создании и изменении организационных и атрибутивных политик. При значении |
| Секция настроек включения и отключения работы автоматической блокировки и разблокировки УЗ |
| Флаг для включения и отключения работы автоматической блокировки и разблокировки УЗ. При значении |
| Флаг для включения и отключения работы автоматической блокировки и разблокировки УЗ только при обработке кадровых событий. При значении |
| Секция настроек включения и отключения работы автоматического пересчёта свойств УЗ |
| Флаг для включения и отключения работы автоматического пересчёта свойств УЗ. При значении |
| Флаг для включения и отключения работы автоматического пересчёта свойств УЗ только при обработке кадровых событий. При значении |
| Флаг для включения и отключения работы автоматического пересчёта свойств УЗ только при отзыве ролей, у которых параметр "Создавать уникальные УЗ" имеет значение |
| Флаг для включения и отключения работы автоматического пересчёта свойств УЗ только при назначении ролей, у которых параметр "Создавать уникальные УЗ" имеет значение |
| Флаг управления количеством возможных попыток обновления значений свойств. При значении При значении |
| Секция настроек аудита |
| Флаг для включения или отключения проверки имени (переименования) УЗ при аудите.
|
| Работа аудита только по правам в ролях IDM (зарегистрированных в IDM):
|
resourceCommandQueue | Секция автоматической отмены команд, стоящих в очереди |
|
|