Как настроить авторизацию Active Directory в плагине dk-usb2net?

В этой статье описана настройка доменной авторизации для службы USB over IP в плагине dk-usb2net. Метод позволяет импортировать пользователей и группы из Active Directory и авторизовывать клиентов через Kerberos.

Доменная авторизация работает только если согласованы четыре вещи: DNS-имя концентратора, учётная запись службы в AD, атрибут servicePrincipalName и keytab на концентраторе.

Для настройки авторизации Active Directory выполните следующие действия.

1. A-запись в DNS

  1. В зоне прямого просмотра домена создайте запись типа "Узел (A)" на IP-адрес концентратора.
  2. Имя узла должно совпадать с тем FQDN, по которому пользователи будут добавлять сервер в клиенте.

DNS A-запись концентратора 

  • Узел — короткое имя концентратора.
  • FQDN — полное имя вида имя.домен.
  • IP-адрес — адрес концентратора в сети.

Обновление PTR-записи необязательно. Клиент должен подключаться по DNS-имени, а не по IP: иначе Kerberos не соберёт нужный service principal.

2. Учётная запись службы в Active Directory

  1. Откройте оснастку "Active Directory — пользователи и компьютеры".
  2. Создайте обычную пользовательскую учётную запись для службы USB over IP.
  3. Запомните пароль этой учётной записи — он понадобится при создании keytab на концентраторе.

Учётная запись службы в AD

3. Атрибут servicePrincipalName

  1. В меню оснастки включите "Вид" > "Дополнительные компоненты" — иначе вкладка "Редактор атрибутов" недоступна.
  2. Откройте свойства учётной записи службы и перейдите на вкладку "Редактор атрибутов".
  3. Найдите атрибут servicePrincipalName и задайте значение:
usb2net/<FQDN>

где <FQDN> — то же полное DNS-имя, что в A-записи. Класс службы usb2net обязателен.

Атрибут servicePrincipalName

4. Подключение LDAP в DistKontrolUSB

  1. Откройте WEB-интерфейс концентратора.
  2. Перейдите по пути "Права доступа" > "Пользователи" > вкладка "LDAP".
  3. Нажмите кнопку "Подключение к Active Directory".
  4. Заполните поля подключения:

Подключение к Active Directory

  • Имя пользователя — учётная запись для чтения каталога (DOMAIN\user или полное DN).
  • Пароль — пароль этой учётной записи.
  • Адрес сервера — контроллер домена (имя или IP). Порт LDAP 389 подставляется автоматически.
  • Доменное имя / Доменная зона — имя домена и DNS-зона сети.
  • Realm Kerberos — область Kerberos для системной конфигурации.
  1. Нажмите "Проверить подключение", затем "Сохранить".

5. Keytab и авторизация в настройках службы

  1. Перейдите по пути "Службы" > "USB over IP" > "Настройки".
  2. Введите лицензионный ключ.
  3. Включите галочку "Требовать авторизацию пользователя".
  4. В способах авторизации выберите Active Directory / Kerberos.
  5. Создайте keytab для учётной записи службы и того же service principal usb2net/<FQDN>.
  6. Нажмите "Сохранить", затем "Применить".

Параметры авторизации

Создание keytab

Применение конфигурации

6. Импорт пользователей и подключение клиента

  1. Перейдите по пути "Права доступа" > "Группы".
  2. Нажмите "Импорт" и отметьте нужные группы.
  3. Назначьте права на порты в карточке группы.
  4. В клиентском приложении добавьте концентратор по DNS-имени из шага 1 и авторизуйтесь доменной учётной записью.
Важно!
  • Не используйте для keytab учётную запись администратора домена. При нескольких концентраторах удобнее заводить отдельную учётную запись службы на каждое устройство.
  • Учётная запись для LDAP-чтения каталога и учётная запись службы с SPN (для keytab) — это разные сущности. Первая нужна для импорта, вторая — для Kerberos-авторизации клиентов.
  • Параметры Kerberos на форме LDAP не заменяют keytab службы USB over IP.
  • Если имя в клиенте, A-запись, SPN и service principal в настройках расходятся хотя бы в одной букве, доменная авторизация не будет работать.
  • Пока требование авторизации выключено, способы авторизации недоступны, и сервер не фильтрует устройства по правам пользователей.