レポート データ ソースの資格情報と接続
レポート サーバーは、資格情報を使用して、レポートにコンテンツを提供したり、データ ドリブン サブスクリプションに受信者の情報を提供する外部データ ソースに接続します。 Windows 認証、データベース認証、認証なし、またはカスタム認証を使用する資格情報を指定できます。 レポート サーバーがネットワーク経由で接続要求を送信すると、ユーザー アカウントまたは無人実行アカウントのいずれかを借用します。 接続要求が行われるセキュリティ コンテキストの詳細については、このトピックの「 データ ソースの構成とネットワーク接続 」を参照してください。
注
資格情報は、レポート サーバーにアクセスするユーザーを認証するためにも使用されます。 レポートサーバーでの認証の詳細については、「レポート サーバーでの認証」を参照してください。
レポートを作成すると、外部データ ソースへの接続が定義されます。 レポートをパブリッシュした後は、この接続を個別に管理できます。 動的なリストからデータ ソースを選択できるようになる静的な接続文字列または式を指定できます。 データ ソースのタイプおよび接続文字列を指定する方法の詳細については、「Report Builder でデータ接続文字列を作成する」を参照してください。
レポート ビルダーで使用される資格情報
レポート ビルダーでは、レポート サーバーに接続するときに資格情報がよく使用されます。 また、埋め込みデータ ソースの作成、データセット クエリの実行、レポートのプレビューなど、データ関連のタスクにも使用されます。 資格情報はレポートに保存されません。 資格情報は、レポート サーバー上またはローカル クライアント上で個別に管理されます。 次の一覧に、指定する必要がある資格情報の種類、それらの資格情報の格納場所、およびそれらの資格情報の使用方法を示します。
[Reporting Services サインイン] ダイアログ ボックスで入力するレポート サーバーの資格情報。
レポート サーバーまたは SharePoint サイトに対して最初に保存、パブリッシュ、または参照を実行するとき、資格情報を入力する必要がある場合があります。 入力した資格情報は、レポート ビルダー セッションが終了するまで使用されます。 資格情報の保存を選択した場合、資格情報はユーザー設定と共に、使用しているコンピューターに安全に格納されます。 以降のレポート ビルダー セッションでは、同じレポート サーバーまたは SharePoint サイトへの接続に、保存した資格情報が使用されます。 レポート サーバーの管理者または SharePoint 管理者は、使用する資格情報を指定します。
埋め込みデータ ソースの [データ ソース プロパティ] ダイアログ ボックスに入力するデータ ソース資格情報。
これらの資格情報は、外部データ ソースへのデータ接続を行うために、レポート サーバーによって使用されます。 一部のタイプのデータ ソース用に、資格情報をレポート サーバーに安全に保存できます。 これらの資格情報により、他のユーザーは基になるデータ接続の資格情報を指定することなく、レポートを実行できます。
データセット クエリの実行時、データセット フィールドの更新時、またはレポートのプレビュー時に [データ ソースの資格情報の入力] ダイアログ ボックスで入力するデータ ソースの資格情報。
これらの資格情報は、レポート ビルダーから外部データ ソースにデータ接続を行うために、または資格情報の入力を求めるように構成されたレポートをプレビューするために使用されます。 このダイアログ ボックスに入力した資格情報はレポート サーバーに保存されず、他のユーザーが使用することはできません。 レポート ビルダーは、クエリの実行またはレポートのプレビューのたびに資格情報を入力しなくても済むように、レポート編集セッション中に資格情報をキャッシュします。
共有データ ソースの場合は、 [パスワードを保存する] オプションを使用して、資格情報をユーザー設定と共に、使用しているコンピューターにローカルに保存します。 レポート ビルダーは、対応する外部データ ソースに接続するたびに、保存されている資格情報を使用します。
詳細については、「レポート ビルダーでレポートをプレビューする」を参照してください。
リモート データ ソース
レポートがリモート データベース サーバーからデータを取得する場合は、次の点を確認する必要があります。
データベース サーバーに提供される資格情報が有効かどうか。 Windows ユーザー資格情報を使用する場合、ユーザーがサーバーとデータベースに対するアクセス許可を持っていることを確認してください。
データベース サーバーで使用するポートが開いている。 外部コンピューター上の SQL Server リレーショナル データベースにアクセスする場合、外部コンピューターのポート 1433 および 1434 を開く必要があります。 レポート サーバー データベースが外部 SQL Server インスタンス上にある場合にも、これらのポートを開く必要があります。 ポートを開いた後、サーバーを必ず再起動してください。 詳細については、「データベース エンジンのアクセス用に Windows ファイアウォールを構成する」を参照してください。
リモート接続を有効にする。 外部コンピューター上の SQL Server リレーショナル データベースにアクセスする場合、SQL Server 構成マネージャーを使用して、Transmission Control Protocol (TCP) 経由のリモート接続が有効であることを確認できます。
リモート データ ソースへの接続に使用する資格情報の指定方法
レポートにコンテンツを提供するデータ ソースは、リモート サーバーでホストされます。 レポートのデータを取得するには、事前に提供されるか実行時に取得される一連の資格情報を使用して、レポート サーバーがリモート サーバーに接続する必要があります。 データ ソースを構成するときには、次の方法で資格情報を指定できます。
- ユーザーに資格情報を要求する。
- 資格情報を保存する。
- Windows 統合セキュリティを使用する。
- 資格情報を使用しない。
ネットワーク環境によって、ユーザーがサポートできる接続のタイプが決まります。 たとえば、Kerberos Version 5 プロトコルが有効になっている場合、Windows 認証で利用できる委任機能と権限の借用機能を使用して、複数のサーバーにまたがって接続をサポートできます。 このようなセキュリティ機能がネットワークでサポートされていない場合は、接続の制限を回避する必要があります。 委任機能と権限の借用機能が有効になっていない場合、Windows 資格情報の有効期限が切れる前に、1台のコンピューター接続で Windows 資格情報を渡すことができます。 クライアント コンピューターからレポート サーバー コンピューターへのユーザー接続は、最初の接続としてカウントされます。 ユーザーがリモート サーバーからデータを取得するレポートを開いた場合、そのサインインは 2 つ目の接続としてカウントされます。 無効な委任で統合セキュリティを使用するように指定した場合、接続は失敗します。
クライアント コンピューターから外部レポート データ ソースへのラウンドトリップを遂行するために複数の接続が必要な場合は、次の方法の中から選択して接続を正常に行います。
ドメインの委任機能と権限の借用機能を有効にして、資格情報を無制限に他のコンピューターに委任できるようにします。
保存されている資格情報または要求された資格情報を使用して、レポート データの外部データ ソースに対してクエリを実行します。 資格情報には Windows ドメイン アカウントまたはデータベース サインインのいずれかを指定できます。
資格情報の要求
要求された資格情報を使用するようにレポートのデータ ソース接続を構成した場合、レポートにアクセスするユーザーがデータを取得するには、それぞれがユーザー名とパスワードを入力する必要があります。 機密データを含むレポートには、この方法を使用することをお勧めします。 要求時に実行されるレポートでのみ、要求された資格情報を使用できます。 要求される資格情報は、Windows アカウントまたはデータベース サインインのいずれかです。 Windows 認証を使用するには、 [Windows 資格情報として使用する] を選択する必要があります。 それ以外の場合、ユーザー認証のためにレポート サーバーからデータベース サーバーに資格情報が渡されます。 データベース サーバーが提供した資格情報を認証できない場合、接続は失敗します。
Windows 統合セキュリティ
[Windows 統合セキュリティ] オプションがオンになっている場合、レポート サーバーから外部データ ソースをホストしているサーバーに、レポートにアクセスしているユーザーのセキュリティ トークンが渡されます。 この場合、ユーザーにユーザー名やパスワードの入力を求めるプロンプトは表示されません。 権限の借用機能と委任機能が有効な場合、この方法をお勧めします。 これらの機能が無効な場合、アクセスするすべてのサーバーが同じコンピューターに配置されている場合にのみ、この方法を使用してください。
保存された資格情報
外部データ ソースへのアクセスに使用する資格情報を保存することができます。 資格情報は、暗号化を元に戻せる状態でレポート サーバー データベースに保存されます。 レポートで使用されるデータ ソースごとに、1 セットの保存された資格情報を指定できます。 提供する資格情報によって、どのユーザーがレポートを実行しても同じデータが取得されます。
リモート データベース サーバーにアクセスするための戦略の一環として、保存された資格情報を使用することをお勧めします。 サブスクリプションをサポートする場合、またはレポート履歴の生成やレポート スナップショットの更新をスケジュールする場合は、保存された資格情報が必要です。 レポートをバックグラウンド処理として実行する場合は、レポート サーバーがレポートを実行するエージェントです。 指定されたユーザー コンテキストがないため、レポート サーバーはデータ ソースに接続するためにレポート サーバー データベースから資格情報を取得する必要があります。
指定するユーザー名とパスワードは、Windows 認証またはデータベース サインインのいずれかです。 Windows 資格情報を指定する場合、レポート サーバーによって、後続の認証用に Windows に資格情報が渡されます。 それ以外の場合、認証用にデータベース サーバーに資格情報が渡されます。
ドメイン ユーザー アカウントに「ローカル サインインを許可する」アクセス許可を付与する
保存済みの資格情報を使用して外部データ ソースに接続する場合、Windows ドメイン ユーザー アカウントにローカルにサインインするアクセス許可が必要です。 レポート サーバーはこの権限を利用して、レポート サーバー上のユーザーの権限を借用し、その借用元ユーザーとして外部データ ソースに要求を送信します。
レポート サーバーでこのアクセス許可を付与するには、[管理ツール] に移動し、対話型サインイン用の Windows アカウントに [ローカル セキュリティ ポリシー]>[セキュリティ設定]>[ローカル ポリシー]>[ユーザー権限の割り当て] を追加します。 選択したアカウントに、拒否アクセス許可がないことを確認します。
詳細については、「セキュリティ ポリシー設定の構成」と「ローカル ログオンの許可 - セキュリティ ポリシー設定」を参照してください。
保存された資格情報での権限借用
資格情報を使用して、別のユーザーの ID の権限を借用することもできます。 SQL Server データベースの場合、権限借用のオプションで、SETUSER 関数が設定されます。
重要
サブスクリプションをサポートするレポート、またはスケジュールを使用してレポート履歴を生成したりレポート実行スナップショットを更新するレポートには権限の借用を使用しないでください。
資格情報なし
資格情報を使用しないようにデータ ソース接続を構成できます。 データ ソースにアクセスするには、常に資格情報を使用する必要があります。 ただし、以下の場合、資格情報を使用しないでレポートを実行することができます。
- リモート データ ソースには資格情報は必要ありません。
- 資格情報が接続文字列で渡される (接続がセキュリティで保護されている場合にのみお勧めします)。
- レポートが、親レポートの資格情報を使用するサブレポートである。
このような条件下では、レポート サーバーは、事前に定義する必要がある自動実行アカウントを使用して、リモート データ ソースに接続します。 レポート サーバーはそのサービス資格情報を使用してリモート サーバーに接続しないため、レポート サーバーが接続のために使用できるアカウントを指定する必要があります。 このアカウントの作成の詳細については、「自動実行アカウントの構成 (レポート サーバー構成マネージャー)」を参照してください。
ユーザー名とパスワードのサインイン
[次のユーザー名とパスワードを使用] を選択した場合、データ ソースへのアクセスにはユーザー名およびパスワードの指定が必要になります。 SQL Server データベースの場合は、この資格情報がデータベース サインイン用となる可能性があります。 この資格情報は、認証用にデータ ソースに渡されます。
データ ソースの構成とネットワーク接続
次の表は、資格情報のタイプとデータ処理拡張機能の特定の組み合わせにおける接続方法を示しています。 カスタム データ処理拡張機能を使用している場合は、「カスタム データ処理拡張機能の接続を指定する」を参照してください。
Type | ネットワーク接続のコンテキスト | データ ソースのタイプ (SQL Server、Oracle、ODBC、OLE DB、Analysis Services、XML、SAP NetWeaver BI、Hyperion Essbase) |
---|---|---|
統合セキュリティ | 現在のユーザーを借用します。 | すべてのデータ ソースのタイプで、現在のユーザー アカウントを使用して接続します。 |
Windows 資格情報 | 指定したユーザーの権限を借用します。 | SQL Server、Oracle、Open Database Connectivity (ODBC)、オブジェクトのリンクと埋め込みデータベース (OLE DB) の場合: 権限を借用したユーザー アカウントを使用して接続します。 |
データベース資格情報 | 自動実行アカウントまたはサービス アカウントの権限を借用します。 (Reporting Services は、サービス ID を使用して接続要求を送信する際に管理者権限を削除します。) |
SQL Server、Oracle、ODBC、OLE DB の場合: ユーザー名とパスワードを接続文字列に追加します。 Analysis Services の場合: TCP/IP プロトコルを使用している場合は、接続が正常に行われます。それ以外の場合は、失敗します。 XML の場合 : データベース資格情報を使用している場合は、レポート サーバーで接続に失敗します。 |
なし | 自動実行アカウントの権限を借用します。 | SQL Server、Oracle、ODBC、OLE DB の場合: 接続文字列で定義されている資格情報を使用します。 自動実行アカウントが未定義の場合は、レポート サーバーで接続に失敗します。 Analysis Services の場合: 自動実行アカウントが定義されていても、資格情報が指定されていない場合は、必ず接続に失敗します。 XML の場合 : 自動実行アカウントが定義されている場合は、匿名ユーザーとして接続します。それ以外の場合は、接続に失敗します。 |
プログラムで資格情報を設定する
コード内で資格情報を設定して、レポートおよびレポート サーバーへのアクセスを制御できます。 詳しくは、「 データ ソースと接続のメソッド」を参照してください。