Настройка SPN

Средство setspn командной строки используется для чтения, изменения и удаления каталожного свойства SPN (Service Principal Name) для учетной записи службы Active Directory (AD). Имена принципалов службы (SPN) необходимы для поиска целевого имени принципала, связанного с сервисом. С помощью setspn вы можете просмотреть существующие имена субъектов-служб, сбросить имена субъектов-служб по умолчанию учетной записи и добавить или удалить дополнительные имена субъектов-служб при необходимости.

Не требуется вручную изменять имена субъектов-служб, так как они автоматически настраиваются при присоединении компьютера к домену или при установке служб. Однако сведения об имени субъекта-службы могут быть устаревшими в некоторых случаях. Например, если имя компьютера изменяется, SPNs, привязанные к его службам, должны обновляться, чтобы соответствовать новому имени. Кроме того, для обеспечения правильной проверки подлинности некоторые службы и приложения могут требовать вручную обновления параметров имени субъекта-службы учетной записи службы.

В AD servicePrincipalName атрибут представляет собой многозначный нелинейный атрибут, созданный из имени узла системы доменных имен (DNS). SPNs (Имена субъектов-служб) используются для взаимной аутентификации между клиентом и сервером, на котором размещена служба. Клиент находит учетную запись компьютера с помощью имени субъекта-службы, к которому он пытается подключиться.

Формат имени участника-службы

При изменении SPN с помощью setspn необходимо ввести SPN в правильном формате. Формат имени субъекта-службы — serviceclass/host:port/servicename, в котором каждый элемент представляет имя или значение. Если имя службы и порт не являются стандартными, вам не нужно вводить их при использовании setspn. Например, сервер с именем WSRV2022 по умолчанию использует имена субъектов-служб (SPN) и предоставляет службы удаленного рабочего стола (RDP) через порт TCP 3389. В своем объекте компьютера AD он регистрирует следующие два имени субъектов-служб:

TERMSRV/WSRV2022

TERMSRV/WSRV2022.contoso1.com

Если необходимо указать нестандартную конфигурацию имени субъекта-службы, см. статью "Форматы имен" для уникальных имен субъектов-служб.

Prerequisites

  • Роль доменных служб Active Directory (AD DS) должна быть установлена на устройстве. Дополнительные сведения см. в разделе Установка или удаление ролей, служб ролей или компонентов.

  • Устройства в вашей среде должны быть присоединены к домену.

  • Вы должны быть членом группы "Администраторы домена " или " Администраторы предприятия ".

    • Если вы не являетесь членом группы "Администраторы домена" или "Администраторы предприятия", необходимо иметь разрешения на servicePrincipalNameчтение и запись атрибута объекта в AD.

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

Вы можете настроить SPN в вашей среде с помощью командной строки с повышенными правами или окна PowerShell с повышенными правами. См. следующие шаги по настройке имен субъектов-служб для вашей среды.

Метод командной строки

Чтобы добавить имя участника-службы, выполните следующую команду. Замените службу или имя именем субъекта-службы , которую вы хотите добавить и имя узла , на имя узла объекта компьютера, который требуется обновить:

setspn -S <service/name> <hostname>

Например, если есть контроллер домена ACTIVE с именем узла server1.contoso.com, для которых требуется имя субъекта-службы для протокола LDAP, введите:

setspn -S ldap/server1.contoso.com server1

Метод PowerShell

В PowerShell командлет Set-ADUser используется для учетных записей пользователей, а командлет Set-ADComputer — для имени компьютера.

Чтобы добавить имя участника-службы, выполните следующую команду. Замените UserName, ComputerNameа $spn = " " также соответствующими значениями для учетной записи пользователя или имени компьютера:

$userID = "UserName"
$spn = "HTTP/webserver.domain.com"

Set-ADUser -Identity $userID -Add @{ServicePrincipalName=$spn}
$computerID = "ComputerName"
$spn = "HTTP/computerserver.domain.com"

Set-ADComputer -Identity $computerID -Add @{ServicePrincipalName=$spn}

Предоставление прав SPN не администраторам

Для пользователей, не входящих в группы "Администраторы домена" или "Администраторы предприятия", требуются соответствующие права для изменения SPN. Предоставление этих разрешений можно выполнять с помощью пользователей и компьютеров Active Directory (ADUC) или PowerShell. См. следующие действия.

  1. В диспетчере серверов выберите "Сервис", а затем выберите "Пользователи и компьютеры Active Directory".

  2. Перейдите на вкладку "Вид ", а затем выберите "Дополнительные функции".

  3. В левой области щелкните правой кнопкой мыши домен, в котором нужно разрешить разрозненные пространства имен, а затем выберите "Свойства".

  4. Перейдите на вкладку "Безопасность " и нажмите кнопку "Дополнительно".

  5. На вкладке "Разрешения" нажмите кнопку "Добавить".

  6. Выберите субъект, в разделе "Введите имена объектов", чтобы выбрать, введите имя группы или учетной записи пользователя, которым требуется делегировать разрешение, а затем нажмите кнопку "ОК".

    Чтобы просмотреть все доступные группы и учетные записи пользователей в домене, выберите "Дополнительно", а затем нажмите кнопку "Найти сейчас".

  7. В разделе "Область применения" выберите объекты "Компьютер-потомок".

  8. В разделе "Разрешения" установите флажок "Проверить запись в имя субъекта-службы ", а затем нажмите кнопку "ОК " в трех открытых диалоговых окнах, чтобы применить изменения.

См. также