Можно ли использовать одно имя участника-службы для двух учетных записей служб?

Я использую 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 командная строка.

Другие вопросы по тегам