Skip to content

Обзор

Федерация позволяет пользователям аутентифицироваться в MWS с использованием учетных данных из стороннего сервиса. Это обеспечивает единый вход (Single Sign-On, SSO) для пользователей без создания отдельного аккаунта в MWS. С помощью федерации можно входить в MWS, например, с использованием аккаунта Active Directory.

Сторонний сервис, который хранит учетные данные пользователя, называется поставщиком удостоверений или IdP (Identity Provider). Пользователь, который аутентифицируется через IdP, а не через аккаунт в MWS, называется федеративным.

Преимущества федераций:

  • Упрощение регистрации на платформе: пользователи могут пользоваться ресурсами и сервисами MWS без регистрации, входя в веб-консоль по SSO.
  • Возможность группировать пользователей по различным признакам: для каждой группы можно создать отдельную федерацию. Например, одна федерация — для сотрудников организации, вторая — для групп пользователей.
  • Гибкое управление доступом к ресурсам облака: вы можете назначать роли как всем пользователям федерации, так отдельным пользователям или группам пользователей.

Федерации создаются на уровне организации. В одну федерацию можно добавить несколько IdP. При необходимости в организации можно создать несколько федераций.

Поддерживаемые IdP

MWS взаимодействует с поставщиками удостоверений на базе протокола OpenID Connect с аутентификацией по коду подтверждения (authorization code flow).

Для корректной работы федерации с вашим IdP:

  • IdP должен быть доступен из интернета.
  • Время ответа на запросы на получение и валидацию токена не должно превышать 10 секунд. В противном случае запрос считается невалидным.

Пользовательские атрибуты

После аутентификации IdP предоставляет атрибуты с информацией о пользователе. В документации некоторых IdP атрибуты обозначаются терминами claims или assertions.

Набор атрибутов задается на стороне IdP и при необходимости может быть расширен. При настройке OIDC-клиента вы можете указать способ получения атрибутов:

  • ID Token: атрибуты берутся только из JWT-токена в момент его получения;
  • ID Token и Userinfo endpoint: после получения информации из JWT-токена выполняется также запрос дополнительных атрибутов в /userinfo.

Аутентификация через федерацию

Чтобы войти в веб-консоль MWS, пользователю нужно перейти по ссылке с идентификатором федерации.

Процесс аутентификации состоит из следующих этапов:

  1. Инициация входа. Пользователь открывает веб-консоль MWS через браузер. MWS проверяет наличие валидного сессионного cookie.

  2. Проверка сессии. Если cookie существует и не истек срок его действия, MWS пропускает этап аутентификации, а пользователь получает доступ к веб-консоли. Если cookie отсутствует или срок его действия истек, запускается процесс федеративной аутентификации.

  3. Перенаправление на сервер IdP. Параметры перенаправления включают:

  4. Аутентификация на стороне IdP. В браузере пользователя открывается форма входа IdP, и пользователь выполняет необходимые для аутентификации действия, например, вводит логин и пароль. После успешной аутентификации создается подписанный JWT-токен, который содержит:

    • идентификатор пользователя (sub);
    • идентификатор MWS в IdP (aud);
    • время выпуска и срок действия;
    • электронную почту и имя пользователя.
  5. Проверка токена. MWS получает токен через redirect_uri и проверяет:

    • подпись;
    • срок действия;
    • соответствие aud использованному при перенаправлении client_id;
    • значение параметра state.
  6. Создание сессии. После успешной проверки MWS создает сессию пользователя и устанавливает сессионный cookie в браузере. Пользователь перенаправляется в консоль MWS. Сессия остается активной до истечения срока действия токена или до выхода пользователя из веб-консоли.