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