Удаление и повторное создание ключей шифрования
Удаление и повторное создание ключей шифрования — действия, которые выходят за пределы обычного обслуживания ключа шифрования. Эти задачи выполняются в ответ на определенную угрозу серверу отчетов или как последнее средство спасения, когда больше нельзя получить доступ к базе данных сервера отчетов.
Создайте повторно симметричный ключ, если есть основания полагать, что существующий симметричный ключ скомпрометирован. Также можно регулярно создавать повторно ключ для наибольшей эффективности системы безопасности.
Удалите существующие ключи шифрования и непригодное для использования зашифрованное содержимое, если нельзя восстановить симметричный ключ.
Повторное создание ключей шифрования
Если очевидно, что симметричный ключ известен неправомочным пользователям, или если сервер отчетов подвергся атаке и в качестве меры предосторожности необходимо сбросить симметричный ключ, можно создать повторно симметричный ключ. При создании повторно симметричного ключа все зашифрованные значения будут повторно зашифрованы с помощью нового значения. Если работает несколько серверов отчетов в масштабном развертывании, то все копии симметричного ключа будут обновлены новым значением. Сервер отчетов использует доступные для него открытые ключи, чтобы обновить симметричный ключ для каждого сервера в развертывании.
Когда сервер отчетов находится в рабочем состоянии, можно только создать повторно симметричный ключ. Повторное создание ключей шифрования и повторное шифрование содержимого нарушают работу сервера. На время повторного шифрования необходимо обеспечить режим «вне сети» работы сервера. Во время повторного шифрования какие-либо запросы к серверу отчетов не должны выполняться.
Можно использовать средство настройки служб Reporting Services или программу rskeymgmt, чтобы сбросить симметричный ключ и зашифрованные данные. Дополнительные сведения о создании симметричных ключей см. в разделе Инициализация сервера отчетов.
Как создать повторно ключи шифрования (программа настройки служб Reporting Services)
Отключите веб-службу сервера отчетов и доступ по протоколу HTTP, изменив свойство IsWebServiceEnabled в файле конфигурации rsreportserver.config. Выполнение этого шага приводит к временному прекращению передачи запросов проверки подлинности на сервер отчетов без полного останова сервера. Минимальный набор служб необходим для того, чтобы иметь возможность повторного создания ключей.
Если повторно создаются ключи шифрования для сервера отчетов с масштабным развертыванием, нужно отключить это свойство на всех экземплярах в развертывании.
Откройте проводник Windows и перейдите в папку «drive:\Program Files\Microsoft SQL Server\report_server_instance\Reporting Services». Замените drive своей буквой диска, а report_server_instance — именем папки, соответствующей экземпляру сервера отчетов, для которого нужно отключить веб-службу и доступ по протоколу HTTP. Например, «C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services».
Откройте файл rsreportserver.config.
Для свойства IsWebServiceEnabled укажите ключевое слово False и сохраните изменения.
Запустите программу настройки служб Reporting Services и подключитесь к экземпляру сервера отчетов, который нужно настроить.
На странице «Ключи шифрования» нажмите кнопку Изменить. Нажмите кнопку ОК.
Перезапустите службу Windows «Сервер отчетов». Если повторно создаются ключи шифрования для масштабного развертывания, нужно перезапустить службу на всех экземплярах.
Повторно включите веб-службу сервера отчетов и доступ по протоколу HTTP, изменив свойство IsWebServiceEnabled в файле конфигурации rsreportserver.config. Сделайте это для всех экземпляров при работе с масштабным развертыванием.
Как создать повторно ключи шифрования (rskeymgmt)
Отключите веб-службу сервера отчетов и доступ по протоколу HTTP. Используйте инструкции из предыдущей процедуры, чтобы остановить операции веб-службы.
На компьютере, на котором выполняется сервер отчетов, запустите программу rskeymgmt.exe. Используйте аргумент -s, чтобы сбросить симметричный ключ. Никакие другие аргументы не требуются:
rskeymgmt -s
Перезапустите службу Windows и включите операции веб-службы.
Удаление непригодного для использования зашифрованного содержимого
Если по каким-то причинам нельзя восстановить ключ шифрования, сервер отчетов никогда не будет в состоянии расшифровать и использовать любые данные, зашифрованные этим ключом. Чтобы вернуть сервер отчетов к рабочему состоянию, необходимо удалить зашифрованные значения, которые в настоящее время сохранены в базе данных сервера отчетов, и затем вручную повторно определить необходимые значения.
Удаление ключей шифрования удаляет все сведения о симметричном ключе из базы данных сервера отчетов и удаляет любое зашифрованное содержимое. Все незашифрованные данные остаются целыми, будет удалено только зашифрованное содержимое. При удалении ключей шифрования сервер отчетов автоматически повторно инициализирует себя, добавляя новый симметричный ключ. При удалении зашифрованного содержимого происходит следующее:
Строки соединения в общих источниках данных будут удалены. Пользователи, выполняющие отчеты, получат сообщение об ошибке «Свойство ConnectionString не инициализировано».
Хранимые учетные данные будут удалены. Отчеты и общие источники данных будут перенастроены на использование запрашиваемых учетных данных.
Отчеты, основанные на моделях (которым необходимы общие источники данных, настроенные на работу с хранимыми учетными данными или без них), не будут выполняться.
Подписки будут деактивированы.
Если зашифрованное содержимое было удалено, его нельзя восстановить. Необходимо повторно определить строки соединений и хранимые учетные данные и активизировать подписки.
Можно использовать средство настройки служб Reporting Services или программу rskeymgmt для удаления значений.
Как удалить ключи шифрования (программа настройки служб Reporting Services)
Запустите программу настройки служб Reporting Services и подключитесь к экземпляру сервера отчетов, который нужно настроить.
Щелкните Ключи шифрования, затем щелкните Удалить. Нажмите кнопку ОК.
Перезапустите службу Windows «Сервер отчетов». Для масштабного развертывания это необходимо сделать на всех экземплярах сервера отчетов.
Как удалить ключи шифрования (rskeymmgt)
На компьютере, на котором выполняется сервер отчетов, запустите программу rskeymgmt.exe. Необходимо использовать аргумент -d. В следующем примере приводится аргумент, который необходимо указать:
rskeymgmt -d
Перезапустите службу Windows «Сервер отчетов». Для масштабного развертывания это необходимо сделать на всех экземплярах сервера отчетов.
Как повторно определить зашифрованные значения
Для каждого общего источника данных необходимо повторно ввести строку соединения.
Для каждого отчета и общего источника данных, который использует сохраненные учетные данные, необходимо заново ввести имя пользователя и пароль, затем сохранить. Дополнительные сведения см. в разделе Задание учетных данных и сведениях о соединении для источников данных отчета электронной документации по SQL Server.
Откройте каждую управляемую данными подписку и заново введите учетные данные для базы данных подписки.
Для подписок, которые используют зашифрованные данные (это включает модуль доставки в общую папку и любые сторонние модули доставки, использующие шифрование), откройте каждую подписку и повторно введите учетные данные. Подписки, которые используют доставку по электронной почте сервера отчетов, не используют зашифрованные данные и не затрагиваются изменением ключа.