資格情報と接続情報の指定

更新 : 2007 年 9 月 15 日

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

ms160330.note(ja-jp,SQL.90).gifメモ :
資格情報は、レポート サーバーにアクセスするユーザーを認証するためにも使用されます。レポート サーバーへのユーザーの認証に関する情報については、別のトピックで説明します。詳細については、「Reporting Services の保護」および「Reporting Services の配置における接続とアカウント」を参照してください。

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

リモート データ ソースに接続するための資格情報を指定する方法

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

  • ユーザーに資格情報を要求する。
  • 資格情報を保存する。
  • Windows 統合セキュリティを使用する。
  • 資格情報を使用しない。

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

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

  • Kerberos プロトコルを有効にして、資格情報を無制限に他のコンピュータに委任できるようにします。
  • 保存されている資格情報または要求された資格情報を使用して、レポート データの外部データ ソースに対してクエリを実行します。資格情報には Windows ドメイン アカウントまたはデータベース ログインのいずれかを指定できます。

資格情報の要求

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

Windows 統合セキュリティ

[Windows 統合セキュリティ] オプションがオンになっている場合、レポート サーバーから外部データ ソースをホストしているサーバーに、レポートにアクセスしているユーザーのセキュリティ トークンが渡されます。この場合、ユーザーはユーザー名やパスワードを入力することを要求されません。

Kerberos が有効な場合、この方法を使用することをお勧めします。Kerberos が無効な場合、アクセスするすべてのサーバーが同じコンピュータに配置されている場合にのみ、この方法を使用してください。

保存された資格情報

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

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

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

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

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

この権限を付与するには、次の手順を実行します。

  1. レポート サーバー コンピュータの [管理ツール] で、[ローカル セキュリティ ポリシー] を開きます。
  2. [セキュリティの設定] の下の [ローカル ポリシー] を展開し、[ユーザー権利の割り当て] をクリックします。
  3. 詳細ペインで [ローカル ログオンを許可する] を右クリックし、[プロパティ] をクリックします。
  4. [ユーザーまたはグループの追加] をクリックします。
  5. [場所] をクリックし、検索するドメインまたは別の場所を指定し、[OK] をクリックします。
  6. 対話的なログインを許可する Windows アカウントを入力し、[OK] をクリックします。
  7. [ローカル ログオンを許可するのプロパティ] ダイアログ ボックスで、[OK] をクリックします。
  8. 選択したアカウントに、拒否する権限がないことを確認します。
    1. [ローカルでログオンを拒否する] を右クリックし、[プロパティ] を右クリックします。
    2. 該当するアカウントが表示されている場合は、そのアカウントを選択して [削除] をクリックします。

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

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

ms160330.note(ja-jp,SQL.90).gif重要 :
サブスクリプションをサポートするレポート、またはスケジュールを使用してレポート履歴を生成したりレポート実行スナップショットを更新するレポートには権限の借用を使用しないでください。

資格情報を使用しない

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

  • リモート データ ソースで資格情報が必要とされない。
  • 資格情報が接続文字列で渡される (接続がセキュリティで保護されている場合にのみお勧めします)。
  • レポートが、親レポートの資格情報を使用するサブレポートである。

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

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

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

種類 ネットワーク接続のコンテキスト データ ソースの種類(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 の場合 :

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

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

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

参照

処理手順

共有データ ソースを作成、削除、または変更する方法 (Management Studio)
共有データ ソースを作成、削除、または変更する方法 (レポート マネージャ)
レポート固有のデータ ソースを構成する方法 (Management Studio)
レポート固有のデータ ソースを構成する方法 (レポート マネージャ)

概念

Reporting Services でサポートされるデータ ソース
データ ソースへの接続
Reporting Services のデータ ソース プロパティの設定
レポート マネージャ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2007 年 9 月 15 日

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

2006 年 12 月 12 日

変更内容 :
  • 権限を借用したユーザー アカウントの Analysis Services でのサポートについて注意事項を追加しました。

2006 年 7 月 17 日

変更内容 :
  • 資格情報の説明が削除されました。

2005 年 12 月 5 日

新しい内容 :
  • 接続方法と接続に使用されるセキュリティ コンテキストを示す表を追加しました。