Avanpost FAM/MFA+ : 4.3.8. Установка Avanpost FAM SelfService в ОС Linux

При наличии нескольких экземпляров Avanpost FAM возможно реализовать общий личный кабинет на основе опроса этих экземпляров. В данной статье рассмотрен вопрос настройки данного механизма посредством использования компонента SelfService.

К моменту осуществления настройки должны быть выполнены следующие требования:

  • В сети существуют несколько экземпляров Avanpost FAM для настройки, далее именуемые соответственно FAM1, FAM2 и т.д.
  • Выполнена синхронизация времени в ОС с сервером синхронизации времени.

Установка и настройка

  1. Скачать и распаковать на рабочую машину актуальную версию SelfService из репозитория, далее по инструкции будет использован путь /opt/idp/newlk.
  2. Открыть конфигурационный файл настроек из корня папки с SelfService. Изменить при необходимости параметры, настроив их под собственную конфигурацию и используя Таблицу 1.

Пример настройки конфигурационного файла:

baseUrl = 'http://IP-адрес машины SelfService:4009'      
cert = '/opt/idp/cert.pem'			     
public_dir = 'public/'

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

[lk]
callbackUrl = 'http://IP-адрес машины SelfService:4009/callback'   
issuer = 'cert.issuer.host'
baseUrl = 'http://IP-адрес машины SelfService:4009'			    
authority = 'https://FAM1.apidp.ru'			    
port = 4009
path = '/'
idleTimeoutInMinutes = 50
dir = './public/spa'
clientId = 'remote-lk'							    
natsTimeoutSec = 5								    

[nats]
embedded = true
connection = ''
serverCfgFile = ''

[cluster]
enabled = true

[cluster.self]
id = 'test1'								   	 	

[[cluster.nodes]]
id = 'test2' 								   	 	

[[cluster.nodes]] 
id = 'test3'                                        

Таблица 1. Параметры настройки конфигурационного файла SelfService

ПараметрЗначение
baseUrl
Адрес baseUrl, по которому выполняется запрос к системе
cert
Расположение (путь) файла cert.pem основного экземпляра FAM
portПорт, используемый для соединения с SelfService
callbackUrl
URL callback, который используется при возврате с FAM после выполнения аутентификации
authority
Адрес FAM1
clientId
clientId приложения Личного кабинета
natsTimeoutSec
Время ожидания ответа от экземпляров FAM1 и других экземпляров, в секундах
id
Произвольные уникальные ID для экземпляра FAM

3. Для настройки FAM1 открыть конфигурационный файл config.json (config.toml для Avanpost FAM 1.8+), расположенный по умолчанию по пути /opt/idp/config.toml, любым доступным в системе текстовым редактором. В коде ниже использован текстовый редактор vi. 

vi /opt/idp/config.toml

Далее следует добавить приведенные ниже строки в секцию lk, указав в параметре webauthnOrigin IP-адрес машины SelfService и через двоеточие порт, используемый для соединения:

[lk]
webauthnOrigin = 'http://IP-адрес машины SelfService:4009' 
runAs = 'nats'

Добавить ниже следующие разделы, указав в параметре connection адрес baseUrl, по которому выполняется запрос к системе, и через двоеточие порт, используемый для соединения nats (по умолчанию 4222), а в параметре id уникальный идентификатор FAM1:

[nats]
connection = 'Адрес baseUrl, по которому выполняется запрос к системе:4222'		     

[cluster]
enabled = true

[cluster.self]
id = 'test1' 								    

4. Для настройки FAM2 и последующих экземпляров открыть конфигурационный файл config.json (config.toml для Avanpost FAM 1.8+), расположенный по умолчанию по пути /opt/idp/config.toml, любым доступным в системе текстовым редактором. В коде ниже использован текстовый редактор vi. 

vi /opt/idp/config.toml

Далее следует добавить приведенные ниже строки в секцию lk:

[lk]
runAs = 'nats'

Добавить ниже следующие разделы, указав в параметре connection адрес baseUrl, по которому выполняется запрос к системе, и через двоеточие порт, используемый для соединения nats (по умолчанию 4222), а в параметре id уникальный идентификатор FAM2:

[nats]
connection = 'Адрес baseUrl, по которому выполняется запрос к системе:4222'		        

[cluster]
enabled = true

[cluster.self]
id = 'test2' 								     

5. Открыть административную консоль FAM1 и создать приложение (Приложения - Добавить приложение) типа OAuth/OpenID Connect.

В Настройках интеграции приложения следует указать Client ID, baseUrl, Redirect URls и Backchannel-logout, согласно примеру ниже, использовав собственные настройки из конфигурационного файла SelfService.



6. Из консоли машины с FAM1 запустить приложение SelfService следующей командой:

cd /opt/newlk/
SSO_CFG=/opt/newlk/config.lk.toml ./lk_linux_amd64

Проверка настройки

  1. Для проверки корректности настройки сервиса следует открыть в браузере адрес http://адрес baseUrl, по которому выполняется запрос к системе:4009/.
  2. Удостовериться, что открывается личный кабинет.





Обсуждение