Какой SPN мне нужно установить для сервиса net.tcp?

У меня есть приложение wcf, размещенное в службе Windows, под управлением локальной учетной записи Windows. Нужно ли устанавливать SPN для этой учетной записи? Если да, то по какому протоколу должен быть установлен SPN? Я знаю, как сделать это для сервисов через HTTP, но никогда не делал этого для net.tcp.

2 ответа

Решение

По умолчанию (т.е. из коробки) службы net.tcp не защищены и не выполняют никакой аутентификации вообще. Таким образом, вам не нужно (и на самом деле не можете) установить имя участника службы.

Если вам нужно пройти аутентификацию, проверьте режимы безопасности net.tcp на MSDN. Лучший способ понять различные комбинации - это экспериментировать!

Измените учетную запись службы на учетную запись AD и зарегистрируйте SPN, как показано на рисунке. Используйте собственное имя сервиса, например, fooservice

setspn -A fooservice / servermachinename домен \serviceAccountName
setspn -A fooservice / servermachinename.fullyqualifieddomainname домен \serviceAccountName

В конфиге клиента установлено:

<identity>
    <serviceprincipalname value="fooservice/servermachinename" />
</identity>
Другие вопросы по тегам