Как зарегистрировать имя участника-службы для сервера отчетов

При развертывании служб Службы Reporting Services в сети, где для взаимной проверки подлинности используется протокол Kerberos, а сервер отчетов настроен для запуска от учетной записи пользователя домена, необходимо создать для службы сервера отчетов имя участника-службы (SPN). Кроме того, при настройке пользователя домена в качестве учетной записи службы следует настроить сервер отчетов для использования проверки подлинности NTLM.

Сведения об именах участников-служб

Имя участника-службы представляет собой уникальный идентификатор службы в сети, использующей проверку подлинности по протоколу Kerberos. Оно состоит из класса службы, имени узла и номера порта. В сети с проверкой подлинности по протоколу Kerberos имя участника-службы для сервера должно быть зарегистрировано либо со встроенной учетной записью компьютера (например, «Сетевая служба» или «Локальная система»), либо с учетной записью пользователя. Регистрация имен участников-служб для встроенных учетных записей производится автоматически. Если же служба запускается от учетной записи пользователя домена, необходимо вручную зарегистрировать имя участника-службы для применяемого типа учетной записи.

Создание имени участника-службы производится при помощи программы командной строки SetSPN. Дополнительные сведения см. в разделе Общие сведения о Setspn технического центра Microsoft Windows Server.

Для ее запуска на контроллере домена необходимо быть администратором домена.

Синтаксис

Синтаксис команд, применяющийся в программе SetSPN для создания имени участника-службы для сервера отчетов, выглядит следующим образом.

Setspn -a http/<computername>.<domainname>:<port> <domain-user-account>

Программа SetSPN входит в пакет средств поддержки для Windows Server 2003 с пакетом обновления 1 (SP1), который загружается отдельно. Аргумент -a позволяет зарегистрировать имя службы с указанной учетной записью.

HTTP — класс службы. Веб-служба сервера отчетов работает в компоненте HTTP.SYS. Создание имени участника-службы для компонента HTTP имеет один побочный эффект: всем веб-приложениям, запускаемым компонентом HTTP.SYS (включая размещенные в службе IIS), будут предоставляться билеты на основе учетной записи пользователя домена. Если эти службы запускаются от имени других учетных записей, то запросы на проверку подлинности будут завершаться ошибкой. Чтобы избежать этой проблемы, необходимо настроить все HTTP-приложения для запуска от одной и той же учетной записи либо назначить для каждого из приложений заголовок, а для каждого из узлов создать отдельное имя участника-службы. При настройке заголовков узлов изменения в DNS придется вносить вне зависимости от настройки служб Службы Reporting Services.

Значения <computername>, <domainname> и <port> составляют уникальный сетевой адрес компьютера, на котором расположен сервер отчетов. Это может быть как локальное имя узла, так и полное доменное имя. Если имеется всего один домен и используется порт 80, аргументы <domainname> и <port> в командной строке можно не указывать. Аргумент <domain-user-account> представляет собой учетную запись пользователя, под которой выполняется служба сервера отчетов и для которой зарегистрировано имя участника-службы.

ПримечаниеПримечание

ПРИМЕЧАНИЕ. Если используется Internet Explorer и проверка подлинности Kerberos, рекомендуется не указывать порт в командной строке. Дополнительные сведения см. в разделе Internet Explorer не может использовать протокол проверки подлинности Kerberos для подключению к веб-сайту (на английском языке).

Регистрация имени участника-службы для учетной записи пользователя домена

Регистрация имени участника-службы для службы сервера отчетов, которая запускается от имени пользователя домена

  1. Установите службы Службы Reporting Services и настройте службу сервера отчетов для запуска от учетной записи пользователя домена. Не забывайте, что пользователи не смогут соединиться с сервером отчетов до тех пор, пока не будут выполнены все описанные ниже шаги.

  2. Загрузите с центра загрузки и установите средства поддержки для Windows Server 2003 с пакетом обновления 1 (SP1).

  3. Войдите на контроллер домена как администратор домена.

  4. Откройте окно «Командная строка».

  5. Скопируйте следующую команду, заменив заполнители значениями для конкретной сети:

    Setspn -a http/<computer-name>.<domain-name>:<port> <domain-user-account>
    
  6. Выполните команду.

  7. Откройте файл RsReportServer.config и найдите раздел <AuthenticationTypes>. Добавьте <RSWindowsNegotiate/> в качестве первой записи этого раздела для включения NTLM.