Настройка TLS-соединений на сервере отчетов, работающем в собственном режиме
Область применения: SQL Server 2016 (13.x) Reporting Services и более поздних версий Сервер отчетов Power BI
В собственном режиме служб SQL Server Reporting Services (SSRS) можно использовать протокол TLS для установления зашифрованных подключений к серверу отчетов. TLS ранее был известен как протокол SSL. Если у вас есть файл сертификата (.cer), установленный в локальном хранилище сертификатов на сервере отчетов, можно привязать сертификат к резервированию URL-адресов SSRS для поддержки подключений сервера отчетов через зашифрованный канал.
Совет
Дополнительные сведения о режиме SharePoint служб SSRS см. в разделе "Сервер отчетов служб Reporting Services" (режим SharePoint).
Так как службы IIS (IIS) также использует TLS, существуют значительные проблемы с взаимодействием, которые необходимо учитывать при запуске СЛУЖБ IIS и SSRS на одном компьютере. Инструкции по устранению этих проблем см. в разделе "Взаимодействие" с разделом IIS далее в этой статье.
Необходимые компоненты
- Настроенный сервер отчетов в собственном режиме
- Сертификат сервера, установленный на компьютере
Установка сертификата сервера
Необходимо установить сертификат сервера на сервере отчетов в локальном хранилище. Сертификаты клиента не поддерживаются.
Службы SSRS не предоставляют функциональные возможности для запроса, создания, скачивания или установки сертификата. Вы можете выбрать свойства, указанные для сертификата и центра сертификации, из него. Вы также решаете средства и служебные программы, которые вы используете для запроса и установки сертификата.
Существует несколько возможностей для получения сертификата:
Windows Server предоставляет оснастку "Сертификаты", которую можно использовать для запроса сертификата из доверенного центра сертификации.
Если вы хотите создать сертификат локально для тестирования, можно выполнить следующий сценарий PowerShell.
- Запустите скрипт от имени администратора.
- Замените заполнители значениями, подходящими для вашей среды.
# Create a self-signed certificate in the local store. $newCertificate = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName <server-name> -FriendlyName "<friendly-name>" # Convert the report server password to a secure string. $secureStringPassword = ConvertTo-SecureString "<server-password>" -AsPlainText -Force # Set up a temporary folder if one doesn't exist. $folderPath = "C:\Temp" if (-not (Test-Path -Path $folderPath)) { New-Item -Path $folderPath -ItemType Directory } # Set up a variable for the path of a certificate file. $certificateFilePath = $folderPath, "\certificate-export.pfx" -join "" # Set up a variable for the path of the certificate's store location. $certificateStoreLocation = "cert:\LocalMachine\My\", $newCertificate.Thumbprint -join "" # Export the certificate to the file. Export-PFXCertificate -Cert $certificateStoreLocation -File $certificateFilePath -Password $secureStringPassword # Import the certificate from the file to the trusted root to avoid problems with the certificate not being trusted. Import-PfxCertificate -FilePath $certificateFilePath cert:\LocalMachine\Root -Password $secureStringPassword
Теперь сертификат доступен для использования в Configuration Manager сервера отчетов.
Если вы запускаете службы IIS и службы SSRS вместе на одном компьютере, вы можете использовать консольное приложение диспетчера IIS для запроса и установки сертификата:
- В диспетчере IIS создайте и упаковите файл запроса сертификата (CRT) для последующей обработки доверенным центром сертификации. Дополнительные сведения см. в разделе "Запрос сертификата сервера".
- После отправки файла сертификата (.cer) используйте службу управления IIS для установки файла сертификата в локальном хранилище. Дополнительные сведения см. в разделе "Установка сертификата сервера".
Проблемы взаимодействия со службами IIS
Наличие СЛУЖБ IIS на том же компьютере, что и службы SSRS, значительно влияют на подключения TLS к серверу отчетов:
- Зависимость создается в службах IIS при настройке URL-адресов сервера отчетов для подключений TLS. IIS, в свою очередь, имеет зависимость от службы веб-публикации World Wide Web Publishing Service. В результате при настройке URL-адресов сервера отчетов для подключений TLS необходимо запустить службу веб-публикации World Wide.
- Удаление службы IIS может временно нарушить работу службы по привязанному к TLS-соединению URL-адресу сервера отчетов. После удаления IIS необходимо перезапустить компьютер, чтобы очистить все сеансы TLS из кэша. Некоторые операционные системы кэшируют сеансы TLS до 10 часов. В результате URL-адрес, привязанный к TLS, может продолжать работать после удаления привязки TLS из резервирования URL-адресов в репозитории HTTP.sys. Перезапуск компьютера закрывает все открытые подключения, использующие канал.
Привязка TLS к резервированию URL-адресов SSRS
Резервирования для URL-адреса веб-службы сервера отчетов и URL-адреса веб-портала настраиваются независимо.
Настройка доступа к веб-службе через зашифрованный tls канал
Чтобы настроить URL-адрес, который можно использовать для доступа к серверу отчетов, сделайте следующее:
Откройте диспетчер конфигурации сервера отчетов и подключитесь к серверу отчетов.
На странице состояния сервера отчетов нажмите кнопку "Остановить".
Сообщение в окне результатов указывает, что сервер остановлен.
Выберите Пуск. Сообщение в окне результатов указывает, что сервер запущен.
В области "Подключение" выберите URL-адрес веб-службы.
В списке сертификатов HTTPS выберите установленный сертификат.
Выберите Применить. Сообщения в окне результатов указывают ход выполнения средства настройки.
В разделе URL-адреса веб-службы сервера отчетов выберите зарезервированный URL-адрес. При появлении запроса введите учетные данные для сервера отчетов. Откроется окно браузера для предоставления доступа к серверу отчетов.
Если URL-адрес не подключается к серверу отчетов, проверьте базу данных сервера отчетов. Чтобы URL-адрес работал, сначала необходимо создать и настроить базу данных.
Настройка доступа к веб-порталу через зашифрованный tls канал
Если вы также хотите настроить доступ к веб-порталу через зашифрованный TLS-канал, сделайте следующее:
В диспетчере конфигурации сервера отчетов в области "Подключение " выберите URL-адрес веб-портала.
Выберите Дополнительно.
В разделе "Несколько удостоверений HTTPS" для функции служб Reporting Services выберите "Добавить".
В списке сертификатов выберите установленный сертификат и нажмите кнопку "ОК".
Сообщения в окне результатов указывают ход выполнения средства настройки.
В разделе "Идентификация сайта веб-портала" выберите зарезервированный URL-адрес. При появлении запроса введите учетные данные для сервера отчетов. Откроется окно браузера и отобразится домашняя страница SSRS.
Хранение привязок к сертификату
Привязки сертификатов хранятся в репозитории HTTP.sys. Представление определяемых привязок хранится в разделе URLReservations файла RSReportServer.config.
Настройки в файле конфигурации являются только представлением фактических значений, указанных в другом месте. Не изменяйте значения в файле конфигурации напрямую.
Параметры конфигурации отображаются в файле только после использования диспетчера конфигурации сервера отчетов или поставщика инструментария управления windows (WMI) сервера отчетов для привязки сертификата.
Примечание.
Если вы настраиваете привязку с сертификатом TLS в SSRS, а затем хотите удалить сертификат с компьютера, удалите привязку из SSRS перед удалением сертификата с компьютера. В противном случае невозможно удалить привязку с помощью диспетчера конфигурации сервера отчетов или WMI, и вы получите сообщение "Недопустимый параметр".
После удаления сертификата с компьютера можно использовать средство HttpCfg.exe для удаления привязки из репозитория HTTP.sys. Дополнительные сведения см. в HttpCfg.exe.
Привязки TLS — это общий ресурс в Windows. При использовании Диспетчера конфигурации сервера отчетов или других средств, таких как ДИСПЕТЧЕР IIS, для изменения привязок эти изменения могут повлиять на другие приложения на том же компьютере.
Рекомендуется использовать то же средство для создания и изменения привязок. Например, если вы создаете привязки TLS с помощью диспетчера конфигурации сервера отчетов, используйте диспетчер конфигурации сервера отчетов для управления жизненным циклом привязок. При использовании диспетчера IIS для создания привязок используйте диспетчер IIS для управления жизненным циклом привязок.
При установке СЛУЖБ IIS на компьютере перед установкой служб SSRS рекомендуется ознакомиться с конфигурацией TLS в IIS перед настройкой служб SSRS.