Можно ли использовать одно имя участника-службы для двух учетных записей служб?
Я использую 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
командная строка.