Перейти к основному содержимому
Версия: v2 (текущая)

Интеграция 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
warning

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 URLldaps://ldap.example.com:636 (или ldap:// для plain LDAP)
LDAP search baseBase DN для поиска пользователей (например, ou=Users,dc=example,dc=com)
LDAP search attributeАтрибут, под которым пользователи логинятся (sAMAccountName, mail, uid)
LDAP admin usernameBind 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-контейнер не достучался до каталога. Проверьте три вещи:

  1. Hostname URL резолвится из контейнера: docker compose exec pandev-metrics-server getent hosts ldap.example.com.
  2. Порт открыт из контейнера: docker compose exec pandev-metrics-server nc -vz ldap.example.com 636.
  3. Цепочка сертификатов 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, а не в открытом виде.

Дальнейшие шаги

Связанные материалы