Назад | Перейти на главную страницу

Почему службам Reporting Services не удается импортировать существующий ключ шифрования во время изменения учетной записи службы?

Я уже несколько раз менял учетную запись службы SQL Server 2005 Reporting Services, но вчера я впервые столкнулся с ужасной ошибкой «Сервер отчетов не может расшифровать симметричный ключ, используемый для доступа ...».

Среда - это выпуск SQL Server 2005 Enterprise, установленный как именованный экземпляр в ящике, который также имеет выпуск SQL Server 2000 Standard по умолчанию. Все 32-битное.

Так как BOL рекомендует Я всегда использую диспетчер конфигурации служб Reporting Services, чтобы внести изменения, и мне никогда не приходилось восстанавливать ключ шифрования.

Однако в этот самый последний раз (он должен быть в производстве, не так ли?) При изменении учетной записи службы не удалось импортировать существующий ключ шифрования; из файла журнала ReportServerService:

ReportingServicesService! Crypto! B! 5/19 / 2009-17: 20: 37 :: i ИНФОРМАЦИЯ: Инициализация криптографии как пользователя: \ ReportingServicesService! Crypto! B! 19.05.2009-17: 20: 37 :: i INFO: Экспорт открытого ключа ReportingServicesService! Crypto! B! 5/19 / 2009-17: 20: 37 :: i ИНФОРМАЦИЯ: Выполнение проверки идентификатора ReportingServicesService! Crypto! B! 19.05.2009-17: 20: 37 :: i INFO: Импорт существующего ключа шифрования ReportingServicesService! Library! B! 19 5 / 2009-17: 20: 37 :: e ОШИБКА: выброс исключения Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: сервер отчетов не может расшифровать симметричный ключ, используемый для доступа к конфиденциальным или конфиденциальным данным. зашифрованные данные в базе данных сервера отчетов. Вы должны либо восстановить резервный ключ, либо удалить все зашифрованное содержимое. Дополнительную информацию см. В документации.,; Информация: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerDisabledException: сервер отчетов не может расшифровать симметричный ключ, используемый для доступа к конфиденциальным или зашифрованным данным в базе данных сервера отчетов. Вы должны либо восстановить резервный ключ, либо удалить все зашифрованное содержимое. Дополнительную информацию см. В документации. ---> System.Runtime.InteropServices.COMException (0x80090005): неверные данные. (Исключение из HRESULT: 0x80090005) в System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal (Int32 errorCode, IntPtr errorInfo)

в RSManagedCrypto.RSCrypto.ImportSymmetricKey (Byte [] symKeyBlob) в Microsoft.ReportingServices.Library.ConnectionManager.GetEncryptionKey () --- Конец внутренней трассировки стека исключений ---

Теперь я хороший администратор баз данных, и у меня была резервная копия предыдущего ключа шифрования, так что я смог быстро восстановиться после проблемы, но вот что я хочу знать, почему это произошло? Эта статья от MS предполагает, что это может случиться, но мне не нравится предположение, что это случайность. Я прочитал и теперь, к сожалению, не могу найти ссылку, предположение, что это происходит регулярно, когда вы меняете учетную запись службы для служб Reporting Services другими средствами, кроме RS Configuration Manager, такими как диспетчер конфигурации SQL Server или службы Windows.

Итак, у меня 2 вопроса:

  1. Почему это могло произойти, если я использовал RS Configuration Manager, как рекомендовано? (Но это сработало, - восклицает он!)
  2. Должен ли я быть обеспокоен тем, что мой текущий ключ шифрования основан не на учетной записи компьютера / текущей службы, как обычно, а на предыдущей учетной записи службы?
  1. Когда вы используете другую учетную запись службы, ключ должен выйти из строя

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

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