web-dev-qa-db-ja.com

レポートサーバーは、レポートサーバーデータベース内の機密データまたは暗号化されたデータへのアクセスに使用される対称キーを復号化できませんSSRSエラー

SSRSレポートをSQL2008 R2サーバーに展開しようとすると、「レポートサーバーはレポートサーバーデータベース内の機密データまたは暗号化されたデータへのアクセスに使用される対称キーを復号化できません...」というエラーが発生します。 Web上のほとんどのソリューションは、暗号化キーを削除してから、データソースを再構成することを提案しています。私はまだSSRSの初心者です、この問題を修正する別の解決策はありますか、ありがとう

8
Hassan Mokdad

このリンクを確認した後 Microsoftサポートリンク 、これはSSRSレポートの既知の問題のようです。そして、それを修正する唯一の方法は、暗号化キーを削除することだと思われます。

  1. Reporting Services構成ツールを開きます([プログラム]-> [Microsoft SQL Server 2008R2-]-> [構成ツール]-> [Reporting Services構成マネージャー])
  2. 暗号化キーに移動します
  3. [削除]をクリックします。

これは私の問題を解決しました

15
Hassan Mokdad

SQL Server Reporting Servicesアカウントをservices.mscから変更した後、Microsoft Dynamics CRM 2016 Reporting ExtensionsSetupでこれに遭遇しました。これは、Microsoft Dynamics CRM2016レポート拡張機能のセットアップにローカル以外のサービスアカウントが必要なためです。 https://technet.Microsoft.com/en-us/library/hh699754.aspx Haasanの質問に見られる根本的な原因である可能性が高いここでの主なトリガーは、SQL Server ReportingServicesの変更でした。暗号化キーをバックアップせずにサービスアカウント。彼が暗号化キーを削除して行ったことは機能しましたが、その暗号化情報が失われるという欠点があります。可能であれば、以下の手順を使用して元のサービスアカウントのユーザーに戻し、以下に記載されている手順を使用してサービスアカウントを変更する必要があります。参考記事。

Microsoft Dynamics CRM ReportingExtensionsが実行されているMicrosoftSQL Server Reporting Servicesのインスタンスを実行しているIDアカウントは、ローカルシステムまたは仮想アカウントにすることはできません。これは、Microsoft Dynamics CRMレポートが機能するために必要です。これは、Microsoft DynamicsCRMで使用されるPrivReportingGroupActiveDirectoryセキュリティグループにIDアカウントを追加する必要があるためです。

ここでの長い話は、SQL Server Reporting Servicesアカウントを変更するときは、SQL Server Services Reporting Managerから変更する必要があるということです。 SQL Server Reporting Servicesが使用する対称暗号化キーをバックアップし、新しいサービスアカウントユーザーで復元します。

レポートサーバーサービスは、対称キーを使用して、レポートサーバーデータベース内の暗号化されたデータにアクセスします。この対称鍵は、コンピューターと、レポートサーバーサービスの実行に使用されるユーザーアカウントに対応する非対称公開鍵を使用して暗号化されます。レポートサーバーサービスの実行に使用されるユーザーアカウントを変更すると、レポートサーバーは非対称公開キーを使用して対称キーを復号化できなくなります。したがって、レポートサーバーサービスは、対称キーを使用してレポートサーバーデータベースのデータにアクセスすることはできません。

これにより、SQL Server Reporting Services Reporting Managerからサービスアカウントを変更すると、次のようになります。

ローカルコンピューターで作成されたレポートサーバーグループに新しいアカウントを自動的に追加します。このグループは、Reporting Servicesファイルを保護するアクセス制御リスト(ACL)で指定されます。レポートサーバーデータベースのホストに使用されるSQLServerデータベースエンジンインスタンスのログインアクセス許可を自動的に更新します。新しいアカウントがRSExecRoleに追加されます。古いアカウントのデータベースログインは自動的に削除されません。使用されなくなったアカウントは必ず削除してください。詳細については、SQL Server Books Onlineの「レポートサーバーデータベースの管理(SSRSネイティブモード)」を参照してください。新しいサービスアカウントへのデータベースアクセス許可の付与は、最初にサービスアカウントを使用するようにレポートサーバーデータベース接続を構成した場合にのみ発生します。ドメインユーザーアカウントまたはSQLServerデータベースログインを使用するようにレポートサーバーデータベース接続を構成した場合、接続情報はサービスアカウントの更新の影響を受けません。暗号化キーを自動的に更新して、新しいアカウントのプロファイル情報を含めます。

私のシナリオのように、前のサービスアカウントユーザーが何であったかを知っている場合、修正は、SQL Serverレポートサービスアカウントユーザーを元の指定されたアカウントに戻し、SQL Server ReportingServicesレポートマネージャーを使用してアカウントを作成し、暗号化キーを確実にバックアップします。このプロセスにより、新しいサービスアカウントユーザーが設定されたときに暗号化キーの復元が自動化されます。

参照: https://msdn.Microsoft.com/en-us/library/ms160340.aspx -レポートサーバーサービスアカウントを構成します(SSRS構成マネージャー)

https://support.Microsoft.com/en-us/kb/842421 -次のようなユーザーアカウントを変更した後、レポートサーバーサービスを再起動すると、ReportingServicesトレースログにエラーメッセージが表示されます。レポートサーバーサービスの実行に使用されます(これは古いKB記事ですが、一般的な問題と解決策は新しいバージョンのSQL Reporting Servicesにも適用されます)

1
Chad Rexin

キーを削除するオプションがない場合、これにより誰かが時間を節約できることを願っています。

ReportServerとReportServerTempDBを稼働中のサーバーからReportingServicesを実行している別の環境に移動した後、この問題が発生しました。暗号化キーを削除することはできませんでした。暗号化キーの作成に使用するパスワードを知っていたので、作業サーバーからキーのバックアップを取り、新しい環境でReporting Services ConfigurationManagerを使用して復元しました。ページを更新すると、エラーはなくなりました。

0
Tom