Ключи шифрования служб SSRS — хранение зашифрованных данных сервера отчетов
Службы Reporting Services хранят зашифрованные значения в базе данных сервера отчетов и в файлах конфигурации. Зашифрованные значения — это главным образом учетные данные, используемые при подключении к внешним источникам данных, содержащим данные для отчетов. В этом разделе описывается, какие значения шифруются, функции шифрования, используемые в службах Reporting Services, и другие типы хранимых конфиденциальных данных, о которых следует знать.
Шифруемые значения
В следующем списке описываются значения, хранящиеся в установке служб Reporting Services.
Сведения о соединении и учетные данные, используемые сервером отчетов для подключения к базе данных сервера отчетов, содержащей внутренние данные сервера.
Эти значения задаются и шифруются при начальной установке или последующей настройке сервера отчетов. Сведения о подключении можно изменить в любой момент с помощью средства настройки служб Reporting Services или программы rsconfig . Шифрование параметров конфигурации выполняется с использованием машинного ключа локального компьютера, который доступен всем пользователям. Зашифрованные сведения о соединении с сервером отчетов сохраняются в файле rsreportserver.config (никакие другие файлы конфигурации не содержат зашифрованных сведений о настройках). Дополнительные сведения см. в разделе Настройка соединения с базой данных сервера отчетов (диспетчер конфигурации сервера отчетов).
Сохраненные учетные данные, используемые сервером отчетов для подключения к внешним источникам данных, предоставляющим данные для отчетов.
Эти значения определяются во время настройки источника данных для отчета, затем сохраняются в зашифрованном виде в базе данных сервера отчетов. Для шифрования и расшифровки этих данных сервер отчетов использует симметричный ключ. Дополнительные сведения о сохраненных учетных данных см. в статье Задание учетных данных и сведений о соединении для источников данных отчета.
Автоматическая учетная запись, используемая сервером отчетов для подключения к другим компьютерам с целью получения файлов внешних изображений или внешних данных, используемых в отчетах.
Эта учетная запись используется в случае, когда требуется соединение с удаленным компьютером и для этого нет никаких других учетных данных. Эта учетная запись применяется в основном для поддержки автоматической обработки отчетов, в которых не используются учетные данные для соединения с источниками данных. При создании отчетов на основе источников данных, которые не используют учетные данные для доступа к данным либо не нуждаются в них, необходимо настроить эту учетную запись на использование сервером отчетов.
Эта учетная запись необходима в некоторых случаях и может быть создана только с помощью средства настройки служб Reporting Services или программы rsconfig. Это значение также сохраняется в файле rsreportserver.config. Эту учетную запись необходимо создать вручную. Дополнительные сведения об этой учетной записи и ее использовании см. в статье Настройка учетной записи автоматического выполнения (диспетчер конфигурации сервера отчетов).
Для шифрования используется симметричный ключ.
Это значение создается во время установки или конфигурации сервера и сохраняется как зашифрованное значение в базе данных сервера отчетов. Служба сервера отчетов Windows использует этот ключ при шифровании и расшифровки данных, хранимых в базе данных сервера отчетов.
Возможности шифрования в службах Reporting Services
Службы Reporting Services используют криптографические функции, которые являются частью операционной системы Windows. Используется как симметричное, так и асимметричное шифрование.
Данные в базе данных сервера отчетов шифруются с помощью симметричного ключа. Для каждой базы данных сервера отчетов существует отдельный симметричный ключ. Сам этот ключ шифруется с помощью открытого ключа из пары асимметричных ключей, формируемых ОС Windows. Закрытым ключом владеет учетная запись службы Windows сервера отчетов.
При масштабном развертывании сервера отчетов, когда несколько экземпляров сервера отчетов используют одну и ту же базу данных, используется единый симметричный ключ для всех узлов сервера отчетов. На каждом узле должна содержаться копия общего симметричного ключа. Копия симметричного ключа создается для каждого узла автоматически при настройке масштабного развертывания. Каждый узел шифрует свою копию симметричного ключа с помощью открытого ключа из пары ключей, связанных с учетной записью службы Windows. Дополнительные сведения о создании симметричного ключа как для одного экземпляра, так и для развертывания с горизонтальным увеличением масштаба, см. в разделе Инициализация сервера отчетов (диспетчер конфигурации сервера отчетов).
Кроме того, начиная с версии SQL Server 2019, базу данных сервера отчетов можно настроить с использованием прозрачного шифрования данных, чтобы обеспечить дополнительную защиту для неактивных данных.
Примечание.
При изменении учетной записи службы Windows сервера отчетов асимметричные ключи могут стать недействительными, что нарушит работу сервера. Во избежание этой проблемы следует всегда изменять настройки учетной записи службы с помощью программы настройки служб Reporting Services. При использовании программы настройки ключи обновляются автоматически. Дополнительные сведения см. в статье Настройка учетной записи службы сервера отчетов (диспетчер конфигурации сервера отчетов).
Другие источники конфиденциальных данных
Сервер отчетов сохраняет и другие незашифрованные данные, среди которых могут находиться важные данные, которые желательно защищать от несанкционированного доступа. Среди этих данных — моментальные снимки журналов отчетов и снимки состояния выполнения отчетов, содержащие результаты запросов, в которых могут находиться данные, предназначенные исключительно для авторизованных пользователей. Если используются возможности создания моментальных снимков для отчетов, содержащих конфиденциальные данные, следует учесть, что пользователи, способные открывать таблицы в базе данных сервера отчетов, могут получить доступ к части хранимого отчета, изучая содержимое таблицы.
Примечание.
Службы Reporting Services не поддерживают кэширование или журнал отчетов для отчетов, использующих параметры на основе идентификации безопасности пользователя.