チュートリアル : レポート モデル アイテムへのセキュリティ フィルタの適用

更新 : 2006 年 12 月 12 日

SQL Server 2005 Reporting Services では、モデル アイテム セキュリティを使用して、グループまたはユーザーへのアクセスを許可できます。たとえば、データベースに販売注文情報が含まれているとします。モデル アイテム セキュリティを適用しない限り、このモデルへの権限を持つユーザーは、だれでもこの販売注文データを表示できます。モデル アイテム セキュリティを使用すると、モデル内のアイテムを選択し、異なるユーザーやグループに公開できます。一般的に、これはデータベースのテーブルと列のセキュリティに似ています。モデル アイテム セキュリティを有効化したり構成するには、SQL Server Management Studio を使用します。

モデル アイテム セキュリティを適用するには、まずモデル デザイナを使用して、少なくとも 1 つのフィルタを作成するか、既定のセキュリティ フィルタを作成する必要があります。フィルタをセキュリティ フィルタとして使用するには、そのフィルタを SecurityFilters コレクションに割り当てます。SQL Server Management Studio では、割り当てたセキュリティ フィルタを使用して、保護する特定のモデル アイテムへのアクセスを許可できます。

行レベル セキュリティを使用して、モデルにより返されるデータを保護することもできます。たとえば、販売員が自分の販売注文だけを表示できるように設定できます。行レベル セキュリティを適用するには、データを制限するフィルタとして使用可能な属性を少なくとも 1 つ作成し、その属性に SecurityFilters コレクション プロパティまたは DefaultSecurityFilter オブジェクト プロパティを割り当てる必要があります。この属性にはブール値を指定する必要があり、IsFilter プロパティは True に設定する必要があります。属性をレポート フィールドとして表示する必要がない場合は、オプションで Hidden プロパティを True に設定できます。

行レベル セキュリティに少なくとも 1 つの属性を使用するとすぐ、既定ではすべての行が非表示になります。ユーザーはセキュリティ フィルタに基づいて行へのアクセス権を得ることができます。SecurityFilters コレクションに追加する各属性は、該当のフィルタで公開される行へのアクセスを許可する条件となります。セキュリティ フィルタが存在する場合に、どのフィルタに対しても権限を持たないユーザーまたはグループは、既定のセキュリティ フィルタが定義されていない限りどの行も表示することはできません。既定のセキュリティ フィルタが定義されている場合は、このフィルタによって公開されている行のみが表示されます。

ms365305.note(ja-jp,SQL.90).gifメモ :
既定では、管理者はモデル全体にアクセスすることはできません。管理者がモデル全体にアクセスできるようにするには、他のユーザーやグループと同様に、権限を与える必要があります。

このチュートリアルでは、SecurityFilters コレクションを使用して、行レベル セキュリティを Adventure Works レポート モデル内のエンティティに適用する方法について学習します。次に、Management Studio を使って必要なセキュリティ設定を適用します。

ms365305.note(ja-jp,SQL.90).gif重要 :
サンプル データベースはセットアップ時に自動的にインストールされませんが、必要なときいつでもインストールできます。サンプルのインストールの詳細については、「サンプルのインストール」を参照してください。

必要条件

このチュートリアルを使用するには、システムに次のコンポーネントがインストールされている必要があります。

  • Microsoft SQL Server 2005 Reporting Services (ネイティブ モードで実行)。SQL Server Express エディションには、モデルのサポートが含まれていません。次を含む詳細については、「SQL Server 2005 の各エディションがサポートする機能」を参照してください。
    • Microsoft SQL Server 2005 SP1 以降。
    • Microsoft SQL Server 2005 Business Intelligence Development Studio。
    • Microsoft SQL Server 2005 Management Studio。
    • Microsoft SQL Server 2005 と AdventureWorks データベース。
    • Microsoft SQL Server 2005 と Adventure Works レポート モデル サンプル。
  • Microsoft .NET Framework version 2.0 (レポート ビルダを実行するシステムで必要)

必要な権限は次のとおりです。

  • レポート モデルの配置とパブリッシュを行う場合は、コンテンツ マネージャまたはパブリッシャのロール
  • AdventureWorks データベースからデータを取得する権限

さらに、レポート サーバーを実行しているコンピュータで、統合セキュリティと共にインターネット インフォメーション サービス (IIS) を使用していることを確認します。

タスク

レッスン 1: このチュートリアルの権限の設定

レッスン 2: 行レベル セキュリティの属性の作成

レッスン 3: Management Studio を使用した行レベルのセキュリティの有効化

レッスン 4: 適用された行レベルのセキュリティ変更の検証

参照

概念

Reporting Services のチュートリアル

その他の技術情報

サンプルのインストール
SQL Server Reporting Services サンプル
サンプル データベース

ヘルプおよび情報

SQL Server 2005 の参考資料の入手