Я уже несколько раз боролся с названиями принципов обслуживания, и Объяснение Microsoft просто недостаточно. Я настраиваю приложение IIS для работы в нашем домене, и похоже, что некоторые из моих проблем связаны с моей необходимостью настроить специфичные для http SPN в учетной записи службы Windows который запускает пул приложений, на котором размещен мой сайт.
Все это заставило меня понять, что я просто не полностью понимаю взаимосвязь между типами служб (MSSQL, http, host, termsrv, wsman и т. Д.), Аутентификацией Kerberos, учетными записями компьютеров Active Directory (PCName $), учетными записями служб Windows, SPN , и учетная запись пользователя, которую я использую, чтобы попытаться получить доступ к службе.
Может ли кто-нибудь объяснить имена принципов службы Windows (SPN), не упрощая объяснение?
Бонусные баллы за творческую аналогию, которая найдет отклик у среднего системного администратора / разработчика.
А Имя участника службы это концепция от Kerberos
. Это идентификатор конкретной услуги, предлагаемой конкретным хостом в домене аутентификации. Обычная форма SPN: service class
/fqdn
@REALM
(например. IMAP/mail.example.com@EXAMPLE.COM
). Это также Имена участников-пользователей которые идентифицируют пользователей в виде user
@REALM
(или user1
/user2
@REALM
, который определяет говорит за отношения). В service class
можно в общих чертах рассматривать как протокол службы. Список классов обслуживания, встроенных в Windows перечислены в этой статье от Microsoft.
Каждый SPN должен быть зарегистрирован в REALM
с Центр распространения ключей (KDC) и выпустил служебный ключ. В setspn.exe
утилита, доступная в \Support\Tools
папка на установочном носителе Windows или в качестве загрузки Resource Kit управляет назначением имен SPN компьютеру или другим учетным записям в AD.
Когда пользователь обращается к службе, которая использует Kerberos для проверки подлинности («Kerberized» служба), он представляет зашифрованный билет, полученный от KDC (в среде Windows контроллер домена Active Directory). Билет зашифрован служебный ключ. Расшифровывая билет, сервис доказывает, что обладает ключом для данного SPN. Службы, работающие на узлах Windows, используют ключ, связанный с учетной записью компьютера AD, но для совместимости с протоколом Kerberos SPN должны быть добавлены в Active Directory для каждой керберизованной службы, запущенной на узле, за исключением встроенных SPN, упомянутых выше. В Active Directory имена участников-служб хранятся в servicePrincipalName
атрибут объекта компьютера хоста.
Для получения дополнительной информации см .: Статья Microsoft TechNet о SPN, Часто задаваемые вопросы по Kerberos Кена Хорнштейна
Ответ yarek был отличным, и я поддержал его, но я также хотел дать вам немного больше информации по этой теме, относящейся к Windows, или, скорее, исходя из точки зрения кого-то, кто более знаком с AD, чем просто с Kerberos в целом, просто потому что это тема, которая меня очень интересует.
Мне показалось, что этот парень отлично объяснил это, и я рекомендую вам прочитать его статью, но вот особенно краткий абзац прямо к вашему вопросу:
«Имена участников-служб определяют, какие службы запускаются в контексте безопасности учетных записей. Например, некоторые из служб, которые может иметь компьютер, - это файловый сервер / CIFS (общая файловая система Интернета), если это контроллер домена, он будет иметь LDAP SPN, Active Directory Replication SPN и FRS SPN. Имена участников службы могут быть определены для учетных записей пользователей, когда служба или приложение выполняется в контексте безопасности этого пользователя. Обычно эти типы учетных записей пользователей известны как «Учетные записи служб». очень важно, что вы понимаете, что имена участников-служб ДОЛЖНЫ быть уникальными во всем лесу Active Directory ".
Вся статья здесь: https://docs.microsoft.com/en-us/archive/blogs/askds/kerberos-for-the-busy-admin