セキュリティ拡張機能の概要 - Reporting Services (SSRS)

Reporting Services セキュリティ拡張機能を使用すると、ユーザーまたはグループの認証と承認が可能になります。つまり、さまざまなユーザーがレポート サーバーにサインインし、ID に基づいてさまざまなタスクや操作を実行できます。 既定では、Reporting Services は Windows ベースの認証拡張機能を使用します。この拡張機能は Windows アカウント プロトコルを使用して、システムのアカウントを持っていると主張するユーザーの ID を検証します。 Reporting Services は、ロールベースのセキュリティ システムを使用してユーザーを承認します。 Reporting Services のロールベースのセキュリティ モデルは、他の技術に見られるロールベースのセキュリティ モデルと類似しています。

セキュリティ拡張機能はオープンで拡張可能な API に基づいているので、認証と承認の新しい拡張機能を Reporting Services に作成できます。 次の例は、フォーム ベースの認証と承認を使用する一般的なセキュリティ拡張機能の実装を示しています。

Screenshot of the Reporting Services security extension process.

図に示すように、認証と承認は次のように行われます。

  1. ユーザーが URL を使用して Web ポータルへのアクセスを試行します。このユーザーは、クライアント アプリケーションに必要なユーザー資格情報を収集するフォームにリダイレクトされます。

  2. ユーザーが資格情報をフォームに送信します。

  3. ユーザー資格情報は、LogonUser メソッドによって Reporting Services Web サービスに送信されます。

  4. Web サービスは顧客指定のセキュリティ拡張機能を呼び出し、カスタム セキュリティ機関に存在するユーザー名とパスワードを検証します。

  5. 認証後、Web サービスは認証チケット (クッキー) を作成、管理し、Web ポータルのホーム ページに対するユーザーのロールを検証します。

  6. Web サービスがクッキーをブラウザーに返し、Web ポータルに適切なユーザー インターフェイスを表示します。

  7. ユーザーの認証後、HTTP ヘッダーにクッキーを追加して転送する間に、ブラウザーは Web ポータルに要求を発信します。 これらの要求は、Web ポータル内でのユーザーの操作に対応しています。

  8. HTTP ヘッダーのクッキーは、要求されたユーザー操作と共に Web サービスに転送されます。

  9. Cookie が検証され、有効な場合、レポート サーバーはセキュリティ記述子と、要求された操作に関連するその他の情報をレポート サーバー データベースから返します。

  10. クッキーが有効な場合、レポート サーバーはセキュリティ拡張機能を呼び出して、ユーザーが特定の操作の実行を許可されているかどうかを調べます。

  11. ユーザーに許可が与えられている場合、レポート サーバーは要求された操作を実行して、呼び出し元に制御を返します。

  12. ユーザーの認証後、レポート サーバーへの URL アクセスでは常に同じクッキーが使用されます。 クッキーは、HTTP ヘッダーの一部として転送されます。

  13. ユーザーは、セッションが終了するまでレポート サーバーに対する操作を要求し続けます。

セキュリティ拡張機能を実装するタイミング

可能な限り Windows 認証を使用することをお勧めします。 ただし、Reporting Services のカスタム認証と承認は、次の 2 つの場合に適している場合があります。

  • Windows アカウントを使用できないインターネットまたはエクストラネット アプリケーションがある。

  • ユーザーとロールを独自に定義しており、それに合わせた承認方法を Reporting Services で使用する必要がある。