Поделиться через


Как служба формирует свои имена субъектов-служб

Служба может использовать две функции для создания имен субъектов-служб: DsGetSpn — это функция общего назначения для создания имен субъектов-служб и DsServerRegisterSpn — это специализированная функция для создания и регистрации простых имен субъектов-служб для службы на основе узла.

Установщик службы обычно использует функцию DsGetSpn для создания имен субъектов-служб, которые затем регистрируются в учетной записи входа службы с помощью функции DsWriteAccountSpn. DsGetSpn может выполнять следующие функции.

  • Создайте простое имя субъекта-службы с форматом "<класс>< или узел>" для службы на основе узла.
  • Создайте сложное имя субъекта-службы, включающее компонент "<имя> службы", используемый службами реплика ble или< компонентом порта>, который различает несколько экземпляров службы на одном узле.
  • Создайте одно имя субъекта-службы с компонентом< узла>, заданным как имя указанного узла, так и имя локального компьютера по умолчанию.
  • Создайте массив имен субъектов-служб для нескольких экземпляров служб, которые будут выполняться на нескольких узлах в лесу. Каждое имя субъекта-службы указывает имя узла для экземпляра службы.
  • Создайте массив имен субъектов-служб для нескольких экземпляров служб, которые будут выполняться на одном узле. Каждое имя субъекта-службы указывает имя узла и номер порта для экземпляра службы.

Массив имен, возвращаемых DsGetSpn, должен быть освобожден путем вызова функции DsFreeSpnArray.

Помните, что функции DsGetSpn, DsWriteAccountSpn и DsServerRegisterSpn не проверяют, являются ли имена субъектов-служб уникальными. Так как взаимная проверка подлинности завершается ошибкой, если клиент представляет имя участника-службы, которое не является уникальным, проверьте уникальность перед регистрацией имени участника-службы. Для этого найдите глобальный каталог (GC) для атрибутов servicePrincipalName , соответствующих имени субъекта-службы. Дополнительные сведения о поиске в GC см. в статье "Поиск по глобальному каталогу".