LDAP collector мини мануал

Всем доброго времени суток! писал ман для внутренней вики - хочу поделиться - вдруг кому поможет!
если вдруг есть неточности, или я не правильно понимаю механику работы - прошу написать и я поправлю и тут и у себя)

Itsm интеграция с active directory

интеграция реализована с помощью инструмента Data collector for LDAP] и работает следующим образом:

  1. В кроне есть задание, которое каждые 5 минут запускает скрип коллектора

*/5 * * * * php /var/ldap-data-collector/exec.php

  1. Само приложение Data collector for LDAP является отдельным. Оно выгружает пользователей из актив директори в 2 файла csv (пользователи и персоны),

  2. далее создает задания синхронизации в itop

  3. создает доп таблицу в базе данных sql

  4. Производит создание и/или изменение пользователей

Сама папка с приложением должна хранится не в директории itop – необходимо для безопасности.

Необходимо настроить 3 файла

/var/ldap-data-collector/collectors/params.distrib.xml - основные настройки и настройки интеграции

/var/ldap-data-collector/conf/params.distrib.xml — настройки синхрона с сервером itop

/var/ldap-data-collector/core/sqlcollector.class.inc.php необходимо указать настройки бд

результаты csv файлов лежат в папке data и представляют из себя 2 файла

/var/ldap-data-collector/data/iTopUserLDAPCollector-1.csv

/var/ldap-data-collector/data/iTopPersonLDAPCollector-1.csv

в процессе тестирования необходимо запускать утилиты

oit@itsm:/var/ldap-data-collector$ php collectors/bin/ldap-test.php проверка синхрона с LDAP

oit@itsm:/var/ldap-data-collector$ php toolkit/testconnection.php проверка синхрона с системой itop

Что было настроено:

  1. Добавление пользователей только тех — у кого в AD прописан e-mail . Настраивается в файле

/var/ldap-data-collector/collectors/params.distrib.xml

параметром

<ldappersonfilter>(&amp;(objectClass=person)(mail=*))</ldappersonfilter>

в этом же файле указано, что пользователи автоматом попадают в организацию АО «Завод»Компонент» и имеют русский язык

<org_id>Компания"</org_id>

<user_defaults>
<!-- Default values for iTop UserLDAP's object fields -->
<profile>Portal user</profile>
<language>RU RU</language>
</user_defaults>

Настройка синхрона с Activedirectory

<ldapuri>ldap://SERVER.local:389</ldapuri>
<ldapdn>DC=DOMAIN,DC=local</ldapdn>
<ldaplogin>USER@DOMAIN</ldaplogin>
<ldappassword>PASSWORD</ldappassword>

В файле

/var/ldap-data-collector/conf/params.distrib.xml

в самом конце необходимо поправить

<curl_options>
<CURLOPT_SSL_VERIFYHOST>0</CURLOPT_SSL_VERIFYHOST>
<CURLOPT_SSL_VERIFYPEER>0</CURLOPT_SSL_VERIFYPEER>
</curl_options>

если iTop работает через https

и в этом же файле должен быть указан пользователей, состоящий в группах REST / ADMIN

Важное!

Если нужно в ручную удалить пользователя, который интегрирован через Data collector for LDAP

Нужно в веб интерфейсе удалить синхронизации и после удалить пользователя.

При последующем выполнении задания cron синхронизации восстановятся.

Важно!
в телеграмм канале, подсказали что:

params.distrib.xml не нужно менять, нужно создать params.local.xml

В sqlcollector.class.inc.php тоже лезть не нужно

не тестировал, но важные замечания!