Проблема двойного перехода Kerberos с веб-приложением ASP.NET для sharepoint

Мне нужна ваша помощь в проблеме двойного прыжка Kerberos, которая у меня возникла... Прочитав много сообщений в Интернете по этой теме, я все еще не могу понять, в чем заключается неправильная установка. Вот настройка, которую я использую:

  • Клиентский ПК
  • Веб-сервер, на котором размещен простой веб-сервис ASMX
  • Веб-сервер хостинга SharePoint 2013

см. схему

Все серверы являются доверенными для делегирования, все находятся в одном домене (без леса) и балансировка нагрузки не используется. Каждый веб-сервер использует IIS 7.5, и каждый пул приложений настроен с учетной записью службы домена. Каждая учетная запись службы является доверенной для делегирования. Важное примечание: обе веб-службы доступны через запись DNS (записи HOST):

Я также настроил IIS на веб-сервере (сервер 1) для использования учетных данных пула приложений "useAppPoolCredentials=True" и оставил ядро ​​включенным.

Пока у меня есть следующие настройки SPN:

  • Сервер 1: ХОСТ / Сервер1; HOST/Server1.domain.com; HTTP/mywebserice; HTTP/mywebservice.domain.com
  • Сервер 2: ХОСТ / Сервер2; HOST / Server2.domain.com
  • Service1:
  • Service2:

Я пробовал много перестановок между различными именами SPN, но безуспешно:(

В настоящее время я могу подключиться к веб-службе (Server 1) с помощью Kerberos, но затем "NT AUTHORITY\ANONYMOUS LOGON" передается на сервер Sharepoint.

Может кто-нибудь помочь мне разобраться, что такое правильная настройка?

Спасибо за вашу помощь.

1 ответ

Решение

Мне наконец удалось заставить это работать. Для этого я использовал доступное здесь веб-приложение DelegConfig (автор brian-murphy-booth). Это подтвердило, что мои настройки изначально были неправильными и помогли мне определить, что нужно изменить.

Вот моя последняя настройка - см. Схему:

  • Сервер веб-службы: только SPN для HOTS/Server1 + Trusted для Kerberos
  • Сервер Sharepoint: только SPN для делегирования HOST/Server2 + Trusted для Kerberos
  • Учетная запись службы 1 (для пула приложений веб-служб): добавлено имя участника-службы для HTTP/mywebservice
  • Сервисная учетная запись 2 (для пула приложений sharepoint): добавлено имя участника-службы для HTTP/sharepoint

Несколько вещей, с которыми вы должны быть осторожны:

  1. Если вы используете записи DNS, зарегистрируйте имена участников-служб для имени DNS, а не IP-адреса.
  2. Убедитесь, что ваши записи DNS являются записями типа "HOST (A)", а не "CNAME"
  3. Всегда регистрируйте имена участников-служб для простого имени (например, HTTP/sharepoint) и FQDN (например, HTTP/sharepoint.domain.com).
  4. Оставьте некоторое время для репликации изменений AD на все контроллеры домена (если применимо) - это был мой недостаток!! Я был слишком быстр, чтобы проверить после изменения, и он никогда не работал... Ожидание 15-20 минут после изменения помогло мне точно настроить мою установку и точно понять, что было не так
  5. Убедитесь, что у вас нет имен SPN в двух экземплярах! Чтобы проверить, откройте командную строку и выполните команду "setspn -x". В нем будут перечислены все дубликаты SPN в вашей AD.

Я знаю, что есть много сообщений на эту тему, но ни одна из них не описывает на одной диаграмме идеальную настройку для данной конфигурации. Поэтому я подумал, что опубликую этот ответ на свой вопрос. надеясь, что это поможет кому-то с этим кошмаром проблемы двойного прыжка Kerberos.

Большое спасибо Брайану-Мерфи-Буту за его замечательный инструмент! Если ты читаешь это, ты мой спаситель!

Другие вопросы по тегам