База знаний FAM/MFA+ : 10.1 Спецификация конфигурационного файла config.toml.default компонента Avanpost FAM Server

Общие сведения

Конфигурационный файл config.toml.default является шаблоном предварительных значений параметров конфигурации для запуска Системы.

Основной конфигурационный файл службы Avanpost FAM Server config.toml , расположенный по умолчанию по пути /opt/idp/config.toml .

В случае если есть параметры, определённые в переменных окружения (ENV) – приоритет отдаётся значению, определённому в переменных окружения.

Пример конфигурационного файла config.toml.default

baseUrl = 'http://idp.avanpost.local'
cert = '/home/idp/.idp/cert.pem'
encryptionKey = 'key.dat'
issuer = 'idp.avanpost.local'
privateKey = '/home/idp/.idp/key.pem'
publicPath = 'public/'
backgroundTasks = false

#[kerberos]
#keytab = "/path/to/keytab"
#serviceAccountName = "accountname"
#requireHostAddr = true

[adminconsole]
baseUrl = 'http://idp.avanpost.local
#path = 'admin'
dir = './webui/adm/dist'
runAsService = false
host = 'localhost'
port = 4012

[cryptoprovider]
pathToCProCspDir = '/opt/cprocsp/bin/amd64'

[cryptoprovider.certToUserLink]
certSubjectRdnOid = '1.2.643.100.3'
userAttributeName = 'snils'

[database]
connectionString = 'postgres://avanpost:Passw0rd@localhost/idp?sslmode=disable'
driver = 'pgx'

[grpcServer]
ensureToken = false
host = 'localhost'
network = 'tcp'
port = 9007
useTls = false

[lk]
idleTimeoutInMinutes = 50
#path = 'lk'

[metrics]
host = 'localhost'
port = 9089

[payControlConfig]
active = false
apiUrl = 'https://stable.paycontrol.org/api4/pc/pc-api'
callbackUrl = ''
systemId = 'system-id-hash'

[qrsigninConfig]
skipPassword = false

[radiusServer]
address = ':1812'
secret = 'server_secret'

[restorePassword]
emulatedUsers = 32
emulationEnable = false
emulationFactors = []
throttleOn = false

[reverseproxyServer]
host = 'localhost'
port = 4010

[selfregistration]
redirectUrl = ''

[server]
host = 'localhost'
port = 4008

[session]
lifetimeInMinutes = 60
maxCountPerUser = 5

#[telegram]
#accessToken = 'TELEGRAM_TOKEN'
#authLifeTimeSeconds = 60
#inlineBindingEnable = true
#listenerGetUpdatesTimeout = 60
#senderTimeoutMilliSeconds = 1
#verificationLifeTimeInSeconds = 60

[templates]
localization = 'public/templates/localization'
oauth2_error_template = 'public/templates/oauth2-error-response.html'
oauth2_form_post_template = 'public/templates/oauth2-formpost-response.html'
saml_response = 'public/templates/saml-response.html'
templates = 'public/templates/default'

[user_providers]

[usernameBlacklistPolicy]
active = false
blacklistDefaultDurationDays = '365'

Описание параметров конфигурационного файла config.toml.default

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

baseUrl

Базовый URL Системы

cert

Путь к сертификату, который будет использоваться в Системе

encryptionKey

Путь к файлу ключа шифрования

issuer

Идентификатор системы (автора токена) при выдаче токенов подтверждения личности

privateKey

Путь к закрытому ключу, который будет использоваться в Системе

publicPath

Путь к публичной директории, где располагаются публичные ресурсы (статические файлы и шаблоны)

backgroundTasks

Флаг, указывающий, должны ли выполняться фоновые задачи в Системе

[kerberos]

(секция параметров для настройки Kerberos-аутентификации)

keytab

Путь к файлу keytab, который содержит ключи аутентификации Kerberos

serviceAccountName

Определяет имя УЗ службы, которая используется для представления приложения в системе

requireHostAddr

Флаг, указывающий, требуется ли при аутентификации использовать IP-адрес хоста.

Если значение установлено в true , при аутентификации требуется совпадение IP-адреса хоста, с которого выполняется запрос, с зарегистрированным IP-адресом в Kerberos.

[adminconsole]

baseUrl

Базовый URL административной консоли

path

Необязательный параметр.

Установить для определения подпути относительно текущего домена.

dir

Директория хранения файлов пользовательского интерфейса административной консоли

runAsService

Флаг определяет, будет ли административная консоль запущена как отдельный сервис с отдельным URL-адресом (true) или будет запущена вместе с основным приложением и доступна по тому же URL-адресу (false).

Для работы административной консоли в качестве отдельной службы значение ' baseUrl' не должно совпадать с базовым URL Системы.


host

Хост (адрес) для административной консоли

port

Порт, на котором работает административная консоль

[cryptoprovider]

pathToCProCspDir

Путь к директории с установленным криптопровайдером CryptoPro CSP

[cryptoprovider.certToUserLink]
certSubjectRdnOid

OID (Идентификатор объекта) для RDN (Именованный дескриптор) сертификата пользователя

userAttributeName

Имя атрибута пользователя, который будет использоваться при связывании сертификата с пользователем

[database]
connectionString

Строка подключения к базе данных PostgreSQL

driver

Драйвер базы данных

[grpcServer]
ensureToken

Флаг, указывающий, должен ли запрос на gRPC сервере содержать токен

host

Хост (адрес) для gRPC-сервера

network

Сеть для gRPC-сервера

port

Порт, на котором работает gRPC-сервер

useTls

Флаг, указывающий, следует ли использовать TLS для защищенного соединения

[lk]
idleTimeoutInMinutes

Промежуток времени бездействия (в минутах), после которого пользователь будет отключен от личного кабинета

path

Необязательный параметр.

Установить для определения подпути относительно текущего домена.

[metrics]
host

Хост (адрес) для метрик

port

Порт, на котором доступны метрики

[payControlConfig]
active

Флаг, указывающий, активна ли интеграция с сервисом PayControl

apiUrl

URL-адрес API сервиса PayControl

callbackUrl

URL-адрес обратного вызова

systemId

Идентификатор системы для сервиса PayControl

[qrsigninConfig]
skipPassword

Флаг, указывающий, можно ли использовать вход по QR-коду без пароля

[radiusServer]
address

Адрес и порт сервера RADIUS

secret

Секрет для сервера RADIUS

[restorePassword]
emulatedUsers

Количество эмулируемых пользователей для восстановления пароля

emulationEnable

Флаг, указывающий, включить ли эмуляцию для восстановления пароля

emulationFactors

Факторы эмуляции для восстановления пароля

throttleOn

Флаг, указывающий, включить ли ограничение степени использования восстановления пароля

[reverseproxyServer]
host

Хост (адрес) для обратного прокси-сервера

port

Порт, на котором работает обратный прокси-сервер

[selfregistration]
redirectUrl

URL-адрес перенаправления после самостоятельной регистрации пользователя

[server]
host

Хост (адрес) сервера

port

Порт, на работает сервер

[session]
lifetimeInMinutes

Продолжительность жизни сессии пользователя в минутах

maxCountPerUser

Максимальное количество сессий для одного пользователя

[telegram]
accessToken

Токен доступа Telegram, который используется для аутентификации и авторизации при взаимодействии с Telegram API

authLifeTimeSeconds

Время жизни авторизации в секундах, которое определяет, сколько времени пользователю разрешено оставаться авторизованным, не выполняя повторную аутентификацию

inlineBindingEnable

Флаг, указывающий, разрешено ли использование inline-привязки в Telegram для процесса аутентификации

listenerGetUpdatesTimeout

Время ожидания (в секундах) для получения Системой обновлений от Telegram-бота

senderTimeoutMilliSeconds

Время ожидания (в миллисекундах) для отправки сообщений

verificationLifeTimeInSeconds Время жизни верификации в секундах, которое определяет, сколько времени есть у пользователя на подтверждение операции
[templates]
localization

Путь к директории с шаблонами локализации

oauth2_error_template

Путь к шаблону ошибки OAuth2

oauth2_form_post_template

Путь к шаблону формы ответа OAuth2 для метода POST

saml_response

Путь к шаблону ответа SAML

templates

Путь к папке с шаблонами по умолчанию

[user_providers]
[usernameBlacklistPolicy]
active

Флаг, указывающий, активна ли политика блокировки имен пользователей

blacklistDefaultDurationDays

Стандартная длительность блокировки имен пользователей