レポート データ ソースに関する資格情報と接続情報の指定

レポート サーバーは、資格情報を使用して、レポートにコンテンツを提供したり、データ ドリブン サブスクリプションに受信者の情報を提供する外部データ ソースに接続します。Windows 認証、データベース認証、認証なし、またはカスタム認証を使用する資格情報を指定できます。ネットワーク経由で接続要求を送信するときに、レポート サーバーはユーザー アカウントまたは自動実行アカウントのいずれかの権限を借用します。接続要求の実行時に使用されるセキュリティ コンテキストの詳細については、このトピックの「データ ソースの構成とネットワーク接続」を参照してください。

注意

資格情報は、レポート サーバーにアクセスするユーザーを認証するためにも使用されます。レポート サーバーへのユーザーの認証に関する情報については、別のトピックで説明します。詳細については、「サービス、アカウント、および接続の計画」を参照してください。

レポートを作成すると、外部データ ソースへの接続が定義されます。レポートをパブリッシュした後は、この接続を個別に管理できます。動的な一覧からデータ ソースを選択できるようになる静的な接続文字列または式を指定できます。データ ソースの種類と接続文字列を指定する方法の詳細については、「データ接続、データ ソース、および接続文字列 (SSRS)」を参照してください。

リモート データ ソースの使用

リモートのデータベース サーバーのデータをレポートに取得する場合、次の点を確認します。

  • データベース サーバーに提供される資格情報が有効かどうか。Windows ユーザー資格情報を使用している場合、ユーザーがサーバーとデータベースに対するアクセス許可を持っていることを確認してください。

  • データベース サーバーで使用するポートが開いている。外部コンピューター上の SQL Server リレーショナル データベースにアクセスする場合、またはレポート サーバー データベースが外部の SQL Server インスタンスに置かれている場合は、外部コンピューターのポート 1433 および 1434 を開く必要があります。ポートを開いた後、サーバーを必ず再起動してください。詳細については、「データベース エンジン アクセスを有効にするための Windows ファイアウォールの構成方法」を参照してください。

  • リモート接続を有効にする。外部コンピューター上の SQL Server リレーショナル データベースにアクセスする場合、SQL Server 構成マネージャーを使用して、TCP によるリモート接続が有効であることを確認できます。

リモート データ ソースへの接続に使用する資格情報の指定方法

レポートにコンテンツを提供するデータ ソースは、通常リモート サーバーにホストされます。レポートのデータを取得するには、ユーザーが事前に提供する一連の資格情報、または実行時に取得される一連の資格情報を使用して、レポート サーバーがリモート サーバーに接続する必要があります。データ ソースを構成するときには、次の方法で資格情報を指定できます。

  • ユーザーに資格情報を要求する。

  • 資格情報を保存する。

  • Windows 統合セキュリティを使用する。

  • 資格情報を使用しない。

ネットワーク環境によって、ユーザーがサポートできる接続の種類が決まります。たとえば、Kerberos Version 5 プロトコルが有効になっている場合、Windows 認証で利用できる委任機能と権限の借用機能を使用して、複数のサーバーにまたがって接続をサポートできます。このようなセキュリティ機能がネットワークでサポートされていない場合は、接続の制限を回避する必要があります。委任機能と権限の借用機能が有効でない場合、Windows 資格情報の有効期限が切れる前に、1 つのコンピューター接続で Windows 資格情報を渡すことができます。クライアント コンピューターからレポート サーバー コンピューターへのユーザー接続は、最初の接続としてカウントされます。リモート サーバーからデータを取得するレポートをユーザーが開いた場合、そのログインは 2 回目の接続としてカウントされます。接続で統合セキュリティを使用するように指定している場合、委任機能が無効になっていると、そのログインが失敗します。

クライアント コンピューターから外部レポート データ ソースへのラウンドトリップを遂行するために複数の接続が必要な場合は、次の方法の中から選択して接続を正常に行います。

  • ドメインの委任機能と権限の借用機能を有効にして、資格情報を無制限に他のコンピューターに委任できるようにします。

  • 保存されている資格情報または要求された資格情報を使用して、レポート データの外部データ ソースに対してクエリを実行します。資格情報には Windows ドメイン アカウントまたはデータベース ログインのいずれかを指定できます。

資格情報の要求

要求された資格情報を使用するようにレポートのデータ ソース接続を構成した場合、レポートにアクセスするユーザーがデータを取得するには、それぞれがユーザー名とパスワードを入力する必要があります。機密データを含むレポートには、この方法を使用することをお勧めします。要求時に実行されるレポートでのみ、要求された資格情報を使用できます。要求される資格情報は、Windows アカウントまたはデータベース ログインのいずれかです。Windows 認証を使用するには、[データ ソースへの接続時に Windows 資格情報として使用する] チェック ボックスをオンにする必要があります。それ以外の場合、ユーザー認証のためにレポート サーバーからデータベース サーバーに資格情報が渡されます。指定された資格情報をデータベース サーバーで認証できない場合、接続が失敗します。

Windows 統合セキュリティ

[Windows 統合セキュリティ] オプションがオンになっている場合、レポート サーバーから外部データ ソースをホストしているサーバーに、レポートにアクセスしているユーザーのセキュリティ トークンが渡されます。この場合、ユーザーはユーザー名やパスワードを入力することを要求されません。権限の借用機能と委任機能が有効な場合、この方法をお勧めします。これらの機能が無効な場合、アクセスするすべてのサーバーが同じコンピューターに配置されている場合にのみ、この方法を使用してください。

保存された資格情報

外部データ ソースへのアクセスに使用する資格情報を保存することができます。資格情報は、暗号化を元に戻せる状態でレポート サーバー データベースに保存されます。レポートで使用されるデータ ソースごとに、1 セットの保存された資格情報を指定できます。提供する資格情報によって、どのユーザーがレポートを実行しても同じデータが取得されます。

リモート データベース サーバーにアクセスするための戦略の一環として、保存された資格情報を使用することをお勧めします。サブスクリプションをサポートする場合、またはレポート履歴の生成やレポート スナップショットの更新をスケジュールする場合は、保存された資格情報が必要です。レポートをバックグラウンド処理として実行する場合は、レポート サーバーがレポートを実行するエージェントです。指定されたユーザー コンテキストがないため、レポート サーバーはデータ ソースに接続するためにレポート サーバー データベースから資格情報を取得する必要があります。

指定するユーザー名とパスワードは、Windows 認証またはデータベース ログインのいずれかです。Windows 資格情報を指定する場合、レポート サーバーによって、後続の認証用に Windows に資格情報が渡されます。それ以外の場合、認証用にデータベース サーバーに資格情報が渡されます。

ドメイン ユーザー アカウントに "ローカル ログオンを許可する" 権限を付与する方法

保存済みの資格情報を使用して外部データ ソースに接続する場合、Windows ドメイン ユーザー アカウントにローカル ログオン権限が必要です。レポート サーバーはこの権限を利用して、レポート サーバー上のユーザーの権限を借用し、その借用元ユーザーとして外部データ ソースに要求を送信します。

この権限を付与するには、次の手順に従います。

  1. レポート サーバー コンピューターで、[管理ツール][ローカル セキュリティ ポリシー] を開きます。

  2. [セキュリティの設定] の下の [ローカル ポリシー] を展開し、[ユーザー権利の割り当て] をクリックします。

  3. 詳細ペインで [ローカル ログオンを許可する] を右クリックし、[プロパティ] をクリックします。

  4. [ユーザーまたはグループの追加] をクリックします。

  5. [場所] をクリックし、検索するドメインまたは別の場所を指定し、[OK] をクリックします。

  6. 対話的なログインを許可する Windows アカウントを入力し、[OK] をクリックします。

  7. [ローカル ログオンを許可するのプロパティ] ダイアログ ボックスで、[OK] をクリックします。

  8. 選択したアカウントに、拒否する権限がないことを確認します。

    1. [ローカルでログオンを拒否する] を右クリックし、[プロパティ] を右クリックします。

    2. 該当するアカウントが表示されている場合は、そのアカウントを選択して [削除] をクリックします。

保存された資格情報での権限借用の使用

資格情報を使用して、別のユーザーの ID の権限を借用することもできます。SQL Server データベースの場合、権限借用のオプションを使用すると、SETUSER 関数が設定されます。

重要な注意事項重要

サブスクリプションをサポートするレポート、またはスケジュールを使用してレポート履歴を生成したりレポート実行スナップショットを更新するレポートには権限の借用を使用しないでください。

資格情報を使用しない

資格情報を使用しないようにデータ ソース接続を構成できます。常に資格情報を使用してデータ ソースにアクセスすることが推奨の方法です。資格情報を使用しない方法はお勧めしません。ただし、以下の場合、資格情報を使用しないでレポートを実行することができます。

  • リモート データ ソースで資格情報が必要とされない。

  • 資格情報が接続文字列で渡される (接続がセキュリティで保護されている場合にのみお勧めします)。

  • レポートが、親レポートの資格情報を使用するサブレポートである。

このような条件下では、レポート サーバーは、事前に定義する必要がある自動実行アカウントを使用して、リモート データ ソースに接続します。レポート サーバーはそのサービス資格情報を使用してリモート サーバーに接続しないため、レポート サーバーが接続のために使用できるアカウントを指定する必要があります。このアカウントの作成方法の詳細については、「自動実行アカウントの構成」を参照してください。

データ ソースの構成とネットワーク接続

次の表は、資格情報の種類とデータ処理拡張機能の特定の組み合わせにおける接続方法を示しています。カスタム データ処理拡張機能を使用している場合は、「カスタム データ処理拡張機能の接続の指定」を参照してください。

種類

ネットワーク接続のコンテキスト

データ ソースの種類

(SQL Server、Oracle、ODBC、OLE DB、Analysis Services、XML、SAP NetWeaver BI、Hyperion Essbase)

統合セキュリティ

現在のユーザーの権限を借用します。

すべてのデータ ソースの種類で、現在のユーザー アカウントを使用して接続します。

Windows 資格情報

指定したユーザーの権限を借用します。

SQL Server、Oracle、ODBC、および OLE DB の場合 : 権限を借用したユーザー アカウントを使用して接続します。

Analysis Services の場合 : SQL Server Reporting Services Service Pack 2 以降は、ドメイン アカウントを使用する Windows Server 2003 でサポートされます。Windows XP 以前のオペレーティング システムではサポートされません。

データベース資格情報

自動実行アカウントまたはサービス アカウントの権限を借用します。

(Reporting Services は、サービス ID を使用して接続要求を送信する際に管理者権限を削除します。)

SQL Server、Oracle、ODBC、OLE DB の場合

ユーザー名とパスワードを接続文字列に追加します。

Analysis Services の場合

TCP/IP プロトコルを使用している場合は、接続が正常に行われます。それ以外の場合は、失敗します。

XML の場合 :

データベース資格情報を使用している場合は、レポート サーバーで接続に失敗します。

なし

自動実行アカウントの権限を借用します。

SQL Server、Oracle、ODBC、OLE DB の場合

接続文字列で定義されている資格情報を使用します。自動実行アカウントが未定義の場合は、レポート サーバーで接続に失敗します。

Analysis Services の場合

自動実行アカウントが定義されていても、資格情報が指定されていない場合は、必ず接続に失敗します。

XML の場合 :

自動実行アカウントが定義されている場合は、匿名ユーザーとして接続します。それ以外の場合は、接続に失敗します。

プログラム上での資格情報の設定

コード内で資格情報を設定して、レポートおよびレポート サーバーへのアクセスを制御できます。詳細については、「データ ソースと接続のメソッド」を参照してください。