Настройка единого входа (SSO) между Active Directory и системой контроля доступа
Пошаговая инструкция для системных администраторов и интеграторов безопасности
Введение
Единый вход (Single Sign-On, SSO) между Active Directory (AD) и системой контроля доступа (СКУД) — это ключевой элемент цифровой трансформации на современных предприятиях. Он позволяет:
- Использовать одни и те же учётные данные для доступа к сети и физическим зонам
- Автоматизировать назначение прав доступа
- Упростить увольнение и перевод сотрудников
- Повысить безопасность за счёт централизованного управления
В этой статье — практическая, технически точная инструкция по настройке SSO между Active Directory (Windows Server 2016/2019/2022) и типовой СКУД (на примере ZNK-OASIS, Paxton, Beward, PerCo) через стандартные протоколы: LDAP, SAML или API-интеграцию.
✅ Все данные основаны на:
— Официальной документации Microsoft по Active Directory и LDAP
— Руководствах ZKTeco, Paxton, PerCo, Beward
— Стандартах SAML 2.0, OAuth 2.0, SCIM
— Практиках интеграции в корпоративных средах
1. Принцип работы SSO между AD и СКУД
Что происходит при SSO?
- Администратор создаёт пользователя в Active Directory
- Интеграционный механизм передаёт данные в СКУД
- Пользователь получает:
- Доступ к компьютеру (через домен)
- Ключ-карту / брелок / мобильный ключ
- Права прохода в заданные зоны
- При увольнении — удаление из AD автоматически блокирует доступ в СКУД
Варианты интеграции:
| Метод | Протокол | Подходит для |
|---|---|---|
| LDAP Sync | LDAP over SSL | Локальные СКУД (Paxton, PerCo) |
| SAML + IdP | SAML 2.0 | Облачные СКУД (Brivo, Openpath) |
| API-интеграция | REST API + SCIM | Современные платформы (ZNK, Beward) |
| Промежуточный сервер | PowerShell / Python скрипты | Гибридные решения |
2. Требования к инфраструктуре
Со стороны Active Directory:
- Доменная служба Active Directory Domain Services (AD DS)
- Учётная запись с правами чтения (например,
svc-sso-reader) - Открыт порт LDAPS (636) или LDAP (389) с разрешением шифрования
- Включена аутентификация Kerberos / NTLM
- Атрибуты пользователей:
sAMAccountName,displayName,department,employeeID
Со стороны СКУД:
- Поддержка внешней аутентификации (LDAP, API, SAML)
- Возможность импорта пользователей
- Наличие полей для привязки к AD (логин, ID, карта)
- Доступ к административному интерфейсу
3. Вариант 1: Интеграция через LDAP (на примере Paxton Net2)
Шаг 1: Настройка LDAPS на контроллере домена
- Установите сертификат на контроллер домена (через MMC → Certificates)
- Разрешите LDAPS:
n
ntdsutil "ldap policies" "connections" "connect to server localhost" "list" - Откройте порт 636 в брандмауэре
Шаг 2: Настройка Paxton Net2
- Войдите в Net2 Desktop
- Перейдите:
Tools → System Settings → External Authentication - Выберите
LDAP Authentication - Укажите:
- Server Address: IP-адрес контроллера домена
- Port:
636(LDAPS) или389(если без шифрования) - Bind DN:
CN=svc-sso-reader,CN=Users,DC=company,DC=local - Password: пароль учётной записи
- Base DN:
DC=company,DC=local - User Filter:
(objectClass=user) - Username Attribute:
sAMAccountName - Display Name Attribute:
displayName
- Нажмите Test Connection → должно быть
Success
Шаг 3: Сопоставление прав
- Создайте группы доступа в Net2 (например, «Офис», «Серверная»)
- В разделе
User Importнастройте:- Автоматическое создание пользователей
- Привязку группы AD → группе доступа в СКУД
- Включите синхронизацию по расписанию (каждые 15 минут)
✅ После этого новый пользователь в AD автоматически получит доступ в здание.
4. Вариант 2: Интеграция через API (на примере ZNK-OASIS)
Шаг 1: Настройка SCIM-совместимого API в ZNK
- В панели администратора ZNK:
Настройки → Интеграции → REST API - Включите SCIM 2.0
- Сгенерируйте API-токен
- Получите URL:
https://api.znk.ru/scim/v2/Users
Шаг 2: Настройка синхронизации (PowerShell)
Используйте скрипт для регулярного экспорта пользователей из AD и отправки в ZNK.
# Подключение к AD $users = Get-ADUser -Filter * -Properties sAMAccountName, displayName, department, employeeID foreach ($user in $users) { $body = @{ userName = $user.sAMAccountName displayName = $user.displayName emails = @(@{value = "$($user.sAMAccountName)@company.local"}) active = $true } | ConvertTo-Json Invoke-RestMethod ` -Uri "https://api.znk.ru/scim/v2/Users" ` -Method POST ` -Headers @{Authorization = "Bearer YOUR_API_TOKEN"; "Content-Type" = "application/scim+json"} ` -Body $body }Шаг 3: Назначение прав
— В ZNK создайте правила доступа на основе:
- Подразделения (
department) - Должности
- Графика работы
— Привяжите правило к пользователю через API или вручную
5. Вариант 3: SAML для облачных СКУД (на примере Brivo)
Шаг 1: Настройка Azure AD как IdP
- Войдите в Azure Portal → Azure Active Directory
- Перейдите:
Enterprise Applications→New Application→Non-gallery application - Назовите:
Brivo Access - В разделе
Single sign-onвыберите SAML - Укажите:
- Identifier (Entity ID):
https://api.brivo.com/saml/sp - Reply URL:
https://login.brivo.com/saml/consumer-post
- Identifier (Entity ID):
- Скачайте сертификат подписи SAML
Шаг 2: Настройка Brivo
- Войдите в Brivo Admin Panel
- Перейдите:
Settings→Security→Identity Provider - Загрузите сертификат из Azure AD
- Сохраните конфигурацию
Шаг 3: Назначение пользователей
- Вернитесь в Azure AD
- Перейдите в
Users and groups→ назначьте пользователей приложениюBrivo Access - После входа в Azure пользователь автоматически авторизуется в Brivo
6. Безопасность и аудит
Рекомендации:
- Используйте зашифрованный канал (LDAPS, HTTPS)
- Не используйте учётную запись
Administratorдля синхронизации - Включите аудит событий:
- В AD:
Audit Account Management - В СКУД: журнал входов, изменений прав
- В AD:
- Настройте оповещения о массовых изменениях
- Регулярно проверяйте соответствие данных (ревизия)
7. Распространённые ошибки
Ошибка Причина Решение Нет подключения к LDAP Блокировка порта 636 Проверьте брандмауэр и сертификат Пользователь не создаётся Неправильный Base DN Используйте ADSI Edit для проверки структуры Права не применяются Не настроено сопоставление групп Настройте mapping групп AD → зонам СКУД Частые ошибки аутентификации Устаревший пароль учётной записи Обновите пароль в сервисной учётной записи Задержка синхронизации Редкий интервал опроса Уменьшите до 5–15 минут 8. Заключение
Настройка SSO между Active Directory и СКУД — это не просто удобство, а повышение уровня безопасности и операционной эффективности.
Ключевые принципы:
- Выбирайте метод интеграции в зависимости от типа СКУД (локальная / облачная)
- Используйте шифрование (LDAPS, HTTPS)
- Автоматизируйте создание, изменение и удаление пользователей
- Регулярно проводите аудит соответствия
- Документируйте все этапы — для передачи в эксплуатацию
Правильно настроенная интеграция позволяет полностью отказаться от ручного ввода данных и минимизировать человеческий фактор.
