При добавлении нового SPN в домен Kerberos у вас есть возможность сопоставить SPN с пользователем. Как правило, я присоединяюсь к домену через встроенную проверку подлинности Windows, и это создает новую учетную запись компьютера для службы, но теперь я хотел бы попробовать использовать Kerberos без IWA.
Я считаю, что хорошо понимаю, как Kerberos аутентифицирует клиентов для хоста компьютера (достаточно хорошо для того, что я пытаюсь сделать), но что именно делает сопоставление SPN с пользователем домена?
Изменить: я не спрашиваю, как работают SPN в целом. Я конкретно спрашиваю о деталях сопоставления SPN с пользователем домена.
Ответ:
Любая дополнительная информация будет принята с благодарностью.
Учетная запись пользователя AD будет иметь обслуживание Главное имя, только если оно используется для запуска служба. Таким образом, большинство учетных записей пользователей AD не имеют имен участников-служб. Наиболее распространенный пример случаев, когда учетная запись пользователя AD будет иметь SPN, - это если эта учетная запись пользователя используется в качестве учетной записи службы для запуска MS SQL, IIS и т. Д. Если учетная запись пользователя AD используется для работы службы, но SPN не используется. зарегистрирован в AD, то эта служба не может использовать Kerberos.
Напротив, учетные записи пользователей AD всегда будут иметь Пользователь Основное имя.
Имена участников службы связаны с субъектом безопасности (пользователем или группами), в контексте безопасности которого выполняется служба. SPN используются для поддержки взаимной аутентификации между клиентским приложением и службой. SPN собирается из информации, которую клиент знает об услуге. Или он может получать информацию от доверенной третьей стороны, такой как Active Directory. Имя участника-службы связано с учетной записью, и у учетной записи может быть много имен субъектов-служб.
Чтобы немного заполнить пробелы, если ваша служба должна работать в контексте учетной записи пользователя a.domain, тогда эта учетная запись пользователя должна иметь имя участника-службы.
Обычно это встречается в пулах приложений IIS. Если у вас есть несколько серверов IIS для приложения за балансировщиком нагрузки, вам может быть назначено имя участника-службы не конкретному серверу, а учетной записи пользователя домена, и пулы приложений IIS запускаются в контексте этой учетной записи. Это особенно верно, если вы хотите выдать себя за аутентифицированного пользователя с помощью токена уровня «делегирования» и получить доступ к другой службе на удаленном компьютере.
То, как вы приобретаете токен аутентифицированного пользователя, не обязательно важно. Это может быть либо встроенный токен аутентификации, либо токен, созданный с использованием предоставленных пользователем учетных данных, например, с аутентификацией с помощью форм. При использовании ограниченного делегирования вы можете олицетворять пользователя без существующего токена авторизации или пароля, все, что вам нужно, - это имя пользователя.
Но для того, чтобы все это работало, всегда требуется SPN.
Вам следует прочтите документацию MSDN если вы даже не уверены, какие проблемы решают SPN. Это основательно и полно.