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

11.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

[cookie]
path = '/'
secure = false                  
http_only = true						                                                                            
same_site = 'None'
max_age = 2592000

[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]
disabled = true
redirectUrl = ''

[server]
host = 'localhost'
port = 4008

[session]
lifetimeInMinutes = 60
maxCountPerUser = 5
background_verify_expired_sessions = true
background_verify_expired_sessions_interval = "1m"

#[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]

(секция параметров для настройки подключения gRPC-сервера)

ensureToken

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

host

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

network

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

port

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

useTls

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

[lk]

(секция параметров для настройки личного кабинета пользователя)

idleTimeoutInMinutes

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

path

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

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

[metrics]

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

host

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

port

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


    [cookie]

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

path

Путь к директории для хранения файлов

secure

Флаг устанавливается в true в случае использования защищенного соединения (https)

http_only

Флаг устанавливается в true в случае использования незащищенного соединения (http) 

same_site

Если установлено None, то cookie будет отправлено во всех запросах к выдавшему его сайту, даже в тех, которые вызваны не связанными с ним сторонними сайтами

max_age

Время жизни файлов, устанавливается в секундах 

[payControlConfig]

(секция параметров для настройки взаимодействия с сервисом PayControl)

active

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

apiUrl

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

callbackUrl

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

systemId

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

[qrsigninConfig]

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

skipPassword

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

[radiusServer]

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

address

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

secret

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

[restorePassword]

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

emulatedUsers

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

emulationEnable

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

emulationFactors

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

throttleOn

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

[reverseproxyServer]

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

host

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

port

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

[selfregistration]

(секция параметров для настройки параметров регистрации пользователя)

redirectUrl

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

disabled

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

[server]

(секция базовых параметров настройки сервера)

host

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

port

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

[session]

(секция параметров для настройки сессионной пользовательской политики)

lifetimeInMinutes

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

maxCountPerUser

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

background_verify_expired_sessions

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

background_verify_expired_sessions_interval

Время обновления статуса сессии пользователя, в минутах

[telegram]

(секция параметров для настройки взаимодействия с 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

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

Обсуждение