ネイティブ モードのレポート サーバーでの TLS 接続の構成
適用対象: SQL Server 2016 (13.x) Reporting Services 以降
Power BI Report Server
Reporting Services ネイティブ モードでは、HTTP TLS (トランスポート層セキュリティ) サービスを使用して、レポート サーバーへの暗号化された接続を確立します。 TLS は以前は Secure Sockets Layer (SSL) と呼ばれていました。 証明書 (.cer) ファイルをレポート サーバー コンピューターのローカル証明書にインストールした場合、暗号化されたチャネルでレポート サーバーの接続をサポートするために、この証明書を Reporting Services の URL 予約にバインドすることができます。
ヒント
Reporting Services SharePoint モードの詳細については、SharePoint のドキュメントを参照してください。 たとえば、SharePoint 2010 Web アプリケーションで TLS を有効にする方法に関するページを参照してください。
インターネット インフォメーション サービス (IIS) でも HTTP SSL が使用されるため、IIS と Reporting Services を同じコンピューター上で実行する場合は、相互運用性に関する重要な問題について考慮する必要があります。 これらの問題の対処方法については、「IIS との相互運用性の問題」を確認してください。
サーバー証明書の要件
コンピューター上にサーバー証明書がインストールされている必要があります (クライアント証明書はサポートされていません)。 Reporting Services には、証明書を要求、生成、ダウンロード、またはインストールするための機能は用意されていません。 Windows Server 2012 以降には証明書スナップインが用意されています。これを使用して、信頼されている証明機関から証明書を要求することができます。
テスト目的の場合は、ローカルで証明書を生成できます。 MakeCert ユーティリティとサンプル コマンドをテンプレートとして使用する場合は、ホストとしてサーバー名を指定し、コマンドの実行前にすべての改行を削除してください。 コマンドを DOS ウィンドウで実行する場合、コマンド全体を含めるためにウィンドウのバッファー サイズを増やす必要があることがあります。
同じコンピューター上で IIS と Reporting Services を一緒に実行している場合は、IIS マネージャー コンソール アプリケーションを使用して、証明書をコンピューター上にインストールできます。 IIS マネージャーには、信頼されている証明機関が行う後続の処理のために、証明書要求 (.crt) ファイルを作成およびパッケージ化するオプションが用意されています。 利用している証明機関によって、証明書 (.cer) ファイルが生成されて送り返されます。 IIS 管理コンソールを使用して、その証明書ファイルをローカル ストアにインストールできます。 詳細については、「SSL を使用して機密データを暗号化する」を参照してください。
IIS との相互運用性の問題
Reporting Services と同じコンピューターに IIS が存在する場合、レポート サーバーへの TLS 接続に大きく影響します。
IIS がインストールされている場合、必ず World Wide Web サービス (W3SVC) が実行されている必要があります。 HTTP SSL サービスは、IIS が実行中であることを検出すると、IIS に対する依存関係を作成します。 この依存関係とは、IIS と Reporting Services が同じコンピューター上にインストールされている場合にレポート サーバー URL を TLS 接続用に構成する際は、必ず World Wide Web サービス (W3SVC) が実行されている必要があることを意味します。
IIS をアンインストールすると、TLS がバインドされたレポート サーバー URL に対するサービスが一時的に中断されることがあります。 そのため、IIS をアンインストールした後はコンピューターを再起動する必要があります。
すべての TLS セッションをキャッシュからクリアするには、コンピューターを再起動する必要があります。 一部のオペレーティング システムでは、TLS セッションが最大 10 時間キャッシュされ、HTTP.SYS で URL 予約から TLS バインドが削除された後も https:// URL が引き続き機能する原因になります。 コンピューターを再起動すると、チャネルを使用するすべての開いている接続が閉じます。
Reporting Services の URL 予約への TLS のバインド
次の手順には、証明書の要求、生成、ダウンロード、またはインストールの手順は含まれません。 証明書がインストールされ、使用できるようになっている必要があります。 指定する証明書のプロパティ、証明書を取得する証明機関、および証明書の要求とインストールに使用するツールやユーティリティは、任意に決めることができます。
証明書は Reporting Services 構成ツールを使用してバインドできます。 証明書がローカル コンピューターのストアに正しくインストールされていれば、Reporting Services 構成ツールによって検出され、[Web サービス URL] ページと [Web ポータル URL] ページの [SSL 証明書] のリストに表示されます。
レポート サーバー URL を TLS 用に構成する
Reporting Services 構成ツールを起動して、レポート サーバーに接続します。
[Web サービス URL] を選択します。
TLS/SSL 証明書のリストを展開します。 Reporting Services によって、ローカル ストアにあるサーバー認証証明書が検出されます。 インストールした証明書がリストに表示されない場合は、サービスの再起動が必要になることがあります。 Reporting Services 構成ツールの [レポート サーバーの状態] ページにある [停止] ボタンと [開始] ボタンを使用して、サービスを再起動できます (トップ ページ)。
証明書を選択します。
適用を選択します。
URL を選択して機能することを確認します。
URL をテストするには、レポート サーバー データベースが構成されている必要があります。 レポート サーバー データベースをまだ作成していない場合は、URL のテスト前に作成してください。
URL 予約は、Web ポータル URL とレポート サーバー Web サービス URL で別々に構成されます。 Web ポータルへのアクセスを TLS で暗号化されたチャネルで構成する場合も、引き続き次の手順を実行します。
[Web ポータル URL] にアクセスします。
[Advanced] \(詳細設定) を選択します。
[現在の Reporting Services 機能の複数の HTTPS ID] で、 [追加] を選択します。
証明書を選び、 [OK] を選択してから、 [適用] を選択します。
URL をテストして機能することを確認します。
証明書のバインドの保存方法
証明書のバインドは HTTP.SYS に保存されます。 定義したバインドの記述は、RSReportServer.config ファイルの URLReservations セクションに保存されます。 構成ファイル内の設定は、他の場所で指定された実際の値を記述しただけのものです。 値を構成ファイル内で直接変更することは避けてください。 構成設定は、Reporting Services 構成ツール、またはレポート サーバーの Windows Management Instrumentation (WMI) プロバイダーを使用して証明書をバインドするまで、ファイルには表示されません。
注
Reporting Services で TLS/SSL 証明書とのバインドを構成し、後でコンピューターから証明書を削除する場合は、コンピューターから証明書を削除する前に必ず Reporting Services からバインドを削除してください。 このようにしないと、Reporting Services 構成ツールまたは WMI を使用してバインドを削除できなくなり、"無効なパラメーター" エラーが発生します。 コンピューターから証明書を既に削除している場合は、Httpcfg.exe ツールを使用して HTTP.SYS からバインドを削除できます。 Httpcfg.exe の詳細については、Windows の製品マニュアルを参照してください。
TLS バインドは Microsoft Windows の共有リソースです。 Reporting Services Configuration Manager や、IIS マネージャーなどのその他のツールを使用して行われた変更は、同じコンピューター上の他のアプリケーションに影響する場合があります。 おすすめは、バインドを編集するには、バインドを作成するときに使用したものと同じツールを使用することです。 たとえば、Configuration Manager を使用して TLS バインドを作成した場合は、Configuration Manager を使用してバインドのライフ サイクルを管理するといいでしょう。 IIS マネージャーを使用してバインドを作成した場合は、IIS マネージャーを使用してバインドのライフ サイクルを管理してください。 コンピューターに IIS をインストールしてから Reporting Services をインストールする場合は、IIS で TLS 構成を確認してから Reporting Services を構成することをおすすめします。
レポート サーバー構成マネージャーを使用して Reporting Services に対する TLS バインドを削除すると、インターネット インフォメーション サービス (IIS) が実行されているサーバーまたは別の HTTP.SYS サーバー上の Web サイトに対して、TLS が機能しなくなる場合があります。 Reporting Services Configuration Manager によって、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443 というレジストリ キーが削除されます。このレジストリ キーが削除されると、IIS の TLS バインドも削除されます。 このバインドがない場合、HTTPS プロトコルに TLS が提供されません。 この問題を診断するには、IIS マネージャーまたは HTTPCFG.exe コマンド ライン ユーティリティを使用します。 問題を解決するには、IIS マネージャーを使用して、Web サイトの TLS バインドを復元します。 今後この問題を防ぐためには、IIS マネージャーを使って TLS バインドを削除してから、IIS マネージャーを使って目的の Web サイトのバインドを復元します。 詳細については、サポート技術情報の記事「Reporting Services 構成管理ツールを使用して SQL Server 2008 Reporting Services から SSL バインドを削除した後、SSL が機能しなくなる」を参照してください。