Поделиться через


Регистрация имени субъекта-службы (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> — это учетная запись пользователя, с которой будет выполняться служба сервера отчетов. Для нее должно быть зарегистрировано имя субъекта-службы.

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

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

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

  3. Откройте командную строку.

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

    Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
    

    Например: Setspn -s http/MyReportServer.MyDomain.com MyDomainUser

  5. Выполните команду .

  6. RsReportServer.config Откройте файл и найдите <AuthenticationTypes> раздел.

  7. Добавьте <RSWindowsNegotiate> в качестве первой записи этого раздела для включения Kerberos.