Предварительные требования
Сначала вам необходимо сделать следующее:
- Настроить Workspace ONE Access и интегрировать его с AD.
- Создать пользователей в Zabbix используя адрес электронной почты в качестве Username.
В данном посте я использую Zabbix 6.2 и VMware Workspace ONE Access 22.09.0.0 (Build 20529090).
Сбор данных с Workspace ONE Access
На вкладке Resources, нажмите Web Apps, и выберете Settings.
В левом меню нажмите SAML Metadata.
В центральной части, нажмите на ссылку Identity Provider (IdP) metadata, и на кнопку DOWLOAD для загрузки сертификата IdP.
IdP метадата откроется в новой вкладке браузера.
Скопируйте IdP метадату (нужная информация подчеркнута).
Настраиваем Zabbix
Вы можете более подробно прочитать о иcпользовании SAML с Zabbix в официальной документации здесь.
Генерируем SP сертификат и закрытый ключ для Zabbix
Подключаемся к Zabbix серверу с компонентом Frontend посредством SSH.
Открываем /etc/zabbix/web/zabbix.conf.php (в вашей версии zabbix путь может отличаться) файл и ищем внутри путь к сертификатам.
Идем в папку /usr/share/zabbix/conf/certs/ (iв данном примере) и генерируем сертификат и закрытый ключ используя утилиту openssl.
# cd /usr/share/zabbix/conf/certs/
# openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout sp.key -out sp.crt
Скачиваем /usr/share/zabbix/conf/certs/sp.crt к себе на компьютер.
В папку /usr/share/zabbix/conf/certs/, загружаем IdP сертификат (Figure 2) с именем idp.crt. Имя мы подсмотрели в файле /etc/zabbix/web/zabbix.conf.php
Настраиваем SAML аутентификацию
В главном меню выберете Administration, далее Authentication, и выберете вкладку SAML settings.
Включите Enable SAML authentication.
В поле IdP entiti ID, вставьте значение из Изображение 3.
В поле SSO service URL, вставьте значение из Изображение 3.
В поле SLO service URL, вставьте значение из Изображение 3.
В поле Username atrtribute, введите usrEmail.
В поле SP entity ID введите уникальное имя. В данном примере, я ввел zabbix.
В поле SP name ID format, вставьте значение из Изображение 3.
В разделе Sign, выберете Messages и Assertions.
Нажмите Update.
Создание нового SAML приложения в Workspace ONE Access
На вкладке Resources, нажмите на Web Apps, и выберите NEW.
В поле Name, введите имя нового приложения.
(Опционально) В поле Description, введите описание нового приложения.
(Опционально) В поле Icon, нажмите Select file и загрузите логотип Zabbix как иконку приложения.
(Опционально) В поле Category, выберите категорию для приложения.
Нажмите Next для перехода к конфигурации приложения.
В Authentication Type, выберите SAML 2.0.
В Configuration, выберите Manual.
В поле Single Sign-On URL, вставьте<path_to_zabbix_ui>/index_sso.php?acs. В данном примере я ввел http://zabbix.lab.local/index_sso.php?acs.
В поле Recipient URL, вставьте <path_to_zabbix_ui>/index_sso.php?acs. В данном примере я ввел http://zabbix.lab.local/index_sso.php?acs.
В поле Application ID, введите уникальное имя что вы выбрали на шаге конфигурации zabbix. В данном примере я ввел zabbix.
В меню Username Format, выберите Email Address.
В поле Username Value, введите ${user.email}.
Нажмите на ссылку Advanced Properties.
В поле Sign Response, выберите Yes.
В поле Sigh Assertion, выберите Yes.
В выпадающем меню Signature Algorithm, выберите SHA256 with RSA.
В выпадающем меню Digest Algorithm, выберите SHA256.
В поле Assertion Time, введите 200.
В поле Request Signature, вставьте содержимое sp.crt скачанного с Zabbix.
В разделе Custom Attribute Mapping, нажмите + Add Row.
В поле Name нового атрибута, введите usrEmail.
В поле Format нового атрибута, выберите Unspecified.
В поле Value нового атрибута, введите ${user.email}.
Нажмите Next для перехода к выбору политики доступа.
Выберите нужную вам политику доступа.
Нажмите Next для перехода к обзору введенных данных.
Нажмите Save для создания приложения.
Проверка интеграции
Войдите в Workspace ONE Access.
В окне Workspace ONE Access, запустите Zabbix нажав на иконку приложения.
Если вы попали в Zabbix без ввода пароля, то это успех =)