Содержание
Введение
SAML SSO — это открытый стандарт на основе XML для обмена данными аутентификации и авторизации между сторонами, а именно между поставщиком удостоверений (IdP) и поставщиком услуг (SP). Он позволяет пользователям войти в систему один раз и получать доступ к нескольким системам без необходимости повторного входа в каждую из них.
В этой статье объясняется, как настроить SAML SSO, используя Microsoft Entra и систему Omada Network System v6.1.0.100 в качестве примера.
Требования
- Omada Standard Cloud-Based Controller / Omada Software Controller / OC300 / OC400
- Microsoft Entra / Microsoft Azure
Конфигурация
Следующие шаги охватывают настройку поставщика удостоверений.
Шаг 1. Создайте новое приложение в Microsoft Entra.
Перейдите в Центр администрирования Microsoft Entra: Центр администрирования Microsoft Entra. Нажмите Корпоративные приложения.

Нажмите Новое приложение, чтобы просмотреть галерею приложений Microsoft Entra.

Нажмите Создать собственное приложение. Введите имя приложения и нажмите Создать.

Шаг 2. Инициализируйте единый вход и получите файл метаданных поставщика удостоверений.
Выберите 2. Настроить единый вход.

Нажмите Изменить в разделе Базовая конфигурация SAML, чтобы настроить Идентификатор и URL-адрес ответа.

Здесь мы вводим https://www.omadanetworks.com в качестве значения как для Идентификатора, так и для URL-адреса ответа. Фактически мы можем временно разместить здесь любые URL-адреса, так как позже мы перенастроим их.

Перейдите в раздел Сертификат SAML > XML метаданных федерации и нажмите Скачать, чтобы загрузить файл метаданных IdP.

Шаг 3. Создайте новое SAML-подключение и новую группу пользователей SAML в контроллере Omada.
Перейдите в контроллер, чтобы настроить систему SP. Перейдите в Глобальный просмотр > Настройки > SAML SSO, затем нажмите Добавить новое SAML-подключение.

Введите Имя поставщика удостоверений, загрузите файл Metadata.xml, который мы только что скачали, и нажмите Применить.

Проверьте сведения только что созданной записи. Здесь мы можем увидеть Идентификатор сущности, URL-адрес входа, Omada ID и Идентификатор ресурса.

Нажмите кнопку загрузки, чтобы получить файл metadata.xml.

Нажмите Перейти к группе пользователей SAML.

Нажмите Добавить новую группу пользователей SAML.

Задайте Имя группы пользователей SAML, соответствующую роль и привилегии, затем нажмите Создать.

Шаг 4. Продолжите настройку единого входа в Microsoft Entra.
На главной странице Entra нажмите Корпоративные приложения. Нажмите на приложение, которое мы создали ранее.

Затем перейдите в 2. Настроить единый вход.

Нажмите Загрузить файл метаданных, чтобы загрузить файл metadata.xml, который мы получили на шаге 3.

Обратитесь к рисунку ниже и заполните остальные базовые конфигурации SAML.

- Идентификатор (ID сущности): То же, что и Идентификатор сущности, который мы видели в Атрибутах SAML контроллера.

- URL-адрес ответа (URL службы обработчика утверждений): То же, что и URL-адрес входа, который мы видели в Атрибутах SAML контроллера.

- URL-адрес входа (необязательно): Это текстовое поле должно быть пустым. Пожалуйста, не путайте его с URL-адресом входа, который мы видели в Атрибутах SAML контроллера.
- Для Состояния ретранслятора мы должны закодировать строку “resourceId_omadaId” с помощью Base64. Мы можем использовать любой инструмент с открытым исходным кодом для шифрования Base64, чтобы зашифровать этот скрипт.

Например:

Шаг 5. Создайте новую роль приложения.
Вернитесь в Регистрация приложений > Все приложения и нажмите на приложение, которое мы создали ранее, чтобы продолжить настройку.

Перейдите в Роли приложений и нажмите Создать роль приложения.

Настройте как Отображаемое имя, так и Значение так, чтобы они совпадали с Именем группы пользователей SAML, которое мы настроили в контроллере на шаге 3. Выберите типы как Пользователи/Группы и введите необходимые описания. Затем нажмите Применить.

Шаг 6. Назначьте роль конкретным пользователям.
Вернитесь в Корпоративное приложение на главной странице Entra, нажмите на приложение, которое мы создали ранее.

Перейдите в Пользователи и группы и нажмите Добавить пользователя/группу.

Нажмите первое Не выбрано и выберите пользователей, которым мы собираемся назначить роль, затем нажмите Выбрать.

Нажмите второе Не выбрано и выберите роль, которую мы создали ранее, затем нажмите Выбрать.

Затем нажмите Назначить.

Теперь мы завершили назначение ролей.

Шаг 7. Продолжите настройку единого входа в Entra.
Вернитесь в Корпоративное приложение на главной странице Entra, нажмите на приложение, которое мы создали ранее.

Перейдите в 2. Настроить единый вход.

Нажмите Изменить в части 2 — Атрибуты и утверждения, чтобы отредактировать атрибуты.

Нажмите Добавить новое утверждение.

Добавьте username в качестве параметра. Установите Имя как username, а Атрибут источника как user.displayname.

Добавьте usergroup_name в качестве параметра. Установите Имя как usergroup_name, а Атрибут источника как user.assignedroles.

Проверка
Способ 1: Перейдите в интерфейс настроек входа на основе SAML и нажмите Проверить вход, чтобы протестировать.

Затем браузер должен перенаправить нас на контроллер Omada и выполнить вход.
Способ 2: Перейдите на https://myapplications.microsoft.com. После входа с помощью нашего Microsoft ID нажмите на приложение, которое мы только что настроили, чтобы войти в контроллер Omada.

Затем браузер должен перенаправить нас на контроллер Omada.
Заключение
Мы успешно настроили SAML SSO контроллера Omada с Microsoft Entra/Azure ID.
Чтобы узнать больше деталей о каждой функции и настройке, перейдите в Центр загрузок, чтобы скачать руководство для вашего продукта.
Вопросы и ответы
В1: Что делать, если браузер сообщает об ошибке "While Label Error Page"? После проверки окна инструментов разработчика также появляется код ошибки "405 Method Not Allowed".

О1: Из инструментов разработчика мы видим, что разрешенным методом для заголовков ответа является POST, но обычно метод запроса — GET. Техники не совпадают.
Вернитесь к базовой конфигурации SAML приложения, выберите «Изменить», чтобы настроить конфигурацию, дважды проверьте Идентификатор, URL-адрес ответа и Состояние ретранслятора и не забудьте оставить URL-адрес входа пустым.

В2: Что делать, если я столкнулся с кодом ошибки {"errorCode":-1001, "msg": "Invalid request parameters."} ?
О2: Вернитесь в интерфейс Атрибуты и утверждения, чтобы проверить, правильно ли мы установили username и usergroup_name.

В3: Что делать, если я столкнулся с кодом ошибки {"errorCode":-1, "msg": "Something went wrong. Please try again later or contact our technical support."} ?
О3: Вернитесь в Сертификаты SAML. Если у нас есть более одного сертификата, удалите те, которые были добавлены вручную.
