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

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

Ответ 1

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

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

Ответ 2

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

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

В конфигурации клиента:

<identity>
    <serviceprincipalname value="fooservice/servermachinename" />
</identity>