Чи може хто-небудь пояснити, будь-ласка, імена принципів служби Windows (SPN), не спрощуючи їх?


28

Я декілька разів боровся з назви принципів служби, і пояснення Microsoft просто недостатньо. Я налаштовую програму IIS для роботи над нашим доменом, і схоже, що деякі мої проблеми пов'язані з моєю потребою налаштувати http-спеціальні SPN-адреси в обліковому записі служби Windows, на якому працює пул додатків, що розміщує мій сайт.

Все це змусило мене зрозуміти, що я просто не повністю отримую зв’язок між типами послуг (MSSQL, http, хост, termsrv, wsman тощо), автентифікацією Kerberos, обліковими записами активних каталогів (PCName $), обліковими записами служб Windows, SPN , і обліковий запис користувача, який я використовую, щоб спробувати отримати доступ до послуги.

Чи може хтось пояснити, будь-ласка, імена принципів служби Windows (SPN), не спрощуючи пояснення?

Бонусні бали за творчу аналогію, яка відповідатиме досвідченому системному адміністратору / розробнику.


4
Будь ласка, подивіться, чи задовольняє ваш запит про творчу аналогію Білл Брайант, "Проектування системи аутентифікації: діалог у чотирьох сценах" .
yrk

Відповіді:


33

Service Principal Name це поняття з Kerberos. Це ідентифікатор для певної послуги, пропонованої певним хостом у домені аутентифікації. Загальною формою для SPN є service class/ fqdn@ REALM(наприклад IMAP/mail.example.com@EXAMPLE.COM). Існують також основні імена користувача, які ідентифікують користувачів у формі user@ REALM(або user1/ user2@ REALM, яка ідентифікує взаємозв'язок , що говорить ) Це service classможна вільно вважати протоколом служби. Список службових класів, вбудованих у Windows , перерахований у цій статті від Microsoft .

Кожен SPN повинен бути зареєстрований в REALM«s Key Distribution Center (KDC) і випустив сервісний ключ . setspn.exeУтиліта , яка доступна в \Support\Toolsпапці на Windows , встановити носій або як завантажити Resource Kit, маніпулює присвоєння імен SPN на комп'ютер або інші облікові записи в AD.

Коли користувач отримує доступ до послуги, яка використовує Kerberos для аутентифікації (послуга "Kerberized"), вони представляють зашифрований квиток, отриманий від KDC (у середовищі Windows, контролер домену Active Directory). Квиток шифрується службовим ключем . Розшифровуючи квиток, сервіс доводить, що він має ключ для даної SPN. Служби, що працюють на хостах Windows, використовують ключ, пов’язаний з обліковим записом комп’ютера AD, але щоб вони відповідали протоколу Kerberos, SPNs повинні бути додані в Active Directory для кожної kerberized служби, що працює на хості - за винятком вбудованих SPN, згаданих вище. В Active Directory SPN зберігаються в servicePrincipalNameатрибуті комп'ютерного об'єкта хоста.

Для отримання додаткової інформації дивіться статтю Microsoft TechNet про SPN , поширені питання про Кербероса Кена Хорнштейна


4
+1 - Ви побили мене, щоб написати це, і зробили чудову роботу над вашим, тому я вирішив відредагувати вашу відповідь, щоб додати пару деталей, а не писати свої.
Еван Андерсон

@yarek останні два посилання перервано станом на 29 січня 2019 року
Ендрю Уотсон

10

Відповідь Ярека була чудовою, і я її підтримав, але я також хотів дати вам трохи більше інформації, що стосується Windows, на цю тему, а точніше, з точки зору того, хто більше знайомий з AD, ніж просто Керберос, загалом, просто адже це тема, яка мене дуже цікавить.

Я відчував, що цей хлопець зробив чудову роботу, пояснивши це, і рекомендую вам прочитати його статтю, але ось особливо стислий абзац прямо до вашого питання:

"Основні імена служби визначають, які служби працюють у контексті безпеки облікових записів. Наприклад, деякі служби, які може мати комп'ютер, - це файловий сервер / CIFS (загальна файлова система Інтернет), якщо це контролер домену, він матиме LDAP SPN та реплікація Active Directory SPN та FRS SPN. Основні імена служби можуть бути визначені в облікових записах користувачів, коли Служба або програма працює в контексті безпеки цих користувачів. Зазвичай ці типи облікових записів користувачів називаються "Облікові записи служб". дуже важливо, що ви розумієте, що основні імена служби ОБОВ'ЯЗКОВО бути унікальними у всьому лісі Active Directory. "

Вся стаття тут: http://blogs.technet.com/b/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.