Avanpost FAM/MFA+ : Настройка федерации FAM-FAM

Avanpost FAM обладает функциональностью управления источниками пользователей, включая возможность создания федерации из нескольких экземпляров Avanpost FAM, В данной инструкции описан принцип подключения двух компонентов Avanpost FAM в федерацию. При необходимости инструкцию можно использовать для масштабирования федерации, выполняя настройку для большего количества экземпляров Avanpost FAM по аналогии

Настройка сервера Avanpost FAM

Настройка экземпляра Avanpost, играющего роль сервера, выполняется следующим образом:

  1. Открыть административную консоль серверного узла FAM и зайти во вкладку создания приложения, нажав кнопку "Добавить приложение" режима "Приложения".
  2. На этапе "Основные настройки" требуется ввести наименование и выбрать тип "OAuth/OpenID Connect" (более подробно процесс создания и управления приложениями описан в разделах Управление приложениями и Управление OIDC-приложениями).
  3. На этапе "Настройки интеграции" заполнить указанные поля в соответствии с таблицей (назначение прочих параметров описано в Шаг 2. Настройки интеграции для OIDC-приложений).
    ПараметрЗначение
    SecretПроизвольный секрет, который будет использоваться для подключения к приложению. Должен быть идентичен параметру clientSecret, указываемому в настройках IdP на стороне клиента FAM.
    Redirect URIs

    URL-адрес, на который пользователь будет перенаправлен после успешной аутентификации.

    Параметр устанавливается в формате /extidp/{id}/callback, где extidp – URL внешнего IdP, id - уникальный идентификатор настроенного IdP.

    Base URLURL-адрес, на который пользователь будет перенаправляться при переходе из личного кабинета.
    LogoutURL-адрес, на который пользователь будет перенаправлен после выхода из приложения.
  4. На этапе "Настройки аутентификации" выбрать факторы аутентификации приложения, установив переключатели напротив тех или иных факторов (более подробно описано в Шаг 3. Настройки аутентификации для OIDC-приложения).
  5. На этапе "Завершение" следует сохранить приложение, делая его активным сразу после создания (более подробно в Шаг 4. Завершение для OIDC-приложения).
  6. Войти в профиль созданного OIDC-приложения, нажав на наименование приложения в раздела "Приложения" административной консоли. 
  7. Войти во вкладку "Настройки" профиля приложения и задать следующие параметры (параметры, не указанные в данной инструкции, задавать в соответствии со стандартной настройкой OpenID Сonnect-приложения):
    ПараметрЗначение
    ПубличныйУбрать флаг из чекбокса "Публичный".
    Access Token TypeВыбрать "JSON Web Token".
  8. Создать группу, пользователи которой будет синхронизироваться между узлами федерации. Для этого необходимо нажать кнопку "Добавить группу" в режиме "Группы" и в открывшейся вкладке ввести запрашиваемые параметры (более подробно в разделе Добавление новых групп).
  9. Добавить в группу пользователей, которые будут аутентифицироваться в настроенных приложениях. Ручное добавление пользователей администратором реализуется в профиле группы. Также настройка доступа пользователя к группам и ролям допускается редактировать в УЗ пользователя

  10. Назначить ранее созданное OIDC-приложение в данную группу. Для этого в профиле группы во вкладке "Приложения" созданной группы установить переключатель в положение "Активно" () напротив созданного приложения.

Настройка клиента Avanpost FAM

Настройка экземпляра Avanpost, играющего роль клиента, выполняется следующим образом:

  1. В административной консоли Avanpost FAM Server в разделе "Настройки внешних провайдеров идентификации (IdP)" режима "Сервис" нажать кнопку "Добавить".
  2. На шаге "Основные настройки" задать значения параметров согласно таблице (более подробно о значениях параметров описано в Шаг 1. Основные настройки) и нажать "Далее".
    ПараметрЗначение
    ТипOpenID Connect
    НаименованиеЗадать произвольное наименование.
    Open ID Connect детали
    baseUrl

    Адрес, на который пользователь будет перенаправляться при переходе из личного кабинета (например, fam2.local:4080).

    scope

    Области доступа (например, openid fullname email). Указываются через пробел.

    clientID

    Уникальный идентификатор приложения (например, FAM1FED).

    clientSecretСекрет, который будет использоваться для подключения. Должен соответствовать параметру Secret, настраиваемому шаге 3 настройки серверного узла FAM в данной инструкции.
  3. На шаге "Настройки перенаправления" задать значения параметров согласно таблице (более подробно о значениях параметров описано в Шаг 2. Настройки перенаправления) и нажать "Далее".
    ПараметрЗначение
    URI авторизацииЗадать значение {{ .extidp_details.baseUrl }}/oauth2/authorize
    Метод перенаправленияВыбрать Redirect (рекомендуется).
    Параметры перенаправления
    client_idЗадать {{ .extidp_details.clientID }} для автоматической подстановки значения clientID с прошлого шага.
    redirect_uriЗадать {{ .extidp_request.CallbackURI }} для автоматической подстановки значения CallbackURI на полученное от внешнего IdP.
    response_typecode
    scopeЗадать {{ .extidp_details.scope }} для автоматической подстановки значения scope с прошлого шага.
  4. На шаге "Настройки callback" задать значения раздела "Шаги для получения информации о пользователе" согласно таблице ниже (более подробно о значениях параметров описано в Шаг 3. Настройки callback) и нажать "Далее".
    ШагТип действияАтрибут результатаМетодURLДанныеЗаголовкиНазначение
    1HTTP ЗапросtokenPOST{{ .extidp_details.baseUrl }}/oauth2/token

    Пример настройки: 

    1. Имя: grant_type; Значение:  authorization_code;
    2. Имя: code; Значение:  {{.code}};
    3. Имя: redirect_uri; Значение:  {{.extidp_request.CallbackURI}};
    4. Имя: client_id; Значение:  {{.extidp_details.clientID}};
    5. Имя: client_secret; Значение:  {{.extidp_details.clientSecret}}.
    Не требуются.Запрос и получение маркера доступа от экземпляра FAM, выступающего в роли сервера. В теле запроса Avanpost FAM направляет внешнему провайдеру информацию, содержащуюся в столбце "Данные", и в случае успеха получает Access token.
  5. На шаге  "Настройки callback" задать прочие значения значения согласно таблице ниже.
    ПараметрЗначение
    Маппинг атрибутовИмяЗначение
    Имя{{ .token.access_token.given_name }}
    Фамилия{{ .token.access_token.family_name }}
    Отчество

    Заполнять необязательно. Пример значения:  {{ .token.access_token.middlename }}

    Имя пользователя{{ .token.access_token.preferred_username }}
    Email{{ .token.access_token.email }}
    Телефон

    Заполнять необязательно. Пример значения: {{ .token.access_token.phone }}

    ЯзыкЗаполнять необязательно. Пример значения: {{ .token.access_token.language }}
    Внешний ID{{ .token.id_token.sub }}
    ID запросаstate
    ID Токенtoken.access_token
    ИтераторЗаполнять необязательно.
    Маппинг дополнительных атрибутовМаппинг дополнительных атрибутов осуществляется по аналогии с маппингом основных атрибутов в случае если требуется сопоставить и связать атрибуты, полученные из внешнего IdP и дополнительные атрибуты на стороне клиента. 
    Атрибут привязкиВыбрать атрибут привязки, по которому пользователь на стороне клиента ассоциируется с пользователем на стороне внешнего IdP. По умолчанию выбран атрибут Имя пользователя.
  6. На шаге "Завершение"  задать значения параметров согласно таблицам ниже (более подробно о значениях параметров описано в Шаг 4. Завершение) и нажать "Сохранить".
    ПараметрЗначение
    Настройки интеграции

    Значения переключателей настраиваются в зависимости от потребностей конкретной эксплуатирующей организации. 

    Доступна настройка следующих параметров:

    • Создание пользователей
      • при включенном переключателе () появление нового пользователя на стороне внешнего IdP приводит к автоматическому созданию пользователя на стороне Avanpost FAM (решение о создании принимается в результате поиска по значению атрибута привязки, выбранному в графе "Связывать по атрибуту" на Шаге 3 данной инструкции: если на стороне внешнего IdP найден пользователь с некоторым значением атрибута привязки, отсутствующим в Avanpost FAM, данный пользователь автоматически создается в Avanpost FAM);
      • при включенном переключателе () автоматическое создание нового пользователя в Avanpost FAM, появившегося на стороне внешнего IdP, не осуществляется;
    • Обновление пользователей
      • при включенном переключателе () обновление связанных пользовательских атрибутов (указаны в графе Маппинг атрибутов на Шаге 3 данной инструкции) на стороне IdP приводит к автоматическому обновлению данных атрибутов на стороне Avanpost FAM;
      • при включенном переключателе () автоматическое обновление пользовательских атрибутов на стороне Avanpost FAM не осуществляется;
    • Подтверждение информации пользователем
      • при включенном переключателе () после создания нового пользователя в момент первичной авторизации пользователю показываются значения его атрибутов для подтверждения;
      • при включенном переключателе () новому пользователю не показываются его атрибуты для подтверждения при первой авторизации;
    • Обогащение информации пользователем
      • при включенном переключателе () после создания нового пользователя в момент первичной авторизации отображаемые значения атрибутов доступны пользователю для редактирования;
      • при включенном переключателе () новому пользователю не доступно редактирование атрибутов при первичной авторизации;
    • Подтверждение паролем
      • при включенном переключателе () выполняется связывание пользователей Avanpost FAM и внешнего IdP посредством дополнительной аутентификации (например, если при авторизации посредством внешнего IdP в Avanpost FAM не находится пользователь, связанный с этим IdP, Avanpost FAM предлагает ввести логин-пароль и на основании введенных данных связывает УЗ в Avanpost FAM и во внешнем IdP) 
      • при включенном переключателе () связывание пользователей Avanpost FAM и внешнего IdP посредством дополнительной аутентификации недоступно;
    • Множественная учетная запись
      • при включенном переключателе () допускается использование нескольких учетных записей: пользователю будет предложен выбор учетной записи из списка найденных в Avanpost FAM/создаваемых при помощи внешнего IdP;
      • при включенном переключателе () использование нескольких учетных записей недоступно пользователю.
    Группа по умолчаниюВвести наименование группы, в которую по умолчанию будут добавляться новые пользователи. 
    Активный Установить флаг чекбокс, чтобы запустить настроенный IdP без дополнительной интеграции.


Обсуждение