11. Настройка SAML с Microsoft Entra ID

Обзор

В этом разделе приведены рекомендации по настройке единого входа в Zabbix из Microsoft Entra ID (ранее Microsoft Azure Active Directory) с использованием аутентификации SAML 2.0.

Обратите внимание, что для работы единого входа имя пользователя должно существовать в Zabbix, однако его пароль Zabbix использоваться не будет. Если аутентификация прошла успешно, то Zabbix сопоставит локальное имя пользователя с атрибутом имени пользователя, возвращаемым SAML.

Настройка Microsoft Entra ID

Создание приложения

1. Войдите в центр администрирования Microsoft Entra по адресу Microsoft Entra ID. Для тестирования вы можете создать бесплатную пробную учётную запись в Microsoft Entra ID.

2. В центре администрирования Microsoft Entra выберите Applications (Приложения) -> Enterprise applications (Корпоративные приложения) -> New application (Новое приложение) -> Create your own application (Создать собственное приложение).

3. Добавьте имя своего приложения и выберите опцию Integrate any other application... (Интеграция любого другого приложения...). После этого нажмите Create (Создать).

Настройка единого входа

1. На странице приложения перейдите в раздел Set up single sign on (Настройка единого входа) и нажмите Get started (Начать). Затем выберите SAML.

2. Отредактируйте Basic SAML Configuration (Базовую конфигурацию SAML):

  • В поле Identifier (Entity ID) задайте уникальное имя для идентификации вашего приложения в Azure Active Directory, например, zabbix;
  • В поле Reply URL (Assertion Consumer Service URL) задайте конечную точку единого входа Zabbix: https://<путь-к-веб-интерфейсу-zabbix>/index_sso.php?acs:

Обратите внимание, что «https» является обязательным. Чтобы это работало с Zabbix, необходимо добавить в conf/zabbix.conf.php следующую строку:

$SSO['SETTINGS'] = ['use_proxy_headers' => true];

3. Отредактируйте Attributes & Claims. Вы должны добавить все атрибуты, которые хотите передать в Zabbix (в данном случае, user_email).
Имена атрибутов произвольны. Можно использовать разные имена атрибутов, однако необходимо, чтобы они совпадали со значениями соответствующего поля в настройках SAML в Zabbix.

  • Нажмите Add new claim (Добавить новое утверждение), чтобы добавить атрибут:

4. В SAML Certificates (Сертификаты SAML) загрузите сертификат Base64, предоставленный Entra ID, и поместите его в conf/certs вашей инсталляции веб-интерфейса Zabbix.

Установите для него права доступа 644, выполнив:

chmod 644 entra.cer

Убедитесь, что conf/zabbix.conf.php содержит строку:

$SSO['IDP_CERT'] = 'conf/certs/entra.cer';

5. Используйте значения из Set up <имя вашего приложения> в Entra ID для настройки аутентификации SAML в Zabbix (см. следующий раздел):

Настройка Zabbix

1. В Zabbix перейдите в Настройки SAML (SAML settings) и заполните параметры конфигурации на основе конфигурации Entra ID:

Поле Zabbix Поле настроек в Entra ID Пример значения
IdP entity ID Microsoft Entra identifier
URL единого входа
(SSO service URL)
Login URL
URL единого выхода
(SLO service URL)
Logout URL
ID объекта SP
(SP entity ID)
Identifier (Entity ID)
Атрибут имени пользователя
(Username attribute)
Custom attribute (claim) user_email

Нажмите Update (Обновить), чтобы сохранить эти настройки.