Задний план
Мы выполняем перенос сервера. В процессе были созданы новые серверы и учетные записи служб. У меня возникают две проблемы, которые, как мне кажется, связаны с SPN:
Я создал несколько серверов, связанных с SQL (с использованием «текущего контекста безопасности», т.е. аутентификации Windows), и я получаю сообщение об ошибке Login Failed for user NT AUTHORITY\ANONYMOUS LOGIN
, но только когда я использую его с клиента (а не когда я использую его при подключении с сервера). Кто-нибудь делает двойной прыжок?
У нас есть настроенное веб-приложение, и, насколько я могу судить, оно не работает под Kerberos (просто запрашивает вход, а затем не работает), но работает под NTLM.
Актуальные вопросы
Поэтому я хотел бы попытаться выяснить, какие SPN были размещены в AD, но у меня есть две проблемы / недоразумения:
Выпуск 1:
Когда я печатаю SetSPN -L MyDomain\MyServiceAccount1
я получил
Ошибка Ldap (0x22 - недопустимый синтаксис DN): ldap_search_s
Как мне обойти это? Есть ли средство просмотра AD, которое я могу использовать, чтобы перечислить это? Я предполагаю, что это потому, что есть недопустимый символ, который он не может обработать (есть $
в нем, но неужели это обычное дело?
Выпуск 2:
Когда я проверял старый сервер, я набирал эти две вещи:
SetSPN -L ServerNameZ
Я получаю список SPN по умолчанию, но нет SQL Server
т.е.
HOST / ServerNameZ
HOST / ServerNameZ.domain.local
Когда я печатаю SetSPN -L MyDomain\MyOldServiceAccount
Я получаю SPN SQL Server:
MSSQLSvc / ServerNameZ.domain.local: 63267
MSSQLSvc / ServerNameZ.domain.local: COL1
MSSQLSvc / ServerNameZ.domain.local: 59082
MSSQLSvc / ServerNameZ.domain.local: COL2
Почему SPN SQL Server не отображается в первом списке, ориентированном на сервер? Разве это не значит перечислить все SPN против сервера?