Единый вход на проект (SSO)

Что такое SSO?

Single Sign-On (SSO, технология единого входа) — это метод аутентификации, который позволяет пользователям использовать один набор учетных данных для авторизации в нескольких приложениях. Данное решение помогает централизованно управлять доступом сотрудников и обеспечивать безопасность данных.

SSO в Mindbox реализуется на базе протокола SAML 2.0 посредством поставщика идентификационных данных (Identity Provider), который управляется IT-командой вашей компании.

SAML (Security Assertion Markup Language) 2.0 — это протокол для обмена информацией об аутентификации между сервисом и провайдером идентификации.

Identity Provider (IdP, провайдер идентификации) — это система, которая создает и хранит цифровые идентификационные данные, а также управляет ими. IdP может либо напрямую аутентифицировать пользователя, либо предоставлять услуги аутентификации сторонним поставщикам (приложениям, веб-сайтам или другим цифровым службам).
Примеры IdP: Google, Azure AD, Okta, OneLogin.

Преимущества SSO

  • Помогает управлять доступом сотрудников к приложениям. Можно легко аннулировать, если пользователь покидает организацию;
  • Избавляет сотрудников от необходимости запоминать большое количество паролей к каждому сервису;
  • Достаточно сменить пароль один раз для восстановления доступа ко всем приложениям, если данные пользователя скомпрометированы.

Вход персонала через SSO

Пользователям можно ограничить вход только через SSO или оставить возможность авторизации через логин и пароль Mindbox.

Снимок экрана 2023-04-13 в 13.04.14.png

Алгоритм идентификации при входе через SSO:

1. Пользователь открывает страницу логина и выбирает вход через SSO.
2. Mindbox перенаправляет его в ваш IdP.
3. Персонал вводит учетные данные на стороне IdP.
4. IdP перенаправляет его в Mindbox.
5. Mindbox аутентифицирует клиента.

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

Пользователям, добавленным на проект до подключения SSO, также нужно будет разово ввести пароль Mindbox для подтверждения личности.

Создание персонала

Персонал добавляется стандартными способами вручную или импортом.

Если при создании персонала на проекте включен SSO, пользователи смогут сразу через него авторизовываться. При этом сотрудникам письмо с паролем не отправляется.

Блокировка персонала

Для запрета доступа на платформу нужно:

1. Заблокировать пользователя в IdP;
2. Заблокировать пользователя на стороне Mindbox:

Снимок экрана 2023-04-13 в 20.17.36.png

Последнее особенно важно на проектах, где, помимо SSO, разрешен вход по логину и паролю Mindbox.

Блокировка персонала в IdP сработает после завершения текущей сессии; блокировка пользователя на стороне Mindbox не даст пользователю совершить какое-либо действие на странице или перейти в другой раздел.

Отключение SSO

При отключении единого входа доступ на проект будет доступен любому персоналу, не заблокированному непосредственно на платформе Mindbox.

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

Технические требования для подключения

Для того, чтобы использовать Mindbox SSO, необходимо иметь:

  • Включенный модуль Enterprise-security;
  • Identity Provider с поддержкой протокола SAML 2.0.

Как настроить SSO

Функционал может настроить и включить только «Владелец» проекта.

1. Перейдите в раздел НастройкиБезопасностьНастройка SSO:

сссс.png

2. Скопируйте ACS (Access Control Server) и Entity ID и вставьте их в соответствующие поля в настройке вашего IdP.

Entity ID в зависимости от используемого IdP может также называться Entity ID, SP Entity ID, Audience URL, SP Audience URL.

3. Выберите способ идентификации пользователя (Name ID): по почте или логину.

Для этого уточните используемый идентификатор в вашем IdP. Обычно используется email, но Mindbox поддерживает также аутентификацию по логину.

Name ID в зависимости от используемого IdP может также называться Name ID format, Unique user identifier, Name identifier format.

4. Скопируйте метаданные вашего IdP и вставьте их в соответствующий блок.

Метаданные могут в формате:

  • Metadata URL
  • Metadata XML

Если Metadata XML предоставлен в виде файла, скачайте его, скопируйте полностью содержимое и вставьте код в поле.

5. Включите SSO — кнопка находится в правом верхнем углу экрана.

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

После успешного включения появляется соответствующее сообщение:

Снимок экрана 2023-04-13 в 14.30.53.png

6. Убедитесь, что функционал отрабатывает корректно.

Выйдите из профиля Mindbox или перейдите на платформу со вкладки в режиме инкогнито и попробуйте авторизоваться через SSO.

7. После успешного тестирования можно включить принудительный вход по SSO.

Для этого нужно будет подтвердить, что SSO работает:

Снимок экрана 2023-04-13 в 14.39.05.png

Теперь персонал сможет заходить в Mindbox только с помощью SSO.

Как редактировать настройки SSO

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

Настраивать «Вход только через SSO» можно без отключения функционала.

Настройка IdP

В качестве IdP можно использовать сервисы Google, Azure AD, Okta и другие с поддержкой протокола SAML 2.0

Google

Дополнительная документация на сайте Google

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

1. Войдите в консоль администратора.
2. На вкладке ПриложенияМобильные приложения нажмите «Добавить» → «Добавить пользовательское SAML-приложение»:

image 15.png

3. На странице Описание приложения задайте название. Можно также указать описание и добавить значок:

image 16.png

4. На странице Сведения о поставщике идентификационной информации Google скачайте файл с метаданными:

image 17.png

Код из файла нужно будет вставить в настройках SSO в Mindbox в поле «Вставьте URL или XML с метаданными вашего IdP» → «Metadata XML».

Метаданные будут доступны для скачивания и после создания приложения с его страницы.

5. На странице Сведения о поставщике услуг заполните:

  • URL ACS — скопируйте из настроек SSO Mindbox значение поля ACS;

  • Идентификатор объекта — скопируйте из настроек SSO Mindbox значение поля Entity ID.

    image 19.png

6. Завершите настройку:

image 20.png

7. Зайдите на страницу созданного приложения и на вкладке Доступ пользователей укажите, для какого круга пользователей нужно включить сервис:

image 23.png