Интеграция LDAP / Active Directory с PanDev Metrics on-prem
Кратко. Гайд подключает on-prem PanDev Metrics к LDAP или Active Directory прямо из админ-UI примерно за 15 минут. К концу процедуры сотрудники входят с корпоративными кредами, новые пользователи заводятся автоматически при первом входе, IDE-плагины переиспользуют ту же identity. Аудитория: администратор.
Что понадобится
- PanDev Metrics on-prem установлен и доступен, первый admin-аккаунт создан — см. Лицензирование и первый вход
- Достижимый LDAP или AD-сервер с TLS на порту 636 (LDAPS) — plain
ldap://на 389 тоже работает, но не рекомендуется - Сервисный аккаунт в каталоге с правом читать пользовательские записи — bind DN и пароль
- Base DN, где живут пользователи (например,
ou=Users,dc=example,dc=com) - Атрибут поиска, под которым пользователи логинятся — обычно
sAMAccountNameдля Active Directory илиmail/uidдля OpenLDAP
LDAP — единственный SSO, поддерживаемый в on-prem PanDev Metrics на сегодня. SAML, OIDC и Google sign-in в on-prem недоступны. Закладывайте LDAP под любое требование single sign-on.
Шаг 1 — Настройте LDAP в админ-UI
LDAP настраивается полностью из админ-UI — в .env ничего задавать не нужно. Войдите как администратор и откройте Настройки → Основные настройки → Ldap.
Заполните каждое поле:
| Поле | Что вводить |
|---|---|
| LDAP URL | ldaps://ldap.example.com:636 (или ldap:// для plain LDAP) |
| LDAP search base | Base DN для поиска пользователей (например, ou=Users,dc=example,dc=com) |
| LDAP search attribute | Атрибут, под которым пользователи логинятся (sAMAccountName, mail, uid) |
| LDAP admin username | Bind DN read-only сервисного аккаунта |
| Password | Пароль сервисного аккаунта |
Нажмите Test connection and save. PanDev Metrics свяжется через сервисный аккаунт, прогонит пробный поиск и сохранит настройки только после успеха. Изменения вступают в силу сразу — рестарт не нужен.
Шаг 2 — Проверьте интеграцию
Выйдите из админской сессии и войдите под LDAP-аккаунтом, который существует в указанной search base. Первый вход создаст запись пользователя автоматически — новый пользователь появится в Настройки → Пользователи без назначенной роли.
Роли не назначаются автоматически. Администратор должен выдать роль (Owner, Maintainer или Viewer), прежде чем новый пользователь сможет работать в продукте.
Решение проблем
Test connection падает с Cannot connect to LDAP server
Backend-контейнер не достучался до каталога. Проверьте три вещи:
- Hostname URL резолвится из контейнера:
docker compose exec pandev-metrics-server getent hosts ldap.example.com. - Порт открыт из контейнера:
docker compose exec pandev-metrics-server nc -vz ldap.example.com 636. - Цепочка сертификатов LDAP-сервера валидна, или вы используете plain
ldap://для теста.
Test connection падает с Invalid credentials (LDAP result code 49)
Неверны bind DN или пароль. Уточните DN сервисного аккаунта в инструменте управления каталогом — DN должен быть полным путём, а не просто username. Проверьте bind с другой машины через ldapsearch, чтобы локализовать проблему (PanDev или каталог).
Вход пользователя падает с user not found in LDAP
Пользователь существует в каталоге, но вне настроенной LDAP search base, или LDAP search attribute не совпадает с тем, что вводит пользователь. Проверьте запросом к каталогу: ldapsearch -b "ou=Users,dc=example,dc=com" "(sAMAccountName=<USER>)".
Пользователь вошёл, но видит экран «access denied»
Запись пользователя в PanDev Metrics есть, но у него нет роли. Администратор должен открыть Настройки → Пользователи, найти пользователя и назначить роль (Owner, Maintainer или Viewer).
LDAPS-подключение падает с ошибкой TLS-сертификата
TLS-сертификату каталога не доверяет Java-truststore backend. Либо положите вашу CA-цепочку в контейнер backend, либо терминируйте TLS на reverse proxy перед LDAP-сервером и подключайтесь по ldap:// через внутреннюю сеть.
FAQ
Поддерживает ли PanDev Metrics on-prem SAML или OIDC?
Нет. На сегодня LDAP — единственный SSO в on-prem PanDev Metrics. SAML и OIDC недоступны. Если ваш identity provider не отдаёт LDAP, обычно его можно завернуть в directory-прокси (FreeIPA, Authentik), который умеет LDAP — но это работа на вашей стороне, а не в PanDev Metrics.
А Google sign-in?
Google sign-in — только Cloud. В on-prem-дистрибутиве его нет.
Синхронизирует ли PanDev Metrics группы из LDAP?
PanDev Metrics аутентифицирует пользователей через LDAP, но автоматическую синхронизацию групп пока не делает. Привязка к департаментам и командам делается внутри PanDev Metrics после того, как пользователь заведён. Маппинг групп на роли — в roadmap.
Что произойдёт с пользователем, отключённым в каталоге?
Пользователь больше не сможет залогиниться — LDAP-bind упадёт. Запись пользователя в Настройки → Пользователи останется, пока администратор не заархивирует её. Архивация сохраняет историческую атрибуцию метрик.
Можно ли подключить несколько LDAP-серверов?
On-prem PanDev Metrics подключается к одному каталогу за раз. Если у вас несколько форестов, используйте directory-прокси или реплицируйте пользователей в одну search base.
Пароль bind хранится в зашифрованном виде?
Да. Пароль bind, который вы вводите в админ-UI, хранится в зашифрованной таблице конфигурации backend, а не в открытом виде.
Дальнейшие шаги
- Управление пользователями и ролями — назначение ролей пользователям, заведённым через LDAP
- Сеть и порты — проверьте LDAP-egress с application-хоста
- Установка PanDev Metrics on-prem — разверните стек перед настройкой LDAP
Связанные материалы
- Reference: Системные требования
- Концепция: Архитектура on-prem