OpenLDAP
Подключение OpenLDAP к Trialix через Trialix Connector, профиль openldap. OpenLDAP проверяется автотестом на каждом выпуске Trialix: сервер OpenLDAP 2.4 (образ osixia/openldap 1.5.0) с тестовыми сотрудниками и вложенными группами, настоящий коннектор, предпросмотр, синхронизация, пересоздание группы, порог отключений, пустой ответ каталога. В автотесте коннектор настроен профилем custom с теми же атрибутами (entryUUID, member, inetOrgPerson, groupOfNames); профиль openldap отличается от него только готовыми фильтрами и признаком отключения pwdAccountLockedTime.
Сервисная учётная запись
Заведите отдельную запись для входа коннектора и дайте ей только чтение нужных веток.
- Хеш пароля:
slappasswd
- Запись (подставьте хеш):
ldapadd -x -H ldaps://ldap.company.local -D cn=admin,dc=company,dc=local -W <<'LDIF'
dn: cn=svc-trialix,ou=services,dc=company,dc=local
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: svc-trialix
description: Trialix Connector, только чтение
userPassword: {SSHA}ЗАМЕНИТЕ_НА_ХЕШ
LDIF
- Права на чтение (конфигурация
cn=config). Порядок правилolcAccessважен: новые правила ставьте выше общих, номер{0}и база{1}mdbзависят от вашей установки.
ldapmodify -Y EXTERNAL -H ldapi:/// <<'LDIF'
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to dn.subtree="ou=people,dc=company,dc=local" by dn.exact="cn=svc-trialix,ou=services,dc=company,dc=local" read by * break
olcAccess: {1}to dn.subtree="ou=groups,dc=company,dc=local" by dn.exact="cn=svc-trialix,ou=services,dc=company,dc=local" read by * break
LDIF
Проверка: ldapsearch -x -H ldaps://ldap.company.local -D cn=svc-trialix,ou=services,dc=company,dc=local -W -b ou=people,dc=company,dc=local "(objectClass=inetOrgPerson)" entryUUID mail.
Параметры подключения
| Параметр | Значение |
|---|---|
| Профиль | openldap |
| Адрес | ldaps://ldap.company.local:636 или ldap://ldap.company.local:389 со StartTLS |
| Базовый DN | dc=company,dc=local |
| Ветки | --user-base-dn ou=people,dc=company,dc=local, --group-base-dn ou=groups,dc=company,dc=local |
| Сервисная учётная запись | cn=svc-trialix,ou=services,dc=company,dc=local |
sudo -i
read -rs SVC_PW && export SVC_PW
trialix-connector setup --profile openldap --url ldaps://ldap.company.local:636 --base-dn dc=company,dc=local \
--user-base-dn ou=people,dc=company,dc=local --group-base-dn ou=groups,dc=company,dc=local \
--bind-dn cn=svc-trialix,ou=services,dc=company,dc=local --password-env SVC_PW --ca-file /etc/trialix-connector/ldap-ca.pem
Что читает коннектор
| Что | Атрибут |
|---|---|
| Сотрудники | (objectClass=inetOrgPerson) |
| Группы | (objectClass=groupOfNames) или (objectClass=groupOfUniqueNames) |
| Неизменяемый идентификатор | entryUUID (операционный атрибут, коннектор запрашивает его явно) |
| Вторичные признаки | DN, uid, mail |
| Имя, фамилия, должность, отдел, телефон, руководитель | givenName, sn, title, departmentNumber, telephoneNumber, manager |
| Членство | member, uniqueMember (значения - DN), memberOf у пользователя, если включён оверлей memberof; вложенность до 5 уровней |
| Отключённая учётная запись | pwdAccountLockedTime (оверлей ppolicy) |
Ограничения:
- Группы
posixGroupс атрибутомmemberUid(логины вместо DN) не поддерживаются. ИспользуйтеgroupOfNamesилиgroupOfUniqueNames. - Без оверлея ppolicy в OpenLDAP нет стандартного признака отключения. Тогда увольнение отражайте исключением сотрудника из привязанных групп или удалением записи: такой сотрудник в Trialix деактивируется. Свой признак отключения можно задать профилем «Произвольный LDAP».
LDAPS и StartTLS
- LDAPS: в
cn=configдолжны быть заданыolcTLSCertificateFile,olcTLSCertificateKeyFile, а вSLAPD_SERVICES(илиslapd.service) -ldaps:///. - StartTLS: адрес
ldap://…:389и флаг--starttls. - Корневой сертификат, которым подписан сертификат сервера, укажите в
--ca-file.
Проверка
sudo trialix-connector doctor
sudo trialix-connector preview --json | head -40
В preview --json у каждого сотрудника должен быть заполнен id (значение entryUUID). Если вместо него стоит dn:…, у сервисной учётной записи нет права читать entryUUID.
Обновлено 29.09.2026