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


Планирование развертывания в экстрасети или Интернете

Хотя службы SQL ServerReporting Services не разрабатывались специально для развертывания отчетов в экстрасети или Интернете, их можно успешно использовать на веб-сервере, доступном через Интернет, чтобы распространять для широкой публики сведения общего характера, а для прошедших проверку и авторизованных пользователей — корпоративные служебные данные.

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

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

Схема архитектуры экстрасети или Интернета

На следующем рисунке показан пример рекомендуемой конфигурации развертывания для экстрасети или Интернета.

Развертывание сервера отчетов в Интернете или экстрасети

Обратите внимание на следующие ключевые особенности этой схемы.

  • Три брандмауэра обеспечивают всестороннюю защиту всего развертывания. В этом разделе приведены рекомендации по настройке брандмауэров.

  • Точкой входа является пользовательское веб-приложение, которое содержит элемент управления ReportViewer. Элемент управления содержит отчет, который выполняется на сервере отчетов за вторым брандмауэром.

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

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

Общие рекомендации

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

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

  1. Установите брандмауэры и укажите серверы, учетные записи и разрешения.

  2. Создайте или получите сертификаты сервера для SSL-соединений. Установите сертификаты на всех компьютерах, на которых размещены серверные компоненты. Если установлены сертификаты с подстановочными параметрами, можно использовать один сертификат для нескольких URL-адресов.

  3. Спроектируйте и реализуйте подход для копирования корпоративных данных в отдельные источники данных для отчетов. Можно использовать такие технологии, как репликация, службы SQL ServerIntegration Services или сторонние продукты.

  4. Установите службы Reporting Services в режиме установки только файлов, чтобы настроить параметры, допускающие внешний доступ. В мастере установки SQL Server это параметр Установить, но не настраивать сервер.

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

    1. Удостоверьтесь, что служба выполняется под учетной записью с минимальным количеством прав. Старайтесь не использовать учетную запись «Локальная система». Если выбрана «Локальная система», измените учетную запись на NetworkService или учетную запись пользователя домена.

    2. Определите URL-адрес сервера отчетов и, при необходимости, URL-адрес диспетчера отчетов.

      Необходимо создать несколько URL-адресов для доступа через полное доменное имя (FQDN), которые будут использоваться внешними пользователями, и один URL-адрес, использующий сетевое имя. Использование двух различных URL-адресов позволит подключиться к серверу отчетов, если веб-соединение отключено или сервер находится в автономном режиме.

      Для URL-адресов FQDN, которые были определены, необходимо выбрать сертификаты SSL.

    3. Создание базы данных сервера отчетов. Если экземпляр SQL Server находится в другом домене, а протокол Kerberos 5.0 не активизирован, используйте для соединения с базой данных сервера отчетов проверку подлинности SQL Server. Защитите соединение между компьютером сервера отчетов и экземпляром компонента SQL ServerDatabase Engine с помощью протокола SSL или IPSec.

  6. Создайте и разверните нестандартный модуль проверки подлинности. Если используется технология однократной регистрации входа, реализованная в виде фильтра ISAPI, то необходимо использовать ISA Server для поддержки фильтра ISAPI. Прослушиватель HTTP в службах Reporting Services не поддерживает фильтры ISAPI.

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

  8. Создайте и разверните клиентское веб-приложение, в котором используется элемент управления ReportViewer веб-сервера.

  9. Опубликуйте отчеты и другие типы содержимого на сервере отчетов.

  10. Настройте параметры брандмауэра. Удостоверьтесь, что параметры брандмауэра обеспечивают минимальный доступ к компьютерам и приложениям, расположенным за ним.

Конфигурации брандмауэра

В URL-адресах по умолчанию для приложений сервера отчетов предполагается, что порт 80 включен и доступен для сервера отчетов. Если используется брандмауэр Windows, необходимо открыть порт 80 или другой порт, доступный для HTTP-запросов сервера отчетов. Если используется другой порт, обязательно укажите его в URL-адресах сервера отчетов. Дополнительные сведения см. в разделе Как настроить брандмауэр для доступа к серверу отчетов. Дополнительные сведения о настройке брандмауэра Windows и описаниях портов TCP, влияющих на работу компонента Database Engine, службы Analysis Services, Reporting Services и Integration Services, см. в разделе Настройка Брандмауэра Windows для разрешения доступа к SQL Server.

Элемент управления веб-сервера ReportViewer в веб-приложении

Для развертывания отчетов в интернет-приложении элементы управления веб-сервером ReportViewer могут быть внедрены в созданное и развернутое пользовательское интернет-приложение. Входящий в комплект среды Visual Studio 2005 и более поздних версий элемент управления веб-сервера ReportViewer можно бесплатно распространять вместе с приложением. Элемент управления можно настроить для отображения отчетов, выполняемых на сервере отчетов. Соединение между приложением и сервером отчетов обеспечивается элементом управления через программный интерфейс веб-службы. Все действия по проверке подлинности и авторизации выполняются вашим приложением, которое подключается к серверу отчетов по единственному, доверенному для пользователя соединению.

Дополнительные сведения см. в разделе Службы Reporting Services и элементы управления ReportViewer в среде Visual Studio.

Диспетчер отчетов в качестве клиентского веб-интерфейса для Интернета или экстрасети

Диспетчер отчетов проектировался как веб-приложение, но если нельзя создать пользовательское веб-приложение, то можно применить диспетчер отчетов для просмотра отчетов через соединение с Интернетом. Следующие предложения содержат рекомендации по развертыванию.

  • Рассмотрите возможность установки диспетчера отчетов в качестве отдельного экземпляра на сервере приложений. Диспетчер отчетов выполняется в службе сервера отчетов. Поэтому для установки диспетчера отчетов необходимо установить службы Reporting Services, а затем отключить веб-службу и функции планирования и доставки в службе. Для получения лучших результатов установите службы Reporting Services на веб-сервере, доступном через Интернет, в режиме «только файлы». В мастере установки SQL Server это параметр Установить, но не настраивать сервер.

  • Создайте и разверните настраиваемый модуль безопасности для проверки подлинности с помощью форм или технологии однократной регистрации входа.

  • Настройте диспетчер отчетов с минимальными разрешениями. Роль «Обозреватель» и роль «Системный пользователь» достаточны для просмотра отчетов.

  • Чтобы перенаправить диспетчер отчетов на другой экземпляр сервера отчетов, работающий на отдельном компьютере, необходимо настроить URL-адрес диспетчера отчетов, а затем изменить параметры <ReportServerVirtualDirectory> и <ReportServerUrl> в файле RSReportServer.config, указав экземпляр сервера отчетов для диспетчера отчетов.

  • На сервере отчетов, с которым установлено соединение, отключите неиспользуемые функции. Это могут быть «Мои отчеты», подписка и доставка, построитель отчетов и печать на стороне клиента.

Настройка параметров прокси-сервера в файлах Web.config

Если диспетчер отчетов используется как клиентское приложение для развертывания в Интернете и сервер отчетов установлен на том же компьютере, то необходимо указать в файле Web.config параметр, позволяющий диспетчеру отчетов не использовать прокси-сервер при отправке запросов к локальному серверу отчетов, установленному на том же компьютере.

Параметр Web.config представляет собой сетевой параметр defaultProxy платформы System.NET. По умолчанию параметр defaultProxy в файле Web.config для диспетчера отчетов отключен. Именно эту конфигурацию рекомендуется использовать, когда диспетчер отчетов и сервер отчетов вместе развертываются на одном компьютере.

При обновлении служб Reporting Services с более ранней версии в файле Web.config диспетчера отчетов будет отсутствовать параметр конфигурации defaultProxy. Для конфигураций, в которых диспетчер отчетов и сервер отчетов выполняются на одном компьютере, параметр defaultProxy можно добавить и включить. Скопируйте следующие настройки в файл Web.config диспетчера отчетов:

<configuration>
...
<system.net>
  <defaultProxy enabled="false" />
</system.net>
</configuration>

Дополнительные сведения об этих параметрах см. в разделах «Настройка веб-приложений» и «Элемент defaultProxy (сетевые параметры)» в руководстве разработчика для платформы Microsoft.NET Framework.

Вопросы, связанные с проверкой подлинности при развертывании в экстрасети и Интернете

Чтобы развернуть сервер отчетов в экстрасети с поддержкой соединения со стандартными учетными записями службы Microsoft Active Directory, можно использовать стандартный модуль проверки подлинности Windows. Рассмотрите возможность настройки сервера для соединения по протоколу SSL и использования обычной проверки подлинности. Можно использовать средство настройки служб Reporting Services, чтобы сопоставить существующий сертификат URL-адресу сервера отчетов. Можно изменить файлы конфигурации, чтобы изменить тип проверки подлинности.

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

Проверка развертывания в Интернете

Чтобы убедиться в том, что сервер отчетов доступен, необходимо иметь возможность просмотра пространства имен папок сервера отчетов по интернет-подключению при вводе адреса http: (или https:)//<полное-доменное-имя-вашего-веб-сервера>/сервер_отчетов, где /сервер_отчетов является именем по умолчанию виртуального каталога сервера отчетов.