Администрирование SPN
Для администрирования идентификаторов экземпляров сервисов (SPN) в домене Эллес с помощью утилиты samba-tool используется группа подкоманд spn.
Назначение и формат SPN
SPN (service principal name) — уникальный идентификатор экземпляра сервиса. Используется механизмами аутентификации Kerberos для сопоставления экземпляра сервиса с учетной записью сервиса. С помощью SPN клиентское приложение может запрашивать аутентификацию в роли сервиса под учетной записью сервиса, не располагая именем учетной записи.
При развертывании нескольких экземпляров сервиса на компьютерах в лесу каждый такой экземпляр должен иметь свой собственный идентификатор SPN. Если у клиента есть несколько имен, используемых для аутентификации, экземпляр сервиса может иметь несколько идентификаторов SPN. Например, поскольку SPN всегда включает имя хоста, на котором работает экземпляр сервиса, у экземпляра сервиса может быть несколько идентификаторов SPN — по одному для каждого имени хоста.
С точки зрения синтаксиса SPN состоит из двух обязательных элементов и двух дополнительных элементов:
<service class>/<host>:<port>/<service name>
Элементы SPN:
-
service class(обязательный элемент) — строка, указывающая на класс, к которому относится сервис (например:SqlServer,www,ldapи т. п.); -
host(обязательный элемент) — имя компьютера, на котором работает сервис; это может быть полное доменное имя (FQDN) или NetBIOS-имя (следует учитывать, что уникальность NetBIOS-имени на уровне леса не гарантируется); -
port(необязательный элемент) — номер порта; может использоваться в том случае, если несколько экземпляров сервиса одного класса работают на одном хосте; не требуется указывать, если экземпляр сервиса один и работает на стандартном для своего класса порте; -
service name(необязательный элемент) – имя реплицируемого сервиса, которое позволяет идентифицировать предоставляемые сервисом данные или обслуживаемый сервисом домен; в качестве имени могут использоваться DN-имя илиobjectGUIDобъекта службы каталогов, DNS-имя домена (если сервис реализует определенную службу на уровне всего домена), DNS-имя записи SRV или MX.
Чтобы механизмы Kerberos могли использовать SPN для аутентификации сервиса, SPN должен быть зарегистрирован для учетной записи, используемой экземпляром сервиса для входа в систему. Идентификатор SPN может быть зарегистрирован только для одной учетной записи. В случае изменения учетной записи, используемой экземпляром сервиса для входа, идентификаторы SPN должны быть повторно зарегистрированы для новой учетной записи.
Когда клиенту необходимо получить доступ к сервису, он определяет нужный экземпляр сервиса, формирует SPN для данного экземпляра, подключается к сервису и предъявляет SPN для прохождения аутентификации.
Добавление SPN
Для привязки нового идентификатора SPN к учетной записи пользователя используется следующий формат вызова:
samba-tool spn add <name> <user> [options]
В качестве аргументов передаются значение SPN (name) и имя учетной записи SAM (значение атрибута sAMaccountName).
Получение списка SPN
Для получения списка идентификаторов SPN, привязанных к учетной записи, используется следующий формат вызова:
samba-tool spn list <user> [options]
В качестве аргумента имя учетной записи SAM (значение атрибута sAMaccountName).
Удаление SPN
Для удаления идентификатора SPN, привязанного к учетной записи пользователя, используется следующий формат вызова:
samba-tool spn delete <name> <user> [options]
В качестве аргументов передаются значение SPN (name) и имя учетной записи SAM (значение атрибута sAMaccountName).