OpenID Connect (OIDC) — это протокол аутентификации на базе OAuth 2.0, который позволяет брандмауэру Zyxel аутентифицировать пользователей через внешний поставщик удостоверений (IdP).
Серия Zyxel USG FLEX H поддерживает аутентификацию OIDC с Microsoft Entra ID для Captive Portal и SSL VPN с OpenVPN Connect.
Вместо того чтобы поддерживать отдельные учетные данные пользователей на брандмауэре, пользователи перенаправляются на Microsoft Entra ID и аутентифицируются с использованием своей существующей организационной учетной записи. Затем брандмауэр Zyxel проверяет ответ аутентификации OIDC и использует возвращенную информацию о пользователе для авторизации доступа.
В этой статье описывается, как настроить Microsoft Entra ID в качестве сервера OIDC на Zyxel USG FLEX H Series, включая аутентификацию на основе пользователей и групп.
Примечание: Аутентификация OIDC не поддерживается для Remote Access VPN/IKEv2 или SSL VPN с SecuExtender.
Если вы хотите настроить Google в качестве поставщика OIDC, смотрите Как настроить Google в качестве поставщика удостоверений OIDC на Zyxel USG FLEX H Series.
Требования
Перед настройкой аутентификации Microsoft Entra ID OIDC на брандмауэре Zyxel убедитесь, что выполнены следующие требования:
- Брандмауэр Zyxel с uOS 1.39 или новее.
- Доступ к тенанту Microsoft Entra ID с правами на регистрацию приложений.
- Учетная запись пользователя в Microsoft Entra ID, которая будет использована для тестирования.
- Группа безопасности в Microsoft Entra ID, если требуется аутентификация на основе групп.
- Общедоступное FQDN для брандмауэра Zyxel.
- Действительный HTTPS-сертификат, настроенный для FQDN брандмауэра.
- Подключение к интернету от брандмауэра Zyxel к конечным точкам аутентификации Microsoft Entra ID.
- Captive Portal должен быть включен на брандмауэре Zyxel, если аутентификация OIDC используется для входа через Captive Portal.
Пример среды
Для этой статьи используется следующая тестовая среда:
| Компонент | Пример |
|---|---|
| Брандмауэр Zyxel | USG FLEX 200H |
| Поставщик аутентификации | Microsoft Entra ID |
| Протокол аутентификации | OpenID Connect (OIDC) |
| Тенант Entra ID | zyxel.onmicrosoft.com |
| Тестовое приложение | Zyxel OIDC Test |
| Тестовая группа | Zyxel-OIDC-Test |
| FQDN брандмауэра | h200.zylab.uk |
1. Настройка Microsoft Entra ID
1.1 Регистрация приложения
- Войдите в административный центр Microsoft Entra.
- Перейдите в Identity → Applications → App registrations.
- Нажмите New registration.
- Настройте приложение следующим образом:
| Настройка | Значение |
|---|---|
| Имя | Zyxel OIDC Test |
| Поддерживаемые типы учетных записей | Single tenant |
| Redirect URI | Настроить позже |
Для Поддерживаемых типов учетных записей выберите Accounts in this organizational directory only (Single tenant).
Нажмите Register.
Примечание: Redirect URI будет настроен на следующем шаге после получения URL обратного вызова OIDC с брандмауэра Zyxel.
1.2 Запись идентификаторов приложения
После регистрации приложения откройте страницу Обзор приложения.
В разделе Основные сведения содержатся идентификаторы, необходимые для настройки OIDC на брандмауэре Zyxel:
- Application (client) ID — идентификатор зарегистрированного приложения.
- Directory (tenant) ID — идентификатор тенанта Microsoft Entra.
- Поддерживаемые типы учетных записей — подтверждает, что приложение настроено как однотентантное.
Значение Application (client) ID позже будет введено в конфигурацию Zyxel OIDC как Client ID.
Значение Directory (tenant) ID используется для формирования Issuer URL Microsoft Entra OIDC.
Для однотентантного приложения URL издателя имеет следующий формат:
https://login.microsoftonline.com/<TENANT_ID>/v2.01.3 Создание секрета клиента
Брандмауэру Zyxel необходимы учетные данные клиента для аутентификации приложения OIDC при взаимодействии с Microsoft Entra ID.
- В регистрации приложения перейдите в Manage → Certificates & secrets.
- Выберите вкладку Client secrets.
- Нажмите New client secret.
Настройте секрет в соответствии с требованиями безопасности и ротации секретов вашей организации.
После создания секрета Microsoft Entra ID отобразит секрет в разделе Client secrets.
1.4 Копирование значения секрета клиента
После создания секрета клиента немедленно скопируйте Значение и сохраните его в надежном месте.
Важно: Значение секрета клиента отображается только один раз при создании секрета. Если значение потеряно, создайте новый секрет клиента.
Значение, показанное под Value, должно быть введено в конфигурацию Zyxel как Client Secret.
Не используйте Secret ID в качестве секрета клиента.
1.5 Создание группы безопасности в Microsoft Entra ID
Создайте группу безопасности, которая будет использоваться для идентификации пользователей при аутентификации OIDC.
- Откройте Microsoft Entra ID → Groups → All groups.
- Нажмите New group.
- Установите Тип группы в значение Security.
- Введите имя группы.
В этом примере используйтеZyxel-OIDC-Test. - Установите Тип членства в значение Assigned.
- Добавьте тестового пользователя в группу.
- Создайте группу.
После создания группы откройте её и запишите Object ID. Этот идентификатор будет использоваться позже при создании External Group User на брандмауэре Zyxel.
Примечание: Имя группы используется для администрирования и идентификации в Microsoft Entra ID. Брандмауэр использует Object ID группы для её идентификации.
1.6 Настройка claims для групп
Токен OIDC должен содержать информацию о членстве пользователя в группах. Настройте claims для групп в приложении Microsoft Entra ID.
- Откройте зарегистрированное приложение Zyxel OIDC Test.
- Перейдите в Manage → Token configuration.
- Нажмите Add groups claim.
- В разделе Select group types to include in Access, ID, and SAML tokens выберите Security groups.
- В разделе Customize token properties by type выберите Group ID.
- Нажмите Add.
Теперь Microsoft Entra ID будет включать идентификатор группы безопасности пользователя в токен OIDC.
В этом примере информация о группе возвращается в claim groups.
Брандмауэр Zyxel будет использовать этот claim позже с:
Group Attribute: groups
Примечание: claim groups не создает группу. Группа создается на предыдущем шаге. claim groups указывает Microsoft Entra ID включать информацию о группах пользователя в токен OIDC.
Это позволяет брандмауэру определить членство пользователя в группе и сопоставить пользователя с соответствующим External Group User.
2. Настройка аутентификации OIDC на брандмауэре Zyxel
После настройки приложения в Microsoft Entra ID настройте сервер аутентификации OIDC на брандмауэре Zyxel.
Перейдите в:
User & Authentication → User Authentication → AAA Server
Создайте новый сервер аутентификации и введите следующие настройки:
| Настройка | Пример значения |
|---|---|
| Имя | Entra_ID_Test |
| Описание | Microsoft Entra ID OIDC test |
| Issuer URL | URL издателя Microsoft Entra ID |
| Client ID | Application (client) ID из Microsoft Entra ID |
| Client Secret | Значение секрета клиента из Microsoft Entra ID |
| Redirect Address | h200.zylab.uk |
Redirect URI генерируется автоматически брандмауэром Zyxel на основе Redirect Address и порта HTTPS.
В этом примере сгенерированный Redirect URI:
https://h200.zylab.uk:1003/oauth2/callback
Этот URI также должен быть добавлен в конфигурацию Redirect URI приложения Microsoft Entra.
Важно: Для поля Client Secret используйте значение секрета клиента Microsoft Entra. Не используйте Secret ID.
Дополнительные настройки
Настройте следующие дополнительные параметры:
| Настройка | Значение | Описание |
|---|---|---|
| Additional Scope | email |
Запрашивает адрес электронной почты пользователя у Microsoft Entra ID. |
| Login Name Attribute | email |
Использует адрес электронной почты пользователя в качестве имени для входа. |
| Group Attribute | groups |
Получает информацию о группах пользователя из токена OIDC. |
3. Настройка Redirect URI в Microsoft Entra ID
Используйте Redirect URI, сгенерированный в конфигурации Zyxel OIDC.
- В приложении Microsoft Entra откройте Manage → Authentication.
- Нажмите Add Redirect URI.
Введите Redirect URI, показанный в конфигурации Zyxel OIDC:
https://<firewall-FQDN>:1003/oauth2/callbackНажмите Configure.
Важно: Redirect URI должен точно соответствовать URI, настроенному на брандмауэре Zyxel.
4. Проверка конфигурации OIDC
- На брандмауэре Zyxel нажмите Test для проверки конфигурации OIDC.
Брандмауэр откроет новую вкладку браузера и перенаправит пользователя на страницу входа Microsoft Entra ID.
При первом входе Microsoft Entra ID может показать страницу Запрошенные разрешения.
Просмотрите запрошенные разрешения и нажмите Принять.
Если вы администратор и хотите предоставить согласие для всех пользователей тенанта, выберите Согласиться от имени вашей организации перед нажатием Принять. Предоставляйте согласие для всей организации только после подтверждения, что запрашиваемые разрешения необходимы приложению.
Примечание: Страница согласия обычно показывается только при необходимости согласия. После предоставления необходимого согласия она не должна отображаться при каждом последующем входе, если не запрашиваются дополнительные разрешения или существующее согласие не было отменено.
5. Проверка теста аутентификации
После успешного входа брандмауэр отображает результат Теста аутентификации OIDC.
Сообщение OIDC Authentication Successful (Verified) подтверждает, что брандмауэр успешно аутентифицировал пользователя через Microsoft Entra ID и получил ожидаемую информацию о пользователе.
Результат также показывает атрибуты, полученные от поставщика удостоверений:
- Имя пользователя – учетная запись аутентифицированного пользователя.
- Атрибут пользователя – атрибут, используемый в качестве имени для входа.
- Атрибут группы – атрибут, используемый для получения информации о группах пользователя.
- Список групп – группы, возвращаемые Microsoft Entra ID для аутентифицированного пользователя.
В этом примере Group Attribute настроен как groups, поэтому брандмауэр получает информацию о группах пользователя из claim groups.
Примечание: Точные значения, показанные в результате теста, зависят от вошедшего пользователя и конфигурации Microsoft Entra ID.
6. Создание External Group User
После успешного теста аутентификации OIDC создайте External Group User на брандмауэре Zyxel.
Перейдите в:
User & Authentication → User/Group → User
Создайте нового пользователя со следующими настройками:
- Имя пользователя: Введите имя для внешней группы.
-
Тип пользователя:
External Group User - Сервер аутентификации: Выберите настроенный сервер Microsoft Entra ID OIDC.
- Идентификатор группы: Введите идентификатор группы Microsoft Entra ID.
- Описание: Введите необязательное описание.
Значение Идентификатора группы должно совпадать с ID группы, возвращаемым Microsoft Entra ID в claim groups в ходе теста аутентификации OIDC.
Например, в нашей тестовой среде результат теста OIDC показал группу в атрибуте group_list. Это значение затем используется как Идентификатор группы для External Group User.
Примечание: Идентификатор группы обычно является объектным ID (GUID) группы Microsoft Entra ID. Используйте ID группы, возвращаемый токеном OIDC, а не отображаемое имя группы.
7. Настройка политики аутентификации Captive Portal
После создания External Group User настройте политику аутентификации Captive Portal.
Перейдите в:
Captive Portal → Authentication Policy
Создайте или отредактируйте политику аутентификации и настройте следующие параметры:
- Включить: Включите политику.
- Входящий интерфейс: Выберите интерфейс, к которому подключаются пользователи Captive Portal.
-
Исходный адрес: Выберите нужный исходный адрес или
any. -
Адрес назначения: Выберите нужный адрес назначения или
any. - Включить Walled Garden: Включите эту опцию.
- Доверенный поставщик удостоверений: Выберите поставщика удостоверений Microsoft Entra ID OIDC.
- Метод входа: Выберите Sign-on With.
- Выберите настроенный сервер аутентификации OIDC.
Опция Walled Garden позволяет неаутентифицированным пользователям получить доступ к необходимому поставщику удостоверений до завершения аутентификации. Это требуется для входа по OIDC.
Примечание: Выбранный здесь доверенный поставщик удостоверений должен совпадать с сервером аутентификации OIDC, настроенным в разделе User & Authentication → User Authentication.
8. Сохранение и проверка политики аутентификации
Нажмите Apply для сохранения конфигурации.
Политика должна появиться в списке Captive Portal → Authentication Policy.
В нашем примере политика использует:
-
Метод входа:
sign-on -
Sign-on With:
Entra_ID_Test -
Тип портала:
internal
Это подтверждает, что политика Captive Portal настроена на использование сервера аутентификации Microsoft Entra ID OIDC.
9. Проверка аутентификации OIDC
После завершения настройки OIDC проверьте аутентификацию с клиентского устройства.
- Подключите клиентское устройство к сети, защищенной Captive Portal.
- Откройте веб-браузер и перейдите на внешний веб-сайт.
- Отобразится страница входа Captive Portal.
- Нажмите Sign in для начала аутентификации OIDC.
Войдите с учетной записью Microsoft Entra ID.
После успешной аутентификации пользователь будет перенаправлен обратно в сеть.
Брандмауэр теперь должен распознавать пользователя как External Group User.
Log & Report → Log / Events → System
Проверьте логи брандмауэра в разделе:
Устранение неполадок: группы не найдены
Если аутентификация OIDC прошла успешно, но результат аутентификации показывает No groups found, проверьте конфигурацию групп как на брандмауэре, так и в Microsoft Entra ID.
Проверьте следующее:
- На брандмауэре убедитесь, что настроен Group Attribute.
- Убедитесь, что значение совпадает с claim группы, отправляемым Microsoft Entra ID.
В этом примере значение —groups. - Убедитесь, что аутентифицированный пользователь является членом ожидаемой группы.
- Проверьте, что Microsoft Entra ID отправляет информацию о группах в ID токене.
Например, если на брандмауэре настроено Group Attribute = groups, результат аутентификации должен содержать атрибут groups и соответствующий ID группы.
Если отображается No groups found, сама аутентификация OIDC все еще может быть успешной. Проблема связана именно с получением или сопоставлением информации о группах пользователя.

Комментарии
0 комментариевВойдите в службу, чтобы оставить комментарий.