Настройка проверка подлинности Windows на сервере отчетов
По умолчанию службы Reporting Services принимают запросы, в которых заданы параметры проверки подлинности NTLM или Согласования. Если развертывание включает клиентские приложения и браузеры, использующие этих поставщиков безопасности, можно использовать значения по умолчанию без другой конфигурации. Предположим, вы хотите использовать другой поставщик безопасности для интегрированной безопасности Windows или изменить значения по умолчанию и восстановить исходные параметры. Сведения в этой статье можно использовать для указания параметров проверки подлинности на сервере отчетов.
Чтобы использовать встроенную безопасность Windows, каждый пользователь, которому требуется доступ к серверу отчетов, должен иметь действительную учетную запись локального или домена Windows. Кроме того, они должны быть членом локальной или доменной учетной записи Windows. В группу можно включать учетные записи, относящиеся к другим доменам, если эти домены являются доверенными. Учетные записи должны иметь доступ к компьютеру сервера отчетов и затем должны быть назначены ролям, чтобы получить доступ к определенным операциям сервера отчетов.
Кроме того, необходимо выполнить следующие требования:
Файлы RSReportServer.config должны иметь
AuthenticationType
значениеRSWindowsNegotiate
,RSWindowsKerberos
илиRSWindowsNTLM
. По умолчанию файл конфигурации RSReportServer.config включает настройкуRSWindowsNegotiate
, если учетной записью службы сервера отчетов является учетная запись NetworkService или LocalSystem. В противном случае используется настройкаRSWindowsNTLM
. Можно добавитьRSWindowsKerberos
, если имеются приложения, в которых используется только проверка подлинности протокола Kerberos.Важно!
При использовании
RSWindowsNegotiate
ошибка проверки подлинности Kerberos возникает, если вы настроили службу сервера отчетов для запуска под учетной записью пользователя домена и не зарегистрировали имя субъекта-службы (SPN) для учетной записи. Дополнительные сведения см. в разделе "Устранение ошибок проверки подлинности Kerberos" при подключении к серверу отчетов в этом разделе.Платформа ASP.NET должна быть настроена для проверки подлинности Windows. По умолчанию файлы Web.config для веб-службы сервера отчетов содержат параметр
<authentication mode="Windows">
. Если изменить его<authentication mode="Forms">
, проверка подлинности Windows для служб Reporting Services завершается сбоем.Файлы Web.config для веб-службы сервера отчетов должны содержать параметр
<identity impersonate= "true" />
.Клиентское приложение или браузер должны поддерживать встроенную безопасность Windows.
На веб-портале не требуется дополнительная конфигурация.
Чтобы изменить настройки проверки подлинности сервера отчетов, измените XML-элементы и значения в файле RSReportServer.config. Вы можете скопировать и вставить примеры в этой статье, чтобы реализовать определенные сочетания.
Параметры по умолчанию лучше всего работают, если все клиентские и серверные компьютеры находятся в одном домене или в доверенном домене. Сервер отчетов развертывается для доступа к интрасети за корпоративным брандмауэром. Для передачи учетных данных Windows необходимо использовать доверенные и одиночные домены. Учетные данные можно передавать несколько раз в том случае, если для серверов включен протокол Kerberos версии 5. В противном случае учетные данные можно передать только один раз до истечения срока их действия. Дополнительные сведения о настройке учетных данных для нескольких подключений к компьютеру см. в разделе "Указание учетных данных" и сведений о подключении для источников данных отчета.
Следующие параметры настраиваются для сервера отчетов, работающего в собственном режиме. Если развертывание сервера отчетов производилось в режиме интеграции с SharePoint, то необходимо пользоваться настройками проверки подлинности по умолчанию, в которых задана встроенная безопасность Windows. Сервер отчетов использует внутренние функции модуля проверки подлинности Windows по умолчанию для поддержки серверов отчетов в режиме интеграции с SharePoint.
Расширенная защита для проверки подлинности
Начиная с SQL Server 2008 R2 (10.50.x), доступна поддержка расширенной защиты для проверки подлинности. Функционал SQL Server поддерживает привязку каналов и служб для повышения уровня защиты проверки подлинности. Функционал Reporting Services следует использовать в ОС с поддержкой расширенной защиты. Конфигурацию служб Reporting Services для расширенной защиты можно определить с помощью определенных параметров в файле RSReportServer.config. Вы можете обновить файл, изменив файл или с помощью API WMI. Дополнительные сведения см. в статье "Расширенная защита для проверки подлинности с помощью служб Reporting Services".
Настройка сервера отчетов для использования интегрированной безопасности Windows
Откройте файл конфигурации RSReportServer.config в текстовом редакторе.
Найдите параметр
<Authentication>
.Выберите и скопируйте наиболее подходящую из следующих XML-структур.
RSWindowsNegotiate
,RSWindowsNTLM
иRSWindowsKerberos
можно указывать в любом порядке. Включите сохраняемость проверки подлинности, если нужно проверить подлинность соединений, а не каждого отдельного запроса. При сохраняемости проверки подлинности все запросы, требующие проверки подлинности, разрешены во время подключения.Первая XML-структура является настройкой по умолчанию, если учетной записью службы сервера отчетов является учетная запись NetworkService или LocalSystem:
<Authentication> <AuthenticationTypes> <RSWindowsNegotiate /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>
Вторая XML-структура — это конфигурация по умолчанию, если учетная запись службы сервера отчетов не является NetworkService или LocalSystem:
<Authentication> <AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>
Третья XML-структура указывает все пакеты безопасности, используемые во встроенной безопасности Windows:
<AuthenticationTypes> <RSWindowsNegotiate /> <RSWindowsKerberos /> <RSWindowsNTLM /> </AuthenticationTypes>
Четвертая структура XML указывает NTLM только для развертываний, которые не поддерживают Kerberos или работают с ошибками проверки подлинности Kerberos:
<AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes>
Вставьте его на место существующих элементов
<Authentication>
.Нельзя использовать
Custom
с типамиRSWindows
.При необходимости измените параметры расширенной защиты. По умолчанию расширенная защита отключена. Если эти записи отсутствуют, текущий компьютер может не работать с версией служб Reporting Services, которая поддерживает расширенную защиту. Дополнительные сведения см. в статье "Расширенная защита для проверки подлинности с помощью служб Reporting Services"
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
Сохраните файл.
Если настроено масштабное развертывание, повторите вышеперечисленные шаги для остальных серверов отчетов, входящих в конфигурацию развертывания.
Перезапустите сервер отчетов, чтобы очистить все открытые сеансы.
Устранение ошибок проверки подлинности Kerberos при подключении к серверу отчетов
На сервере отчетов, настроенном для проверки подлинности "Согласование" или "Kerberos", подключение клиента к серверу отчетов завершается ошибкой, если возникает ошибка проверки подлинности Kerberos. Известно, что ошибки проверки подлинности протокола Kerberos происходят вследствие следующих причин.
Служба сервера отчетов выполняется в качестве учетной записи пользователя домена Windows и не зарегистрировала имя субъекта-службы (SPN) для учетной записи.
Сервер отчетов настроен на режим
RSWindowsNegotiate
.Браузер выбирает протокол Kerberos вместо NTLM в заголовке проверки подлинности в запросе, посылаемом серверу отчетов.
Можно заметить ошибку, если включить ведение журнала протокола Kerberos. Другой симптом ошибки заключается в том, что вам предлагается несколько раз ввести учетные данные, а затем увидеть пустое окно браузера.
Вы можете убедиться, что вы столкнулись с ошибкой проверки подлинности Kerberos, удалив <RSWindowsNegotiate>
из файла конфигурации и повторно презрив подключение.
Если неполадка подтверждается, ее можно устранить следующими способами:
Зарегистрируйте имя участника-службы для службы сервера отчетов, которая запускается от учетной записи пользователя домена. Дополнительные сведения см. в разделе "Регистрация имени субъекта-службы" для сервера отчетов.
Измените учетную запись службы для запуска под встроенной учетной записью, такой как сетевая служба. Встроенные учетные записи сопоставляют имя участника-службы HTTP с именем участника-службы Host, которое определяется при соединении компьютера с сетью. Дополнительные сведения см. в разделе "Настройка учетной записи службы " (Диспетчер конфигурации сервера отчетов)".
Используйте NTLM. NTLM обычно работает в тех случаях, когда проверка подлинности Kerberos завершается ошибкой. Чтобы задействовать NTLM, удалите
RSWindowsNegotiate
из файла RSReportServer.config и проверьте, что указан толькоRSWindowsNTLM
. Если вы выберете этот подход, вы можете продолжать использовать учетную запись пользователя домена для службы сервера отчетов, даже если для нее не определено имя субъекта-службы.
Чтобы свести итоги, выполните команды, аналогичные следующему примеру. Замените значения соответствующим образом.
setspn -S HTTP/<SSRS Server FDQN> <SSRS Service Account>
setspn -S HTTP/<host header for Report server web site> <SSRS Service Account>
setspn -S HTTP/<SharePoint Server FDQN> <SharePoint Application Pool Account>
setspn -S HTTP/<host header for SharePoint site> <SharePoint Application Pool Account>
setspn -S HTTP/Dummy <Claims to Windows Taken Service Account>
Сведения о журнале
Имеется несколько источников информации, включаемой в журнал, которые могут помочь в решении проблем, связанных с протоколом Kerberos.
Атрибут User-Account-Control
Определите, определен ли необходимый атрибут учетной записи служб Reporting Services в Active Directory. Просмотрите файл журнала трассировки службы Reporting Services, чтобы найти значение, зарегистрированное для атрибута UserAccountControl. Значение записи приведено в десятичном формате. Необходимо преобразовать десятичное значение в шестнадцатеричную форму, а затем найти это значение в статье MSDN, описывающей атрибут User-Account-Control.
Запись журнала трассировки служб Reporting Services выглядит примерно так:
appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336
Например, десятичное значение можно преобразовать в шестнадцатеричное с помощью калькулятора Microsoft Windows. Калькулятор Windows поддерживает несколько режимов, в которые отображаются
Dec
параметры иHex
параметры.Dec
Выберите параметр, вставьте или введите десятичное значение, которое вы нашли в файле журнала, а затем выберите параметр Hex.Затем см. статью Атрибут User-Account-Control, чтобы получить атрибут для учетной записи службы.
Имена субъектов-служб, настроенные в Active Directory для учетной записи службы Reporting Services
Чтобы включить SPN в файл журнала трассировки служб Reporting Services, можно временно включить функцию расширенной защиты служб Reporting Services.
Внесите изменения в файл конфигурации rsreportserver.config , задав следующие параметры:
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>
Перезапустите службу Служб Reporting Services.
Если вы не хотите продолжать использовать расширенную защиту, задайте значения конфигурации по умолчанию и перезапустите учетную запись службы Reporting Services.
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
Дополнительные сведения см. в статье "Расширенная защита для проверки подлинности с помощью служб Reporting Services".
Выбор браузера "Согласование Kerberos" или "Согласование NTLM"
При использовании браузера Internet Explorer для подключения к серверу отчетов, он указывает Negotiated Kerberos или NTLM в заголовке проверки подлинности. NTLM используется вместо протокола Kerberos, когда:
Запрос передан в локальный сервер отчетов.
Запрос передан по IP-адресу компьютера сервера отчетов вместо заголовка узла или имени сервера.
Программа брандмауэра блокирует порты, используемые для проверки подлинности протокола Kerberos.
Операционная система определенного сервера не включает Kerberos.
Домен включает более старые версии клиентских и серверных операционных систем Windows, которые не поддерживают функцию проверки подлинности Kerberos, встроенную в более новые версии операционной системы.
Кроме того, Internet Explorer может выбрать Negotiated Kerberos или NTLM в зависимости от настроек URL-адреса, ЛВС и прокси-сервера.
URL-адрес сервера отчетов;
Если URL-адрес содержит полное доменное имя, то Internet Explorer выбирает NTLM. Если URL-адрес указывает localhost, то Internet Explorer выбирает NTLM. Если URL-адрес указывает сетевое имя компьютера, интернет-Обозреватель выбирает "Согласование", которое завершается успешно или завершается сбоем в зависимости от того, существует ли имя субъекта-службы для учетной записи службы сервера отчетов.
Параметры локальной сети и прокси-сервера на клиенте
Настройки локальной сети и прокси-сервера, установленные в браузере Internet Explorer, могут определить выбор NTLM вместо протокола Kerberos. Тем не менее, поскольку параметры локальной сети и прокси-сервера зависят от организаций, невозможно точно определить точные параметры, которые способствуют ошибкам проверки подлинности Kerberos. Например, ваша организация может применять параметры прокси-сервера, которые преобразуют URL-адреса из URL-адресов интрасети в полные URL-адреса доменного имени, которые разрешаются через Интернет-подключения. Если для разных типов URL-адресов используются разные поставщики проверки подлинности, может возникнуть ошибка некоторых подключений при их сбое.
Возможно, возникают ошибки подключения, которые возникают из-за сбоев проверки подлинности. В этом случае можно попробовать различные сочетания параметров локальной сети и прокси-сервера, чтобы изолировать проблему. В Обозреватель Интернета параметры локальной сети и прокси-сервера находятся в диалоговом окне Параметры "Локальная сеть", которое открывается путем выбора параметров локальной сети на вкладке "Параметры Подключение ion".
Дополнительные сведения о серверах отчетов Kerberos и серверах отчетов
- Дополнительные сведения о серверах Kerberos и серверах отчетов см. в статье "Развертывание решения бизнес-аналитики с помощью SharePoint, Reporting Services и сервера мониторинга PerformancePoint с помощью Kerberos".
Связанный контент
- Проверка подлинности с использованием сервера отчетов
- Предоставление разрешений на сервер отчетов в собственном режиме
- Файл конфигурации RsReportServer.config
- Настройка базовой проверки подлинности на сервере отчетов
- Настройка пользовательской проверки подлинности или форм на сервере отчетов
- Расширенная защита для проверки подлинности с помощью служб Reporting Services