Единый вход на проект (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.
Алгоритм идентификации при входе через SSO:
1. Пользователь открывает страницу логина и выбирает вход через SSO.
2. Mindbox перенаправляет его в ваш IdP.
3. Персонал вводит учетные данные на стороне IdP.
4. IdP перенаправляет его в Mindbox.
5. Mindbox аутентифицирует клиента.
Если персонал уже залогинен в IdP, повторно вводить пароль не понадобится, пользователь будет автоматически авторизован в Mindbox через IdP.
Пользователям, добавленным на проект до подключения SSO, также нужно будет разово ввести пароль Mindbox для подтверждения личности.
Создание персонала
Персонал добавляется стандартными способами вручную или импортом.
Если при создании персонала на проекте включен SSO, пользователи смогут сразу через него авторизовываться. При этом сотрудникам письмо с паролем не отправляется.
Блокировка персонала
Для запрета доступа на платформу нужно:
1. Заблокировать пользователя в IdP;
2. Заблокировать пользователя на стороне Mindbox:
Последнее особенно важно на проектах, где, помимо SSO, разрешен вход по логину и паролю Mindbox.
Блокировка персонала в IdP сработает после завершения текущей сессии; блокировка пользователя на стороне Mindbox не даст пользователю совершить какое-либо действие на странице или перейти в другой раздел.
Отключение SSO
При отключении единого входа доступ на проект будет доступен любому персоналу, не заблокированному непосредственно на платформе Mindbox.
Пользователям без пароля для входа нужно будет воспользоваться функцией восстановления пароля.
Технические требования для подключения
Для того, чтобы использовать Mindbox SSO, необходимо иметь:
- Включенный модуль Enterprise-security;
- Identity Provider с поддержкой протокола SAML 2.0.
Как настроить SSO
Функционал может настроить и включить только «Владелец» проекта.
1. Перейдите в раздел Настройки → Безопасность → Настройка SSO:
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 — кнопка находится в правом верхнем углу экрана.
Дождитесь проверки. Если система не обнаружит необходимой информации в метаданных, на странице высветится оповещение о проблеме. В таком случае нужно исправить обозначенные ошибки, заново вставить данные и попробовать запустить функцию ещё раз.
После успешного включения появляется соответствующее сообщение:
6. Убедитесь, что функционал отрабатывает корректно.
Выйдите из профиля Mindbox или перейдите на платформу со вкладки в режиме инкогнито и попробуйте авторизоваться через SSO.
7. После успешного тестирования можно включить принудительный вход по SSO.
Для этого нужно будет подтвердить, что SSO работает:
Теперь персонал сможет заходить в Mindbox только с помощью SSO.
Как редактировать настройки SSO
При включенном SSO редактирование его основных настроек заблокировано. Поэтому для внесения изменений нужно отключить единый вход, поправить настройки и заново включить SSO.
Настраивать «Вход только через SSO» можно без отключения функционала.
Настройка IdP
В качестве IdP можно использовать сервисы Google, Azure AD, Okta и другие с поддержкой протокола SAML 2.0
Дополнительная документация на сайте Google
Для настройки нужны права суперадминистратора.
1. Войдите в консоль администратора.
2. На вкладке Приложения → Мобильные приложения нажмите «Добавить» → «Добавить пользовательское SAML-приложение»:
3. На странице Описание приложения задайте название. Можно также указать описание и добавить значок:
4. На странице Сведения о поставщике идентификационной информации Google скачайте файл с метаданными:
Код из файла нужно будет вставить в настройках SSO в Mindbox в поле «Вставьте URL или XML с метаданными вашего IdP» → «Metadata XML».
Метаданные будут доступны для скачивания и после создания приложения с его страницы.
5. На странице Сведения о поставщике услуг заполните:
-
URL ACS — скопируйте из настроек SSO Mindbox значение поля ACS;
-
Идентификатор объекта — скопируйте из настроек SSO Mindbox значение поля Entity ID.
6. Завершите настройку:
7. Зайдите на страницу созданного приложения и на вкладке Доступ пользователей укажите, для какого круга пользователей нужно включить сервис: