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


Ключи шифрования служб SSRS — инициализация сервера отчетов

В службах Reporting Services инициализированный сервер — это сервер, который может шифровать и расшифровывать данные в базе данных сервера отчетов. Инициализация является необходимым условием функционирования сервера отчетов. Инициализация происходит, когда служба сервера отчетов запускается впервые. Она также происходит, когда сервер отчетов соединяется с уже развернутой системой или когда вручную повторно создаются ключи как часть процесса восстановления. Дополнительные сведения о том, как и почему следует использовать ключи шифрования, см. в статьях Настройка ключей шифрования и управление ими (диспетчер конфигурации сервера отчетов) и Ключи шифрования служб SSRS — хранение зашифрованных данных сервера отчетов.

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

Если инициализация по какой-либо причине прошла неудачно, сервер отчетов возвращает ошибку RSReportServerNotActivated в ответ на запросы пользователя и службы. В такой ситуации, вероятно, потребуется произвести диагностику и устранение неисправностей в системе или конфигурации сервера. Дополнительные сведения см. в разделе "Устранение неполадок с отчетами служб Reporting Services".

Общие сведения о процессе инициализации

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

Ниже описаны этапы инициализации.

  1. При первоначальном запуске служба сервера отчетов считывает файл конфигурации RSReportServer.config, чтобы получить идентификатор установки и сведения для подключения к базе данных.

  2. Служба сервера отчетов запрашивает открытый ключ у служб криптографии. Windows создает секретный и открытый ключ и отсылает открытый ключ службе сервера отчетов.

  3. Служба сервера отчетов соединяется с базой данных сервера отчетов и сохраняет значения идентификатора установки и открытого ключа.

  4. Служба сервера отчетов снова вызывает службы криптографии, на этот раз запрашивая симметричный ключ. Windows создает симметричный ключ.

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

Инициализация сервера отчетов для масштабного развертывания

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

Первая группа этапов инициализации сервера отчетов для масштабного развертывания идентична первым трем этапам инициализации сочетания одиночного сервера и базы данных.

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

Как инициализировать сервер отчетов

Примечание.

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

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

Примечание.

Для инициализации сервера отчетов можно также использовать поставщик инструментария управления Windows (WMI) служб Reporting Services. Дополнительные сведения см. в разделе Доступ к поставщику WMI для служб Reporting Services.

Как подтвердить инициализацию сервера отчетов

Для подтверждения инициализации сервера отчетов обратитесь к веб-службе сервера отчетов, введя в командной строке https://<имя_сервера>/reportserver. Если получена ошибка RSReportServerNotActivated , инициализация прошла неудачно.