Когда в Zabbix появился функционал «JIT provisioning» настройка интеграции с LDAP стала приобретать хоть какой-то смысл. Теперь можно наконец-то настроить автоматическое создание пользователя при авторизации.
Итак, давайте настроим авторизацию пользователей FreeIPA домена в Zabbix. Естественно реализуем ограничение доступа пользователей по группе.
Создание пользователя и группы в FreeIPA-домене
Создаём группу пользователей которым будет разрешён доступ в Zabbix и сервисного пользователя с правами на чтение.

Пользователь _zabbix, а группа называются _zabbix_allow.
Настройка Zabbix для использования данных FreeIPA для авторизации
Настройки авторизации особо не отличаются от рассмотренных ранее например для Outline и поэтому рассмотрим сразу мой вариант, не будем подробно повторять одно и тоже и остановимся только на нюансах.
Переходим в раздел Users — > Authentication.

- Выбираем механизм аутентификации по умолчанию LDAP
- Устанавливаем Deprovisioned users group в Disabled
Переходим на вкладку LDAP settings.

- Enable LDAP authentication — активно
- Enable JIT provisioning — активно
Добавляем сервер LDAP.

Здесь ничего особо сложного нет.
- Name — имя подключения (может быть несколько LDAP-каталогов)
- Host и Port — адрес нашего FreeIPA-сервера
- Base DN — база поиска пользователей для FreeIPA это cn=users,cn=accounts,dc=rain,dc=shiskitech,dc=ru
- Search attribute — атрибут поиска для FreeIPA это uid
- Bind DN и Bind password — имя и пароль пользователя с правами доступа к LDAP каталогу для чтения
- Configure JIT provisioning — должно быть активно иначе зачем мы вообще это делаем
- Group configuration — выбираем режим memberOf
- User group membership attribute — в нашем случае memberOf
- User name attribute — givenName
- User last name attribute — sn
А вот User group mapping это связка групп в FreeIPA (по маске или полному имени) и группы в Zabbix. Самое простое решение это назначить всем группам LDAP группу в Zabbix.

Это если вы не хотите заморачиваться с делением пользователей по группам доступа. Хотя я бы рекомендовал все же заранее продумать разделение по группам.
И в финале нам необходимо настроить фильтр пользователей по группе в разделе Advanced configuration установим Search filter.
(&(objectclass=person)(uid=*)(memberOf=cn=_zabbix_allow,cn=groups,cn=accounts,dc=rain,dc=shiskitech,dc=ru)(objectClass=top)(!(nsaccountlock=True)))
Авторизуемся и проверяем что теперь у пользователя тип авторизации LDAP.

И пользователю назначены соответствующие группы которые мы ему назначили через JIT. Вот собственно и ещё с одной интеграцией для проекта по переходу на Российское ПО мы закончили.




