Можно ли использовать одно имя участника-службы для двух учетных записей служб?
Я использую IIS и SQL Reporting Server на одном сервере. IIS работает как d\acct1 и SSRS работает как d\acct2,
Изначально я зарегистрировал SPN HTTP/server.d.com для обоих d\acct1 а также d\acct2 и настроил оба для неограниченного делегирования Kerberos в Active Directory.
Эта конфигурация сломала Kerberos, потому что были дубликаты SPN для HTTP/server.d.com,
Если я удаляю SPN для SSRS, IIS работает. Если я удаляю SPN для IIS, SSRS работает.
Есть ли способ разделить имя участника-службы между двумя различными учетными записями служб, которые выполняются на одном и том же сервере, чтобы они не создавали дублирующее имя участника-службы?
Или я должен создать две записи A в активном каталоге для iis.server.d.com а также reports.server.d.com и использовать заголовки хоста, чтобы сохранить два псевдонима прямо внутри каждой соответствующей службы?
1 ответ
Исследование того, как работает делегирование Kerberos, показывает, что нет, вы не можете совместно использовать имена участников-служб между учетными записями служб в одном блоке.
Я решил проблему, предоставив второй IP-адрес для своего сервера и сопоставив IIS с одним IP-адресом и SSRS с другим.
Затем я создал две новые записи A в DNS (не используйте записи C, они ненадежны с делегированием Kerberos), чтобы указывать на службы. iis.server.d.com указывает на IP-адрес IIS и ssrs.server.d.com указывает на IP SSRS.
Наконец, я удалил все SPN для обоих d\acct1 а также d\acct2 и переназначил SPN как HTTP/iis.server.d.com а также HTTP/ssrs.server.d.com соответственно.
Кроме того, я считаю, что редактирование SPN с помощью ADSIEdit гораздо проще, чем с помощью setspn командная строка.