Настройка SSO провайдера Keycloak для протокола SAML

Настраивайте вход в личный кабинет и на онлайн-мероприятия с использованием провайдера Keycloak для протокола авторизации SAML

Если вы используете Keycloak для аутентификации и авторизации пользователей, то теперь вы можете настроить возможность входа на онлайн-мероприятия и в личный кабинет МТС Линк с использованием протокола SAML.

Keycloak — продукт с открытым кодом для реализации SSO с возможностью управления доступом. Обеспечивает аутентификацию и авторизацию пользователей.


Инструкции для других протоколов и провайдеров идентификации:

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

Шаг 1. Настраиваем профиль Keycloak

  1. Заходим в учетную запись администратора Keycloak и в левом верхнем углу выбираем нужную группу пользователей (Realm):

    Или создаем новую, нажав на "Create realm". При создании есть возможность загрузить файл JSON, включающий данные о пользователях, ролях, группах, клиентах, настройках аутентификации и так далее.

  2. Переходим в раздел “Realm setting”, прокручиваем страницу вниз и выбираем “SAML 2.0 Identity Provider Metadata”:

  3. Откроется XML-файл, в котором нам понадобятся значения Идентификатора объекта, Сертификата, URL Системы единого входа/выхода:

  4. Прописываем эти значения в разделе “Настройки SSO” личного кабинета МТС Линк, предварительно выбрав протокол “SAML” и SSO провайдер “Active Directory”:

  5. Нажимаем “Далее”. Нам понадобятся значения Идентификатора объекта (Entity ID), URL ACS и URL SLS.

  6. Возвращаемся в ЛК Keycloak и в разделе “Clients” нажимаем на “Create client”:

  7. В качестве значения “Client type” выбираем “SAML”, в поле “Client ID” вставляем значение Идентификатора объекта из пункта 5 и нажимаем “Next”:

  8. В поле “Valid redirect URIs” прописываем значение “URL ACS”, в поле “Master SAML Processing URL” — значение “URL SLS” из пункта 5 и нажимаем “Save”:

  9. Далее прокручиваем страницу вниз (или в меню справа), нажимаем на “SAML Capabilities” и устанавливаем переключатели следующим образом:

    Спускаемся еще ниже (или в меню справа), нажимаем на “Signature and Encryption” и устанавливаем переключатели следующим образом:

  10. Переходим на вкладку “Keys” и в поле “Signing keys config” отключаем “Client signature required”:

  11. Далее на вкладке “Client scopes” нажимаем на своего клиента:

  12. Если на вкладке "Mappers" отсутствуют какие-либо объекты, нажимаем на "Configure a new mapper" в центре окна:  
  13. Если на вкладке "Mappers" уже есть добавленные ранее объекты, нажимаем на "Add mapper" и выбираем "By configuration":
  14. В обоих случаях откроется список, в котором надо нажать на "User Attribute":
  15. На открывшейся странице выбираем значение "firstName" (Имя) для параметра "User Attribute" и заполняем остальные поля следующим образом:Нажимаем "Save".
    Для добавления нового атрибута нажимаем на "Dedicated scopes" в верхней части окна.

  16. После нажатия на "Dedicated scopes" нажимаем "Add mapper" и выбираем "By configuration":

  17. Повторяем шаги 12-15 для добавления еще одного обязательного атрибута "secondName" (Фамилия):

  18. ВАЖНО: обязательными к заполнению являются параметры Имя, Фамилия (см. пункты 15 и 17 соответственно) и Почта!

    Почту необходимо указать в разделе Users в настройках профиля пользователя в соответствующей графе:

  19. Опционально можно настроить передачу аватарки, а также параметров Номер телефона, Должность, Никнейм, Отчество. Для них важно указать значение "SAML Attribute Name" точно в таком виде, как в таблице ниже, так как МТС Линк будет ожидать их именно под такими значениями:

    Имя Атрибута

    SAML Attribute Name

    Фотография

    gravatarURL

    Номер телефона

    phoneNumber

    Должность

    title

    Никнейм

    displayName

    Отчество

    middleName

    Для добавления опциональных атрибутов повторяем шаги 12-15.
  20. Если при заполнении параметра "User Attribute" будет отсутствовать нужное значение, то нужно его создать. Для этого в разделе "Realm settings" на вкладке "User profile" нажимаем на кнопку "Create attribute":

    Создаем нужный атрибут с настройками, как на рисунке:

    Теперь этот атрибут будет доступен к заполнению у пользователей из раздела "Users":

    Примечание. Аналогично можно создавать любые нужные вам атрибуты.
  21. Для настройки передачи аватарки необходимо повторить действия пункта 20 для создания атрибута "gravatarURL" и поля в профиле сотрудника. Например, "Фотография":

    Далее в настройках профиля добавляем в него URL на изображение. Картинка должна быть в формате JPG!

    Повторяем действия пунктов 12-15 для атрибута "gravatarURL":

Шаг 2. Подтверждение домена

Подтверждение необходимо, чтобы только вы могли использовать ваш домен для SSO в МТС Линк. Подробнее об этом читайте в статьях Подтверждение домена для SSO и Настройка SSO.

ВАЖНО: без подтвержденного домена функционал работать не будет!

Шаг 3. Завершение настройки на стороне МТС Линк

После успешного подтверждения домена вам необходимо выбрать, как именно вы будете использовать SSO:

  • Использовать SSO для входа в личный кабинет: сотрудники вашей компании смогут входить в личный кабинет с помощью SSO без дополнительной регистрации на платформе. При первом входе будет произведена автоматическая регистрация, добавление в Организацию и подключение к тарифному плану вашей компании. Если на момент первого входа через SSO у данного E-mail будет найдена существующая учетная запись, то пользователь также будет присоединен к Организации, а все его данные останутся без изменений.
    ВАЖНО: Все аккаунты, присоединенные к Организации, кроме ее владельца, потеряют возможность аутентификации в личный кабинет с помощью обычного пароля, т.е. вход станет возможен только с использованием SSO.

  • Использовать SSO для ограничения доступа к курсам и вебинарам: вход на курсы и вебинары, созданные аккаунтом, принадлежащим к вашей Организации, будет возможен только с использованием SSO. Вы можете включить эту опцию для всех или только для выбранных сотрудников из списка:


Вход в личный кабинет с помощью SSO

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

  • перейти по адресу https://namecompany.mts-link.ru, в котором заменить "namecompany" на домен вашей организации, ввести адрес корпоративной почты и нажать на кнопку "Войти":

  • если домен вашей организации неизвестен, перейти по адресу https://my.mts-link.ru, нажать на кнопку "Войти через SSO", далее на "Не знаю домен компании", ввести адрес своей корпоративной почты и нажать на кнопку "Продолжить":

После после этого вы будете перенаправлены на страницу провайдера идентификации. В случае успешной комбинации логина и пароля будет произведен вход в личный кабинет платформы МТС Линк.


Вход на курс/вебинар с помощью SSO

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


Проверка корректности настроек SSO (SAML) перед началом использования

👆 На этом пока всё