Как настроить нестандартную проверку подлинности или проверку подлинности с помощью форм в службах Reporting Services

Службы Reporting Services предоставляют открытую архитектуру, которая позволяет подключать нестандартные модули проверки подлинности и модули проверки подлинности с помощью форм. Можно рассмотреть возможность реализации нестандартного модуля проверки подлинности, если требования к развертыванию не включают встроенной безопасности Windows или обычную проверку подлинности. Наиболее распространенный сценарий использования нестандартной проверки подлинности — доступ к веб-приложению через Интернет или экстрасеть. Замена модуля проверки подлинности Windows по умолчанию нестандартным модулем проверки подлинности обеспечивает более широкие возможности управления предоставлением доступа к серверу отчетов внешним пользователям.

На практике для развертывания нестандартного модуля проверки подлинности требуется выполнить несколько шагов, в том числе копировать сборки и файлы приложений, изменять файлы конфигурации и выполнять тестирование. В этом разделе рассматриваются только параметры проверки подлинности, указанные в файлах конфигурации.

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

Чтобы создать нестандартный модуль проверки подлинности, необходимо написать определенный код и хорошо разбираться в системе безопасности ASP.NET. Если не нужно создавать нестандартный модуль проверки подлинности, можно использовать группы и учетные записи Microsoft Active Directory, но это связано со значительным уменьшением области развертывания сервера отчетов. Дополнительные сведения о нестандартной проверке подлинности см. в разделе Реализация модуля безопасности.

Кроме того, если нужно использовать проверку подлинности с помощью форм или нестандартный модуль проверки подлинности в среде служб Службы Reporting Services, интегрированной с продуктом SharePoint, то необходимо настроить сайт SharePoint на использование выбранного метода проверки подлинности. Дополнительные сведения о настройке проверки подлинности в SharePoint см. в разделе Authentication Samples в библиотеке MSDN Microsoft.

ПредупреждениеВнимание!

Поставщик Forms должен обеспечить защиту от атак методом подбора, когда злоумышленник часто повторяет вызовы конечной точки, пока это не отразится на сервере. Распространенным средством против этого типа угроз является реализация поставщиком Forms функций блокировки учетных записей после определенного числа неверных попыток входа. Встроенная безопасность Windows поддерживает блокировку посредством политики блокировки в домене. Политику блокировки домена должен настраивать администратор домена. В случае же проверки подлинности с помощью форм поставщик Forms должен обеспечить защиту от возможных угроз.

Настройка сервера отчетов для использования нестандартной проверки подлинности

  1. Откройте файл RSReportServer.config в текстовом редакторе.

  2. Найдите параметр <Authentication>.

  3. Скопируйте следующую структуру XML:

    <Authentication>
          <AuthenticationTypes>
                 <Custom />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    
  4. Вставьте его вместо существующих элементов в элементе <Authentication>.

    Следует заметить, что Custom нельзя использовать с другими типами проверки подлинности.

  5. Сохраните файл.

  6. Откройте файл конфигурации Web.config для сервера отчетов. По умолчанию он находится в каталоге \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer.

  7. Найдите параметр authentication mode и установите значение Forms.

    <authentication mode = "Forms" />
    
  8. Найдите параметр identity impersonate и установите значение False.

    <identity impersonate = "false" />
    
  9. Откройте файл конфигурации Web.config для диспетчера отчетов. По умолчанию он находится в каталоге \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager.

  10. Найдите параметр authentication mode и установите значение Forms.

    <authentication mode = "Forms" />
    
  11. Найдите параметр identity impersonate и установите значение False.

    <identity impersonate = "false" />
    
  12. Добавьте элемент структуры PassThroughCookies к файлу конфигурации. Дополнительные сведения см. в разделе Включение передачи файлов cookie для нестандартной проверки подлинности пользователя в диспетчере отчетов.

  13. Сохраните файл.

  14. Если настроено масштабное развертывание, повторите все предыдущие шаги для других серверов отчетов в развертывании.

  15. Перезапустите сервер отчетов, чтобы очистить все открытые сеансы.