Reporting Services でカスタム認証またはフォーム認証を構成する方法
Reporting Services に用意されている拡張可能なアーキテクチャを使用すると、カスタム認証モジュールまたはフォームベースの認証モジュールを組み込むことができます。配置の要件に Windows 統合セキュリティまたは基本認証が含まれていない場合は、カスタム認証拡張機能を実装することを検討してください。カスタム認証を使用する最も一般的なシナリオは、インターネットまたはエクストラネットを介した Web アプリケーションへのアクセスをサポートすることです。既定の Windows 認証拡張機能の代わりにカスタム認証拡張機能を使用することで、レポート サーバーへのアクセスを外部ユーザーに許可する方法をより細かく制御できます。
実際に、カスタム認証拡張機能を配置するには、アセンブリとアプリケーション ファイルのコピー、構成ファイルの変更、テストを含む、複数の手順を実行する必要があります。ここでは、構成ファイルで指定する認証設定のみに焦点を当てて説明します。
注 |
---|
カスタム認証拡張機能を作成するには、カスタム コードと ASP.NET セキュリティに関する専門知識が必要です。カスタム認証拡張機能を作成しない場合は、Microsoft Active Directory のグループとアカウントを使用できます。ただし、レポート サーバーの配置のスコープを大幅に縮小する必要があります。カスタム認証の詳細については、「セキュリティ拡張機能の実装」を参照してください。 |
さらに、SharePoint 製品と統合された Reporting Services 環境でフォーム認証またはカスタム認証拡張機能を使用する場合は、選択した認証方法を使用するように SharePoint サイトを構成する必要があります。SharePoint における認証の構成の詳細については、Microsoft Developer Network (MSDN) の「認証の例」を参照してください。
注意 |
---|
フォーム プロバイダーの役割は、セキュリティに対するブルート フォース攻撃を緩和することです。この攻撃では、サーバーが悪影響を受けるまで、悪意のあるユーザーによって繰り返しエンドポイントへの呼び出しが行われます。このようなセキュリティの脅威を軽減するための一般的な方法として、フォーム プロバイダーには、特定の回数ログインに失敗するとアカウントをロックする機能が実装されています。Windows 統合セキュリティでは、ドメインのロックアウト ポリシーを使用してロックアウトがサポートされます。ドメインのロックアウト ポリシーは、ドメイン管理者が構成する必要があります。ただし、フォーム認証を使用した場合、潜在的な脅威に対する保護はフォーム プロバイダーが実施します。 |
カスタム認証を使用するようにレポート サーバーを構成するには
テキスト エディターで RSReportServer.config を開きます。
<Authentication> を探します。
次の XML 構造をコピーします。
<Authentication> <AuthenticationTypes> <Custom /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>
これを <Authentication> の既存のエントリに貼り付けて上書きします。
Custom は他の認証の種類と併用できないので注意してください。
ファイルを保存します。
レポート サーバーの Web.config ファイルを開きます。既定では、このファイルは \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer にあります。
authentication mode を探して、Forms を設定します。
<authentication mode = "Forms" />
identity impersonate を探して、False を設定します。
<identity impersonate = "false" />
レポート マネージャーの Web.config ファイルを開きます。既定では、このファイルは \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager にあります。
authentication mode を探して、Forms を設定します。
<authentication mode = "Forms" />
identity impersonate を探して、False を設定します。
<identity impersonate = "false" />
構成ファイルに PassThroughCookies 要素構造を追加します。詳細については、「レポート マネージャでカスタム認証 Cookie を送信できるようにする方法」を参照してください。
ファイルを保存します。
スケールアウト配置を構成した場合は、配置内の他のレポート サーバーに対して上記の手順すべてを繰り返します。
レポート サーバーを再起動して、現在開いているセッションを消去します。