В этом разделе приведены рекомендации по настройке Okta для включения аутентификации SAML 2.0 и инициализации пользователей для Zabbix.
1. Перейдите к https://developer.okta.com/signup/ и зарегистрируйтесь/войдите в свою учётную запись.
2. В веб-интерфейсе Okta перейдите к Applications → Applications.
3. Нажмите на Create App Integration.
Выберите «SAML 2.0» в качестве метода входа и нажмите Next.
4. В общих настройках введите имя приложения и нажмите Next.
5. В настройках SAML введите указанные ниже значения, затем нажмите Next.
http://<url-вашего-zabbix>/zabbix/index_sso.php?acs
acs
не был вырезан в запросе. Также следует отметить флажок Use this for Recipient URL and Destination URL.zabbix
Этия заявления атрибутов (attribute statements) вставляются в утверждения SAML, используемые вместе с Zabbix.
Используемые здесь имена атрибутов являются произвольными примерами. Вы можете использовать другие имена атрибутов, однако необходимо, чтобы они совпадали со значениями соответствующего поля в настройках SAML в Zabbix.
Если вы хотите настроить прозрачный вход SAML в Zabbix без JIT инициализации пользователей, то требуется только атрибут email.
Если вы планируете использовать зашифрованное соединение, сгенерируйте закрытый и открытый (private/public) сертификаты шифрования, затем загрузите открытый сертификат в Okta. Диалог загрузки сертификата появляется, когда Assertion Encryption установлено в значение «Encrypted» (чтобы найти этот параметр, нажмите Show Advanced Settings).
6. На следующей вкладке выберите: «I'm a software vendor. I'd like to integrate my app with Okta (Я поставщик программного обеспечения. Я хочу интегрировать свое приложение с Okta)» и нажмите «Finish».
7. Перейдите на вкладку «Assignments» недавно созданного приложения и нажмите кнопку Assign, затем выберите «Assign to People» из раскрывающегося списка.
8. В появившемся всплывающем окне назначьте приложение людям, которые будут использовать SAML 2.0 для аутентификации в Zabbix, затем нажмите Save and go back.
9. Перейдите на вкладку «Sign On» и нажмите на кнопку View Setup Instructions (Просмотреть инструкции по настройке).
Инструкции по настройке будут открыты в новой вкладке; держите эту вкладку открытой во время настройки Zabbix.
1. В Zabbix перейдите в настройки SAML (SAML settings) и заполните параметры конфигурации в соответствии с инструкциями по настройке из Okta:
Поле в Zabbix | Поле настроек в Okta | Пример значения |
---|---|---|
IdP entity ID | Identity Provider Issuer | |
URL единого входа (SSO service URL) |
Identity Provider Single Sign-On URL | |
Атрибут имени пользователя (Username attribute) |
Attribute name | usrEmail |
ID объекта SP (SP entity ID) |
Audience URI | zabbix |
Атрибут имени группы (Group name attribute) |
Attribute name | groups |
Атрибут имени пользователя (User name attribute) |
Attribute name | user_name |
Атрибут фамилии пользователя (User last name attribute) |
Attribute name | user_lastname |
Также необходимо настроить соответствие группе пользователей и соответствие способов оповещений.
2. Сертификат, предоставленный в инструкциях по настройке Okta SAML, загрузите в папку ui/conf/certs как idp.crt.
Установите для него права 644, выполнив:
3. Если Assertion Encryption в Okta имеет значение «Encrypted», флажок «Декларации (Assertions)» параметра Шифрование (Encrypt) в Zabbix также должен быть отмечен.
4. Нажмите кнопку «Обновить (Update)», чтобы сохранить эти настройки.
1. Чтобы включить инициализацию SCIM, перейдите в раздел «General» -> «App Settings» приложения в Okta.
Отметьте флажок Enable SCIM provisioning. В результате появится новая вкладка Provisioning.
2. Перейдите на вкладку «Provisioning» для настройки подключения SCIM:
api_scim.php
, например:https://<your-zabbix-url>/zabbix/api_scim.php
email
HTTP header
Если у вас возникли проблемы с аутентификацией, смотрите Проброс заголовка Authorization.
3. Нажмите Test Connector Configuration, чтобы проверить подключение. Если все правильно, отобразится сообщение об успешном завершении.
4. В «Provisioning» -> «To App» убедитесь, что отмечены следующие флажки:
Это гарантирует, что эти типы запросов будут отправлены в Zabbix.
5. Убедитесь, что все атрибуты, определённые в SAML, определены в SCIM. Вы можете получить доступ к редактору профиля для вашего приложения в «Provisioning» -> «To App», нажав Go to Profile Editor.
Нажмите Add Attribute. Заполните значения для Display name, Variable name, External name именем атрибута SAML, например, user_name
.
External namespace должно быть таким же, как и схема пользователя: urn:ietf:params:scim:schemas:core:2.0:User
6. Перейдите в раздел «Provisioning» -> «To App» -> «Attribute Mappings» вашего приложения. Нажмите Show Unmapped Attributes внизу. Появятся недавно добавленные атрибуты.
7. Сопоставьте каждый добавленный атрибут.
8. Добавьте пользователей на вкладке «Assignments». Ранее пользователей нужно было добавить в Directory -> People. Все эти назначения будут отправлены как запросы в Zabbix.
9. Добавьте группы на вкладке «Push Groups». Шаблон соответствия групп пользователей в настройках SAML в Zabbix должен соответствовать указанной здесь группе. Если соответствия нет, пользователь не сможет быть создан в Zabbix.
Информация о членах группы отправляется каждый раз, когда вносятся какие-либо изменения.