Avanpost FAM/MFA+ : 5.3.2. Управление SAML-приложениями

Avanpost FAM реализует функциональность SAML Identity Provider и предоставляет возможность управления приложениями, использующими набор HTTP-методов в соответствии с протоколом SAML 2.0.

Добавление SAML-приложения

Первичная настройка SAML-приложения осуществляется при добавлении нового приложения. Для этого следует нажать кнопку "Добавить приложение" сервиса "Приложения" и перейти на вкладку добавления приложения.

Шаг 1. Основные настройки

На данном шаге продукт предлагает ввести следующие параметры.

Название параметраОписание параметра
НаименованиеНазвание приложения
Тип

Типы механизма интеграции приложения:

  • OAuth/OpenID Connect;
  • SAML;
  • RADIUS;
  • Reverse Proxy;
  • Agent;
  • Windows Logon;
  • Linux Logon;
  • LDAP Proxy;
  • Exchange ActiveSync.

Для настройки SAML-приложения выбрать опцию "SAML"

Дополнительные опции

Чекбокс "Показывать приложение пользователям":

  • при установленном флажке приложение будет показываться пользователям в личном кабинете вне зависимости от наличия у них доступа к приложению;
  • при выключенном флажке приложение не будет показываться пользователям, не имеющим доступа к приложению.

Для перехода к следующему шагу требуется нажать "Далее" после установки параметров. Для отказа от создания приложения следует нажать "Отмена". 

Шаг 2. Настройки интеграции

На данном шаге продукт предлагает ввести следующие параметры.

Название параметраОписание параметраОбязательность
IssuerУникальный идентификатор приложения (Issuer в соответствии со спецификацией SAML 2.0)Да
ACSAssertion Consumer Service (Assertion Consumert Service URL в соответствии со спецификацией SAML Core 2.0) – адрес сервиса на стороне приложения, на который должен быть отправлен ответ. Да
Базовый URLАдрес, на который пользователь будет перенаправляться при переходе из личного кабинета.Нет
LogoutАдрес сервиса на стороне приложения, отвечающего за прекращение сессий в запросе формата SAML LogoutRequest.Нет
NameID Format

Формат передачи формата идентификатора имени (NameID в SAMLResponse) в соответствии с требованиями целевого приложения:

  • Не указан (Unspecified в SAML 2.0) – формат urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified;
  • Адрес электронной почты (emailAddress в SAML 2.0) – формат urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress;
  • Постоянный (Persistent в SAML 2.0) –формат urn:oasis:names:tc:SAML:2.0:nameid-format:persistent;
  • Полное имя в домене (WindowsDomainQualifiedName в SAML 2.0) – формат urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName.

Да

Значение NameID

Передаваемое значение в идентификатор имени (NameID в SAMLResponse) в соответствии с требованиями целевого приложения. Выбирается из выпадающего списка, содержащего основные и дополнительные атрибуты.

Да

Для перехода к следующему шагу требуется нажать "Далее" после установки параметров, для отказа от создания приложения - "Отмена", для возврата к предыдущему шагу - "Назад".

Шаг 3. Настройки аутентификации

На данном шаге требуется настроить сценарий аутентификации приложения.

Avanpost FAM предлагает следующие вариант:

  • создать новый сценарий аутентификации для данного приложения;
  • выбрать существующий сценарий аутентификации.

Для установки существующего сценария аутентификации следует выбрать один из сценариев в выпадающем списке поля "Выберите процесс аутентификации или создайте новый". Шаги аутентификации, настроенные для выбранного сценария, отобразятся в поле "Шаги" без возможности редактирования.

Для установки нового сценария аутентификации следует выбрать "Новый процесс аутентификации" в выпадающем списке поля "Выберите процесс аутентификации или создайте новый" и настроить количество шагов аутентификации и использующиеся на них факторы.

Путем включения/выключения переключателей есть возможность подключить/отключить для SAML-приложения следующие факторы:

  • Факторы:
    • Идентификация пользователя;
    • Внешний провайдер (доступно при установке переключателя "Идентификация пользователя");
    • Script;
    • Вход по QR-коду;
    • Password;
    • TOTP;
    • Avanpost Authenticator;
    • OTP via Email;
    • SMS;
    • Telegram;
    • Сертификат;
  • Окружение:
    • Kerberos.

Для добавления второго и последующего шагов следует нажать "Добавить шаг".

В каждом шаге должен быть хотя бы один фактор аутентификации. Для продолжения настройки приложения с новым сценарием аутентификации должен быть выбран хотя бы один фактор хотя бы на одном шаге в настраиваемом сценарии.

После создания приложения новому сценарию аутентификации присваивается наименование созданного приложения. Изменение сценария можно осуществить на вкладке "Настройка процессов аутентификации" режима "Сервис"

Для перехода к следующему шагу после настройки сценария требуется нажать "Далее" после установки параметров, для отказа от создания приложения - "Отмена", для возврата к предыдущему шагу - "Назад".

Шаг 4. Завершение

На данном шаге доступен чекбокс "Сделать приложение активным":

  • при установленном флажке приложение включается сразу после создания;
  • при выключенном флажке приложение выключено после создания: для включения потребуется нажать в профиле приложения.

Для сохранения приложения требуется нажать "Сохранить", для отказа от создания приложения - "Отмена", для возврата к предыдущему шагу - "Назад".

Настройка приложения Discovery-методом

Допускается произведения настройки приложения Discovery-методом при загрузке файла по адресу https://${baseUrl}/.well-known/samlidp.xml, где ${baseURL}базовый адрес сервера Системы. Для настройки данным способом следует получить файл SAML IdP Metadata XML следующего вида:

<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor validUntil="2024-08-13T07:37:40.675Z" entityID="https://test.my.company.com" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> 
<md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAuthnRequestsSigned="false"> 
<md:KeyDescriptor use="signing"> <ds:KeyInfo> 
<ds:X509Data> 
<ds:X509Certificate>encoded_certificate</ds:X509Certificate> 
</ds:X509Data> </ds:KeyInfo> 
</md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> 
<md:SingleLogoutService Location="https://test.my.company.com/adfs/ls/IDPLogout" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/> 
<md:SingleSignOnService Location="https://test.my.company.com/idp/endpoint/HttpRedirect" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/> 
</md:IDPSSODescriptor>
</md:EntityDescriptor>

После этого приложение автоматически настраивает параметры интеграции.

Настройка SAML-приложения

Настройка созданного SAML-приложения доступна доступна в его профиле (графическое обозначение  в реестре приложений). В профиле осуществляется управление параметрами, общими для всех приложений (описаны в разделе Управление приложениями). Также в профиле осуществляется управление специфическими параметрами SAML-приложений во вкладках "Настройки" и "Attributes".

Вкладка "Настройки"

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

  • Настройки интеграции;
  • Настройки безопасности;
  • Настройки регистрации.

Для внесения изменений в параметры того или иного раздела необходимо нажать  в соответствующем разделе. Для сохранения изменений следует нажать "Сохранить" в соответствующем разделе, для отмены изменений - "Отмена".

Вкладка "Настройки" позволяет просматривать и управлять следующими настраиваемыми атрибутами.

Название параметраОписание параметра
Настройки интеграции
IssuerУникальный идентификатор приложения (Issuer в соответствии со спецификацией SAML 2.0)
ACSАдрес сервиса на стороне приложения, на который должен быть отправлен ответ
Base URLАдрес, на который пользователь будет перенаправляться при переходе из личного кабинета.
Backchannel-logout URLАдрес сервиса на стороне приложения, отвечающего за прекращение сессий в запросе формата SAML LogoutRequest.
Подпись

Политика в отношении подписей. Выбрать один из вариантов в выпадающем списке:

  • Без подписи;
  • Подписывать сообщения;
  • Подписывать Assertion.
NameID Format

Формат передачи формата идентификатора имени (NameID в SAMLResponse) в соответствии с требованиями целевого приложения:

  • Не указан (Unspecified в SAML 2.0) – формат urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified;
  • Адрес электронной почты (emailAddress в SAML 2.0) – формат urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress;
  • Постоянный (Persistent в SAML 2.0) –формат urn:oasis:names:tc:SAML:2.0:nameid-format:persistent;
  • Полное имя в домене (WindowsDomainQualifiedName в SAML 2.0) – формат urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName.
Значение NameIDПередаваемое значение в идентификатор имени (NameID в SAMLResponse) в соответствии с требованиями целевого приложения. Выбирается из выпадающего списка, содержащего основные и дополнительные атрибуты.
Signing algorithm

Алгоритм шифрования, используемый для подписи сообщений/Assertion:

  • SHA-256 (рекомендуемый алгоритм для подписи ответа);
  • SHA-1 (рекомендуется использовать для приложений, поддерживающих только этот алгоритм подписи).
Canonicalization method

Cпособ приведения подписанного xml к общему виду. Требуется выбрать из выпадающего списка в зависимости от методов, поддерживаемых приложением: 

  • REC-xml-exc-c14n-20020718;
  • CR-xml-c14n11-20070621;
  • REC-xml-c14n-20010315;
  • REC-xml-c14n-20010315#WithComments;
  • enveloped-signature.
Prefix

Префиксы, которые будут использоваться XML вне зависимости от Canonicalization method. 

Add XML header

Чекбокс "Add XML header":

  • При установке флажка добавляется заголовок XML, где указан номер версии XML и, при необходимости, тип кодировки;
  • При выключенном флажке заголовок XML не добавляется.
Post logout redirect URLURL-адрес, на который пользователь будет перенаправлен после централизованного завершения сессии.
Send Logout response enabled

Чекбокс "Send Logout response enabled":

  • При установке флажка отправляется ответ Logout response на запрос Logout Request;
  • При выключенном флажке ответ Logout response не отправляется. 
Настройки безопасности
Настройка сессии

Чекбокс "Ограничивать количество активных сессий":

  • при выключенном флажке количество сессий не ограничивается;
  • при включенном флажке открываются дополнительные настройки:
    • Максимальное количество сессий для пользователя - Строка ввода максимального количества сессий, доступных одному пользователю.
    • Чекбокс "Разрешить пользователю закрывать активные сессии":
      • при включенном флажке пользователь может самостоятельно завершать активные сессии (при превышении максимального числа сессий у пользователя автоматически возникает окно с возможностью завершения активных сессий);
      • при выключенном флажке пользователю запрещено самостоятельно завершать активные сессии.
Повысить уровень безопасности и отключить SSO для приложения

Чекбокс "Отключить":

  • при выключенном флажке технология единого входа SSO используется для данного приложения;
  • при выключенном флажке SSO недоступно для данного приложения.
Настройки регистрации
Статус

Управление функцией самостоятельной регистрации пользователя применительно к приложению. Информация о всех возможностях управления саморегистрацией доступна в разделе Самостоятельная регистрация пользователей.

Выбрать из выпадающего списка:

  • По умолчанию - К пользователю применяется общая политика регистрации, настроенная для Avanpost FAM;
  • Включена - Пользователю доступна самостоятельная регистрация при входе в приложение;
  • Выключена - Пользователю недоступна самостоятельная регистрация при попытке входа в приложение, добавление пользователей осуществляется иными способами.
URL перенаправления после регистрации

URL-адрес, на который пользователь будет перенаправлен после регистрации. Текстовое поле доступно для заполнения при значении параметра Статус "Включена".

Вкладка "Attributes"

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

  • Наименование - Название атрибута;
  • Тип - Тип атрибута;
  • Кнопка "Изменить" - Изменить параметры выбранного атрибута;  
  • Кнопка "Удалить" - Удалить выбранный атрибут.

Для добавления нового атрибута требуется нажать . В открывшейся форме необходимо ввести следующие данные.

Название параметраОписание параметра
НаименованиеВвести наименование атрибута, поддерживаемое целевым приложением.
Тип атрибута

Выбор типа атрибута из выпадающего списка:

    • Значение из атрибута - Значение из основного или дополнительного атрибута пользователя;
    • Постоянное значение - Значение, которое вводится администратором и остается постоянным;
    • Вычисляемое значение - Значение вычисляемое в соответствии со скриптом (используется синтаксис

      JavaScript

      ).

Сценарий использования

Администратор хочет задать вычисляемый атрибут, показывающий является ли пользователь налоговым резидентом РФ (taxresident). Значение вычисляется на основании двух дополнительных атрибутов пользователя: Дата последнего въезда в РФ (entrydate) и Дата последнего выезда из РФ (departuredate). Если выполняются условия: 

  1. разница текущей датой и датой последнего выезда из РФ меньше 183 дней
  2. разница между текущей и датой последнего въезда в РФ больше 183 дней

пользователь считается налоговым резидентом, при невыполнении любого из условий - не считается. Вычисление будет выглядеть следующим образом:


Значение

Значение, присваиваемое атрибуту для передачи в целевое приложение:

  • Для типа утверждения "Значение из атрибута" выбрать основной или дополнительный атрибут, из которого присваивается значение;
  • Для типа утверждения "Постоянное значение" ввести значение в текстовое поле;
  • Для типа утверждения "Вычисляемое значение" путем нажатия перейти в редактор и ввести алгоритм расчета вычисляемого значения.

Для сохранения нового атрибута следует нажать "Сохранить", для отмены действия - "Отмена".

Проверка работы

Для проверки интеграции следует использовать путь прохождения аутентификации в приложение.

Для этого пользователь должен иметь доступ к приложению (доступ к приложениям в Системе выдаётся посредством групп), и у него должны быть указаны корректные значения атрибутов профиля пользователя в соответствии с требованиями подключаемого приложения и выполненными интеграционными настройками.

Приложение А. Endpoint'ы SAML 2.0 

Доступные IdP endpoint'ы протокола SAML 2.0, предоставляемые Avanpost FAM:

ПараметрОписаниеЗначение
SAML 2.0 DiscoveryУказывает расположение XML-документа с параметрами

Адрес /.well-known/samlidp.xml

Адрес сервера аутентификации (SingleSignOnService в SAML 2.0)Указывается адрес сервера аутентификации Системы SingleSignOnService

Адрес /saml2 на сервере Системы в виде https://${baseUrl}/saml2, где ${baseURL} - базовый адрес сервера Системы.

Адрес завершения сессии (SingleLogoutService в SAML 2.0)Указать адрес сервера аутентификации Системы SingleLogoutServiceАдрес /saml2/logout на сервере Системы в виде https://${baseUrl}/saml2/logout, где ${baseURL} - базовый адрес сервера Системы.


Обсуждение