Перейти к содержимому

Active Directory — вход в Zentro паролем AD

Zentro проверяет пароль сотрудника в Active Directory (LDAP bind) и дальше выдаёт вход во все подключённые приложения (SSO), с MFA Zentro поверх. Тариф: внешние каталоги — с тарифа Бизнес (1 каталог), Корпоративный — без ограничений.

Учётка только для поиска пользователей (без прав администратора домена), пароль без срока действия, например CN=svc-zentro,OU=Service,DC=corp,DC=example,DC=com.

Админка → Внешние каталоги → Добавить → Active Directory, или API:

Окно терминала
curl -X POST https://id.example.com/api/v1/admin/idp -H "Authorization: Bearer $TOKEN" -d '{
"name": "corp-ad",
"display_name": "Корпоративная учётная запись",
"backend": "ad",
"host": "dc1.corp.example.com",
"port": 636,
"tls": "ldaps",
"bind_dn": "CN=svc-zentro,OU=Service,DC=corp,DC=example,DC=com",
"bind_password": "<пароль сервисной учётки>",
"base_dn": "OU=Staff,DC=corp,DC=example,DC=com",
"user_filter": "(&(objectClass=user)(sAMAccountName=%s))",
"uid_attr": "sAMAccountName",
"email_attr": "mail",
"name_attr": "displayName",
"provisioning": "jit",
"auto_link": true
}'
  • tls: ldaps (636) или starttls (389). Без шифрования (none) пароли сотрудников идут открытым текстом — не используйте вне стенда. Сертификат контроллера домена должен доверяться серверу Zentro (корпоративный CA).
  • user_filter: вход по короткому имени — sAMAccountName=%s; по UPN (ivan@corp.example.com) — (&(objectClass=user)(userPrincipalName=%s)). Только активные учётки: (&(objectClass=user)(sAMAccountName=%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2))).
  • provisioning: jit — пользователь Zentro создаётся при первом входе; preprovisioned — входят только заранее заведённые в Zentro.
  • auto_link — привязать к существующему пользователю Zentro с той же подтверждённой почтой.
  • Пароль сервисной учётки хранится зашифрованным и в ответах API не возвращается.

Проверить: карточка каталога → «Проверить подключение» (POST /api/v1/admin/idp/corp-ad/test) — соединение, TLS и bind сервисной учётки.

Экран входа показывает кнопку каталога (display_name); форма отправляет POST /api/v1/idp/corp-ad/login {"username": "ivanov", "password": "…"}. Дальше — как обычный вход: MFA по политике Zentro, сессия, SSO во все приложения.

  • «Проверить подключение» падает на TLS — Zentro не доверяет сертификату контроллера (добавьте корпоративный CA в систему / образ) или порт/режим не совпадают (636 ↔ ldaps, 389 ↔ starttls).
  • Пользователь не находится — base_dn не включает его OU, или фильтр по sAMAccountName, а вводится UPN.
  • Вход проходит, но почты нет — у учётки в AD не заполнен mail (или другой email_attr).