Регистрация имени субъекта-службы (SPN) для сервера отчетов
При развертывании служб Reporting Services в сети, которая использует протокол Kerberos для взаимной проверки подлинности, необходимо создать имя субъекта-службы для службы сервера отчетов. Если вы настроите его для запуска в качестве учетной записи пользователя домена, необходимо создать имя.
Сведения об именах участников-служб
Имя участника-службы представляет собой уникальный идентификатор службы в сети, использующей проверку подлинности по протоколу Kerberos. Оно состоит из класса службы, имени узла и иногда номера порта. Vpn-службы HTTP не требуют порта. В сети с проверкой подлинности по протоколу Kerberos имя участника-службы для сервера должно быть зарегистрировано либо со встроенной учетной записью компьютера (например, «Сетевая служба» или «Локальная система»), либо с учетной записью пользователя. Регистрация имен участников-служб для встроенных учетных записей производится автоматически. Если же служба запускается от учетной записи пользователя домена, необходимо вручную зарегистрировать имя участника-службы для применяемого типа учетной записи.
Чтобы создать имя субъекта-службы, можно воспользоваться программой командной строки SetSPN . Дополнительные сведения см. в разделе:
Для ее запуска на контроллере домена необходимо быть администратором домена.
Синтаксис
При использовании имени субъекта-службы с SetSPN
помощью имени участника-службы необходимо ввести имя участника-службы в правильном формате. Формат имени субъекта-службы HTTP — http/host
. Синтаксис команды для создания SetSPN
имени участника-службы для сервера отчетов похож на следующий пример:
Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
SetSPN
доступен в Windows Server. Аргумент -s
добавляет имя субъекта-службы после проверки отсутствия дубликата.
Примечание.
-s
доступна в Windows Server, начиная с Windows Server 2008.
HTTP
— класс службы. Веб-служба сервера отчетов выполняется в HTTP.SYS
. Путем создания имени участника-службы для HTTP
заключается в том, что все веб-приложения на том же компьютере, в котором выполняются HTTP.SYS
(включая приложения, размещенные в IIS), предоставляются билеты на основе учетной записи пользователя домена. Если эти службы выполняются под другой учетной записью, запросы проверки подлинности завершаются ошибкой. Чтобы избежать этой проблемы, необходимо настроить все HTTP-приложения для запуска от одной и той же учетной записи либо назначить для каждого из приложений заголовок, а для каждого из узлов создать отдельное имя участника-службы. При настройке заголовков узлов изменения DNS требуются независимо от конфигурации служб Reporting Services.
Значения <computername>
и <domainname>
составляют уникальный сетевой адрес компьютера, на котором расположен сервер отчетов. Это значение может быть локальным именем узла или полным доменным именем (FQDN). Если у вас единственный домен, то <domainname>
можно не указывать в команде. <domain-user-account>
— это учетная запись пользователя, с которой будет выполняться служба сервера отчетов. Для нее должно быть зарегистрировано имя субъекта-службы.
Регистрация имени участника-службы для службы сервера отчетов, работающей в качестве пользователя домена
Установите службы Reporting Services и настройте службу сервера отчетов для запуска в качестве учетной записи пользователя домена. Пользователи не смогут подключаться к серверу отчетов, пока не выполните следующие действия.
Войдите в контроллер домена от имени администратора домена.
Откройте командную строку.
Скопируйте следующую команду, заменив заполнители значениями для конкретной сети:
Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
Например:
Setspn -s http/MyReportServer.MyDomain.com MyDomainUser
Выполните команду .
RsReportServer.config
Откройте файл и найдите<AuthenticationTypes>
раздел.Добавьте
<RSWindowsNegotiate>
в качестве первой записи этого раздела для включения Kerberos.