次の方法で共有


レポート サーバーで基本認証を構成する

既定では、Reporting Services はネゴシエート認証と NTLM 認証を指定する要求を受け入れます。 展開に基本認証を使用するクライアント アプリケーションまたはブラウザーが含まれている場合は、サポートされている種類の一覧に基本認証を追加する必要があります。 さらに、レポート ビルダーを使用する場合は、レポート ビルダー ファイルへの匿名アクセスを有効にする必要があります。

レポート サーバーで基本認証を構成するには、RSReportServer.config ファイル内の XML 要素と値を編集します。 このトピックの例をコピーして貼り付けて、既定値を置き換えることができます。

基本認証を有効にする前に、セキュリティ インフラストラクチャでサポートされていることを確認します。 基本認証では、レポート サーバー Web サービスは資格情報をローカル セキュリティ機関に渡します。 資格情報でローカル ユーザー アカウントが指定されている場合、ユーザーはレポート サーバー コンピューターのローカル セキュリティ機関によって認証され、ユーザーはローカル リソースに対して有効なセキュリティ トークンを取得します。 ドメイン ユーザー アカウントの資格情報は、ドメイン コントローラーに転送され、ドメイン コントローラーによって認証されます。 結果のチケットは、ネットワーク リソースに対して有効です。

ネットワーク内のドメイン コントローラーへの転送中に資格情報が傍受されるリスクを軽減する場合は、Ssl (Secure Sockets Layer) などのチャネル暗号化が必要です。 基本認証では、ユーザー名がクリア テキストで送信され、パスワードが base-64 エンコードで送信されます。 チャネル暗号化を追加すると、パケットが読み取れなくなる。 詳細については、「 ネイティブ モードのレポート サーバーで SSL 接続を構成する」を参照してください。

基本認証を有効にした後は、レポートにデータを提供する外部データ ソースに接続プロパティを設定するときに、 ユーザーが Windows 統合セキュリティ オプションを選択できないことに注意してください。 このオプションは、データ ソースのプロパティ ページで淡色表示されます。

次の手順は、ネイティブ モードのレポート サーバーを対象としています。 レポート サーバーが SharePoint 統合モードで展開されている場合は、Windows 統合セキュリティを指定する既定の認証設定を使用する必要があります。 レポート サーバーは、SharePoint 統合モードでレポート サーバーをサポートするために、既定の Windows 認証拡張機能の内部機能を使用します。

基本認証を使用するようにレポート サーバーを構成するには

  1. テキスト エディターで RSReportServer.config を開きます。

    ファイルは<drive>:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer にあります。

  2. < Authentication >を見つけます。

  3. ニーズに最も適した次の XML 構造のいずれかをコピーします。 最初の XML 構造体には、すべての要素を指定するためのプレースホルダーが用意されています。次のセクションで説明します。

    <Authentication>  
          <AuthenticationTypes>  
                 <RSWindowsBasic>  
                       <LogonMethod>3</LogonMethod>  
                       <Realm></Realm>  
                       <DefaultDomain></DefaultDomain>  
                 </RSWindowsBasic>  
          </AuthenticationTypes>  
          <EnableAuthPersistence>true</EnableAuthPersistence>  
    </Authentication>  
    

    既定値を使用している場合は、最小要素構造をコピーできます。

          <AuthenticationTypes>  
                 <RSWindowsBasic/>  
          </AuthenticationTypes>  
    
  4. < Authentication >の既存のエントリに貼り付けます。

    複数の認証の種類を使用している場合は、 RSWindowsBasic 要素のみを追加しますが、 RSWindowsNegotiateRSWindowsNTLM、または RSWindowsKerberosのエントリは削除しないでください。

    Safari ブラウザーをサポートするために、複数の認証の種類を使用するようにレポート サーバーを構成することはできません。 RSWindowsBasicのみを指定し、他のエントリを削除する必要があります。

    他の認証の種類では Custom を使用できないことに注意してください。

  5. < Realm >または<DefaultDomain>の空の値を、環境に対して有効な値に置き換えます。

  6. ファイルを保存します。

  7. スケールアウト配置を構成した場合は、展開内の他のレポート サーバーに対してこれらの手順を繰り返します。

  8. レポート サーバーを再起動して、現在開いているセッションを消去します。

RSWindowsBasic リファレンス

基本認証を構成するときに、次の要素を指定できます。

要素 必須 有効な値
ログオン方法 イエス

値を指定しない場合は、3 が使用されます。
2 = ネットワーク ログオン。プレーン テキスト パスワードを認証するための高パフォーマンス サーバーを対象としています。

3 = クリア テキスト ログオン。各 HTTP 要求で送信される認証パッケージ内のログオン資格情報を保持し、ネットワーク内の他のサーバーに接続するときにサーバーがユーザーを偽装できるようにします。 (既定値)

注: SQL Server 2014 Reporting Services (SSRS) では、値 0 (対話型ログオンの場合) と 1 (バッチ ログオンの場合) はサポートされていません。
国土 オプション 組織内の保護されたリソースへのアクセスを制御するために使用される承認機能と認証機能を含むリソース パーティションを指定します。
デフォルトドメイン オプション サーバーがユーザーの認証に使用するドメインを指定します。 この値は省略可能ですが、省略すると、レポート サーバーはコンピューター名をドメインとして使用します。 コンピューターがドメインのメンバーである場合、そのドメインは既定のドメインです。 レポート サーバーをドメイン コントローラーにインストールした場合、そのコンピューターによって制御されるドメインを指定します。

レポート ビルダー アプリケーション ファイルへの匿名アクセスの有効化

レポート ビルダーでは、ClickOnce テクノロジを使用して、クライアント コンピューターにアプリケーション ファイルをダウンロードしてインストールします。 クライアント コンピューターで起動すると、ClickOnce アプリケーション起動ツールによって、レポート サーバー コンピューター上の追加のアプリケーション ファイルが要求されます。 レポート サーバーが基本認証用に構成されている場合、ClickOnce アプリケーション起動ツールは基本認証をサポートしていないため、認証チェックに失敗します。

この問題を回避するには、レポート ビルダー プログラム ファイルへの匿名アクセスを構成します。 これにより、ClickOnce はファイルを取得するときに認証チェックをバイパスできます。 次の操作を行って、匿名アクセスを有効にします。

  • レポート サーバーが基本認証用に構成されていることを確認します。

  • ReportBuilder の下に bin フォルダーを作成し、そのフォルダーに 4 つのアセンブリをコピーします。

  • IsReportBuilderAnonymousAccessEnabled要素を RSReportServer.config に追加し、Trueに設定します。 ファイルを保存すると、レポート サーバーによってレポート ビルダーへの新しいエンドポイントが作成されます。 エンドポイントは内部的にプログラム ファイルにアクセスするために使用され、コードで使用できるプログラム インターフェイスがありません。 別のエンドポイントを使用すると、レポート ビルダーは、レポート サーバー サービスのプロセス境界内の独自のアプリケーション ドメインで実行できます。

  • 必要に応じて、レポート サーバーとは異なるセキュリティ コンテキストで要求を処理する最小特権アカウントを指定できます。 このアカウントは、レポート サーバー上のレポート ビルダー ファイルにアクセスするための匿名アカウントになります。 アカウントは、ASP.NET ワーカー プロセスのスレッドの ID を設定します。 そのスレッドで実行される要求は、認証チェックなしでレポート サーバーに渡されます。 このアカウントは、インターネット インフォメーション サービス (IIS) の IUSR_<machine> アカウントと同じです。これは、匿名アクセスと偽装が有効な場合に ASP.NET ワーカー プロセスのセキュリティ コンテキストを設定するために使用されます。 アカウントを指定するには、レポート ビルダーの Web.config ファイルに追加します。

レポート ビルダー プログラム ファイルへの匿名アクセスを有効にする場合は、基本認証用にレポート サーバーを構成する必要があります。 レポート サーバーが基本認証用に構成されていない場合は、匿名アクセスを有効にしようとしたときにエラーが発生します。

認証の問題とレポート ビルダーの詳細については、「レポート ビルダー アクセスの構成」を参照してください。

基本認証用に構成されたレポート サーバーでレポート ビルダー アクセスを構成するには

  1. RSReportServer.config ファイルの認証設定を確認して、レポート サーバーが基本認証用に構成されていることを確認します。

  2. ReportBuilder フォルダーの下に BIN フォルダーを作成します。 既定では、このフォルダーは \Program Files\Microsoft SQL Server\MSRS12 にあります。MSSQLSERVER\Reporting Services\ReportServer\ReportBuilder。

  3. ReportServer\Bin フォルダーから ReportBuilder\BIN フォルダーに次のアセンブリをコピーします。

    Microsoft.ReportingServices.Diagnostics.dll

    Microsoft.ReportingServices.Interfaces.dll

    ReportingServicesAppDomainManager.dll

    RSHttpRuntime.dll

  4. 必要に応じて、匿名アカウントでレポート ビルダー要求を処理する Web.config ファイルを作成します。

    <?xml version="1.0" encoding="utf-8" ?>  
    <configuration>  
    <system.web>  
    <authentication mode="Windows" />    
    <identity impersonate="true " userName="username" password="password"/>  
    </system.web>  
    </configuration>  
    

    Web.config ファイルを含める場合は、認証モードを Windows に設定する必要があります。

    Identity impersonate には、True または False を指定できます。

    • セキュリティ トークンを読み取 ASP.NET しない場合は、 False に設定します。 要求は、レポート サーバー サービスのセキュリティ コンテキストで実行されます。

    • ASP.NET がホスト 層からセキュリティ トークンを読み取る場合は、 True に設定します。 Trueに設定する場合は、匿名アカウントを指定するuserNamepasswordも指定する必要があります。 指定した資格情報によって、要求が発行されるセキュリティ コンテキストが決まります。

  5. Web.config ファイルを ReportBuilder\bin フォルダーに保存します。

  6. RSReportServer.config ファイルを開き、[サービス] セクションで IsReportManagerEnabled を見つけて、その下に次の設定を追加します。

    <IsReportBuilderAnonymousAccessEnabled>True</IsReportBuilderAnonymousAccessEnabled>  
    
  7. RSReportServer.config 保存し、ファイルを閉じます。

  8. レポート サーバーを再起動します。

こちらもご覧ください

レポート サーバー アプリケーションのアプリケーション ドメイン
Reporting Services のセキュリティと保護