Identity Cloud : 5.3.2. Управление SAML-приложениями

Identity Cloud : 5.3.2. Управление SAML-приложениями

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

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

В Avanpost FAM реализована функциональность SAML‑сервера, работающий в роли IdP (Identity Provider). Таким образом, FAN  позволяет подключать корпоративные системы и облачные сервисы, поддерживающие SAML 2.0, для организации единого входа (SSO), централизованного выхода (SLO) и многофакторной аутентификации (MFA). Администратор настраивает параметры приложения в соответствии с текущей инструкцией, а также управляет передачей атрибутов пользователя (включая вычисляемые значения). Продукт поддерживается подпись сообщений и утверждений, выбор алгоритма подписи и метода каноникализации, что обеспечивает совместимость с широким спектром целевых систем от внутренних веб‑порталов до внешних SaaS‑платформ.

Предположим, CRM‑система Creatio интегрируется с Avanpost FAM по протоколу SAML для обеспечения двухфакторного входа и SSO. Администратор создаёт в Avanpost FAM SAML‑приложение, настраивает параметры, полученные из XML‑файла SAMLConfiguration на стороне Creatio, а в качестве сертификата подписи загружает файл cert.pem из инфраструктуры FAM. На стороне Creatio, в свою очередь, устанавливаются адреса FAM и выполняются сопутствующие настройки. По результатам настройки каждый сотрудник при обращении к Creatio перенаправляется на страницу аутентификации FAM и после успешного прохождения предварительно настроенного сценария аутентификации автоматически возвращается в целевую систему. При выходе из Creatio FAM инициирует SLO, завершая сессию также и в других SAML‑приложениях, что обеспечивает централизованное управление доступом и соответствие требованиям информационной безопасности.

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

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

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

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

На данном шаге продукт предлагает задать значения следующих параметров.

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

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

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

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

Процесс аутентификации

Выбрать из выпадающего списка один из настроенных процессов аутентификации

Показывать приложение пользователям

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

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

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

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

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

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

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

Название параметраОписание параметраОбязательность
Идентификатор поставщика (Issuer)

Уникальный идентификатор приложения (Issuer в соответствии со спецификацией SAML 2.0).

Превентивное устранение ошибок

При переходе к следующему шагу предусмотрено автоматическое удаление первого и последнего пробелов (если таковые были случайно введены/вставлены) из значения параметра.  

Да
URL приёма ответа (ACS URL)

Assertion Consumer Service (Assertion Consumert Service URL в соответствии со спецификацией SAML Core 2.0) – адрес сервиса на стороне приложения, на который должен быть отправлен ответ. 

Превентивное устранение ошибок

При переходе к следующему шагу предусмотрено автоматическое удаление первого и последнего пробелов (если таковые были случайно введены/вставлены) из значения параметра.  

Да

Адрес, на который пользователь будет перенаправляться при переходе из личного кабинета.Нет
URL выходаАдрес сервиса на стороне приложения, отвечающего за прекращение сессий в запросе формата SAML LogoutRequest.Нет
Формат NameID

Формат передачи формата идентификатора имени (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) в соответствии с требованиями целевого приложения. Выбирается из выпадающего списка, содержащего следующие значения:

  • Email – В качестве NameID используется адрес электронной почты пользователя;
  • Логин – В качестве NameID используется логин пользователя;
  • Вычисляемое значение – Используется для нестандартных NameID (формат настраивается в параметре NameID выражение);
  • различные дополнительные атрибуты в соответствии с настройками – в качестве NameID будет использоваться выбранный атрибут.

Да

NameID выражение

Настраиваемый формат NameID для случаев, когда требуется использование нестандартного формата. Значение вводится в текстовое поле в формате и содержит наименование атрибута/атрибутов и/или суффикс (например, user.Extra.sAMAccountName + '@avanpost.com').

Параметр доступен при выборе "Значение NameID" типа "Вычисляемое значение".

Нет

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

Настройка приложения 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 Identity Cloud;
  • Включена - Пользователю доступна самостоятельная регистрация при входе в приложение;
  • Выключена - Пользователю недоступна самостоятельная регистрация при попытке входа в приложение, добавление пользователей осуществляется иными способами.
URL перенаправления после регистрации

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

Unified SSO

Включить USSO

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

  • при включении чекбокса для OIDC-приложения доступно использования специализированного механизмаUnified SSO, предназначенного для выполнения кросспротокольной аутентификации при помощи компонента Authenticator Desktop;
  • при выключенном чекбоксе механизм USSO не используется.
Режим для устаревших браузеров

Переключатель "Режим для устаревших браузеров":

  • при включении переключателя поддерживается аутентификация в приложениях с WebView, не поддерживающими кастомные URL-схемы (например, тонкий клиент 1С);
  • при выключенном переключателе работа с устаревшими браузерами не поддерживается.

Вкладка "Attributes"

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

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

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

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

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

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

      JavaScript

      ).

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

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

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

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


Значение

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

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

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

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

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

ПараметрОписаниеЗначение
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} - базовый адрес сервера Системы.


Обсуждение