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

Avanpost FAM реализует возможность управления OIDC-приложениями, предоставляя для приложений и систем набор HTTP(S)-методов в соответствии с протоколами OAuth 2.0 и OpenID Connect.

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

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

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

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

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

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

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

Для настройки OIDC-приложения выбрать опцию "OAuth/OpenID Connect"

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

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

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

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

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

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

Название параметраОписание параметра
SecretПроизвольный секрет, который будет использоваться для подключения к приложению.
Redirect URIsURL-адрес, на который пользователь будет перенаправлен после успешной аутентификации.
Base URLURL-адрес, на который пользователь будет перенаправляться при переходе из личного кабинета.
LogoutURL-адрес, на который пользователь будет перенаправлен после выхода из приложения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Название параметраОписание параметра
Настройки интеграции
Client ID

Уникальный идентификатор приложения (не доступен для изменения)

Чекбокс "Публичный":

  • при установленном флажке пользователи могут узнать идентификатор в личном кабинете;
  • при выключенном флажке идентификатор не показывается пользователям.
ID synonymСиноним идентификатора приложения.
Base URLURL-адрес, на который пользователь будет перенаправлен при переходе из личного кабинета.
Redirect URIsURL-адрес, на который пользователь будет перенаправлен после успешной аутентификации.
Backchannel-logout URIURL-адрес, на который отправляется запрос для централизованного завершения сессии.
Post logout redirect URIsURL-адрес, на который пользователь будет перенаправлен после централизованного завершения сессии.
AudienceПараметр JWT, который указывает в каких приложениях токен может использоваться.
Audience type

Тип параметра Audience. Выбрать из следующих вариантов:

  • Строка -  При использовании токена JWT в одном приложении;
  • Массив - При использовании токена JWT в нескольких приложениях.
Client assertion type

Методы аутентификации клиента, которые используются клиентами для аутентификации на сервере авторизации при использовании endpoit'ов токена.

  • client_secret_basic - Клиенты, получившие значение client_secret от Сервера авторизации, проходят аутентификацию на Сервере авторизации, используя базовую (Basic) схему HTTP-аутентификации, определенную в RFC 7617;
  • client_secret_jwt - Клиенты, получившие значение client_secret от Сервера авторизации, создают токен JWT, используя алгоритм HMAC SHA, для прохождения аутентификации.
  • private_key_jwt - Клиенты, зарегистрировавшие открытый ключ, используют его для подписи токена JWT. 
Алгоритм подписи секрета

Выбор алгоритма подписи секрета из вариантов (параметр появляется, если параметр Client assertion type настроен как client_secret_jwt или private_key_jwt):

  • RS256;
  • RS384:
  • RS512;
  • ES256;
  • ES384:
  • ES512;
  • PS384:
  • PS512.
JWKs URI

URL-адрес, предоставленный доверенной стороной, с которого возвращается JSON Web Key при валидации JSON Web Token (появляется, если параметр Client assertion type настроен как private_key_jwt).

Allowed grant types

Разрешенные приложению Grant Types, т.е. методы, с помощью которых приложение получает Access token и с помощью которых приложению предоставляется ограниченный доступ к данным Avanpost FAM. Доступны следующие Grant Types:

  • Authorization code - Access token получается после предоставления клиентом кода авторизации. После перенаправления пользователя к клиенту через Redirect URIs приложение получит код авторизации из URL-адреса и использует его, чтобы запросить Access token.
  • Implicit - Упрощенный вариант для приложений, где Access token предоставляется немедленно без дополнительного шага обмена кода авторизации на Access token.
  • Hybrid - Комбинированный метод на базе Authorization code grant type и Implicit grant type. ID token передается через канал браузера и содержит подписанный ответ протокола и сигнатуры для других артефактов, например, кода авторизации.
  • Refresh token - Когда истекает срок действия старого Access token, новый Access token предоставляется после предъявления клиентом Refresh token.
  • Password - Получение Access token посредством предоставления учетных данных пользователя, включая пароль.
  • Client credentials - Используется клиентом для получения Access token вне контекста пользователя. Обычно используется для обеспечения доступа клиентов для доступа к собственным ресурсам о себе.
Access token lifetime (in seconds)Время действия Refresh token
Access token type

Тип Access token, допускается выбрать:

  • Случайное значение;
  • JSON Web Token.
JWT Signature Algorhithm

Алгоритм подписи JSON Web Token, допускается выбрать:

  • RS256 (RSA Signatiure with SHA-256);
  • GOST3410_2012_256 (ГОСТ Р 34.10-2012 256).
Authorization code lifetime (in seconds)Время действия кода авторизации (Authorization code)
Refresh token lifetime (in seconds)Время действия Refresh token
Refresh token strategy

Стратегия использования refresh token:

Чекбокс "Переиспользовать refresh token":

  • при установленном флажке пользователь может повторно использовать refresh token для обновления токена;
  • при выключенном флажке при повторном использовании refresh token отзываются все токены, выданные пользователю ранее.
ID token lifetime (in seconds)Время действия ID token
End session strategy

Политика в отношении токена при завершении сессии:

  • Clear - Токен очищается от всех привязанных к нему сессий;
  • None - Токен может использоваться после завершения сессии.
Scope (default)

Области действия (scope) приложения по умолчанию. Данные scopes действуют вне зависимости от scopes, настраивающихся в соответствующем разделе. Допускается указать несколько scopes, разделив их пробелом.

Ошибки аутентификации

Чекбокс "Обрабатывать как ошибки протокола":

  • при установленном флажке OAuth-сервер передает данные об ошибке приложению, т. е. через параметры запроса по redirect_uri.
Allowed origins

Источники, разрешенные для совместного использования посредством технологии CORS (Cross-origin resource sharing), т.е. домены, позволяющие загрузить ресурсы с сервера Avanpost FAM и на которые не будет действовать правило ограничения домена (Same Origin Policy) на запрашиваемые страницы. Адреса доменов вводятся в текстовое поле и разделяются пробелом.

Смена секрета
Новый секрет

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

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

Настройки безопасности
Настройка сессии

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

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

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

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

Настройки регистрации

Статус

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

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

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

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

Вкладка "Scopes"

Области действия (scopes) предоставляют приложению набор пользовательских атрибутов, называемых утверждениями (claims). Настройка scopes, запрашиваемых приложением при аутентификации, зависит от того, с какими пользовательскими атрибутами приложение оперирует.

Вкладка предоставляет расширенные возможности для настройки областей действия (scopes) приложения и утверждений (claims), которые будут запрошены при аутентификации в OIDC-приложении. Из дополнительных scopes, настроенных в данной вкладке и запрошенных приложением, будут переданы claims в состав JWT-токена.

Список scopes отображается в общем реестре, содержащем:

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

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

Название параметраОписание параметра
ScopeНазвание области действия приложения
Утверждения (Claims)

Поле содержит реестр с утверждениями (claims). Для одной области действия (scope) может быть настроено несколько утверждений (claims). Для добавления нового утверждения следует нажать. Avanpost FAM предлагает следующие параметры для настройки утверждений (claims):

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

Для удаления существующего утверждения (claim) требуется нажать.

Поле "Список утверждений (Claims), обязательных для аутентификации в приложении" содержит список утверждений (claims), которым обязательно должно быть присвоено значение для успешной аутентификации пользователя в приложении. Поле содержит реестр таких утверждений со следующими параметрами и возможностями:

  • Scope - Наименование области действия, к которой принадлежит утверждение, обязательное для аутентификации в приложении;
  • Утверждение (Claim) - Наименование утверждения (claim). обязательного для аутентификации в приложении;
  • Кнопка - Следует нажать для добавления утверждения в данный список;
  • Кнопка  - Следует нажать удаления выбранного утверждения (claim) из списка. 

При нажатии кнопки откроется форма для добавления утверждения со следующими параметрами и возможностями:

  • Scope - Выбрать из выпадающего списка доступных областей действия (Scopes);
  • Утверждение (Claim) - Выбрать из выпадающего списка утверждений, доступных для данной Scope;
  • Кнопка "Сохранить" - Нажать для добавления настроенного утверждения в "Список утверждений (Claims), обязательных для аутентификации в приложении";
  • Кнопка "Отмена" - Нажать для отмены изменений.

Вкладка "Модель доступа"

Вкладка позволяет настраивать модель доступа, используемую при настройке полномочий роли в отношении целевого приложения. Механизм модели доступа реализуется для протокола управления доступом UMA (User-Managed Access) на основе OAuth 2.0.

Модель доступа строится на существовании объектов доступа (Resourse) внутри целевого приложения и прав (Scopes), которые получает пользователь в отношении объектов доступа после аутентификации в Avanpost FAM. После настройки модели доступа для OIDC-приложения администратор может предоставлять те или иные права (scopes) в отношении объектов доступа (Resourse) ролям, настраиваемым в Avanpost FAM во вкладке "Настройки ролей и прав". Роли с назначенными правами присваиваются пользователям.

Avanpost FAM также содержит ряд внутренних объектов доступа (Resourse) и прав (Scopes). Модели доступа в отношении внутренних функциональных элементов Avanpost FAM не редактируются. Администратор назначает права в отношении объектов доступа внутри Avanpost FAM через механизм управления ролями, пользуясь предустановленными моделями доступа.

Механизм использования модели доступа в ролевой модели описан в разделе Настройки ролей и прав.

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

  • Объект доступа (Resource) - Название объекта доступа;
  • Число прав - Количество прав (scopes), настроенных для объекта доступа;
  • Кнопка "Изменить" - Нажать для изменения настроек выбранного объекта доступа;
  • Кнопка "Удалить" - Нажать для удаления.

Для добавления нового объекта доступа, к которому настраивается доступ, требуется нажать . Значения параметров объектов доступа (Resource) и прав (Scopes) должны соответствовать значениям Resourse и Scopes в целевом приложении. В открывшейся форме нужно ввести следующие параметры:

  • Код - Код объекта доступа;
  • Описание - Название объекта доступа (отображается в "Объект доступа (Resource)" реестра объектов доступа);
    • Код - Добавить код права;
    • Описание - Наименование, которое отображается в списке;
    • Кнопка - Следует нажать, чтобы добавить новое право;
    • Кнопка - Следует нажать, чтобы удалить выбранное право.

Вкладка "Сертификаты"

Вкладка позволяет управлять криптографическими ключами JSON Web Key Sets для OIDC-приложения. Для подписи JWT-токенов в OIDC-приложениях используются алгоритмы RS256 и HS256. Алгоритм RS256 генерирует асимметричную подпись, то есть для подписи JWT-токена используется закрытый ключ, а для проверки подписи - открытый ключ. JSON Web Key Set (JWKS) представляет собой набор публичных ключей, используемых для проверки токенов JWT-токенов, выданных сервером авторизации и подписанных с использованием алгоритма RS256 (или GOST3410_2012_256). 

Вкладка содержит реестр сертификатов, в котором отражаются следующие данные:

  • Алгоритм - Тип алгоритма для подписи JWT-токена:
    • RS256 (RSA Signatiure with SHA-256);
    • GOST3410_2012_256 (ГОСТ Р 34.10-2012 256);
  • Key ID - Идентификатор ключа.

Чтобы добавить новый сертификат, требуется нажать и ввести ключ в редакторе. Чтобы сохранить сертификат, следует нажать "Сохранить". Для отмены изменений следует нажать "Отмена".

Обсуждение