チュートリアル : レポート モデル アイテムへのセキュリティ フィルタの適用
SQL ServerReporting Services では、モデル アイテム セキュリティを使用して、グループまたはユーザーへのアクセスを許可できます。たとえば、データベースに販売注文情報が含まれているとします。モデル アイテム セキュリティを適用しない限り、このモデルへの権限を持つユーザーは、だれでもこの販売注文データを表示できます。モデル アイテム セキュリティを使用すると、モデル内のアイテムを選択し、異なるユーザーやグループに公開できます。一般的に、これはデータベースのテーブルと列のセキュリティに似ています。モデル アイテム セキュリティを有効化したり構成するには、レポート マネージャを使用します。
モデル アイテム セキュリティを適用するには、モデルをレポート サーバーに配置する必要があります。その後、レポート マネージャの [セキュリティ] ページで、モデル内のエンティティおよびフィールドに対してセキュリティを適用できます。行レベル セキュリティを使用して、モデルにより返されるデータを保護することもできます。たとえば、販売員が自分の販売注文だけを表示できるように設定できます。行レベル セキュリティを適用するには、データを制限するフィルタとして使用可能な属性を少なくとも 1 つ作成し、その属性に SecurityFilters コレクション プロパティまたは DefaultSecurityFilter オブジェクト プロパティを割り当てる必要があります。この属性にはブール値を指定する必要があり、IsFilter プロパティは True に設定する必要があります。属性をレポート フィールドとして表示する必要がない場合は、オプションで Hidden プロパティを True に設定できます。
行レベル セキュリティに少なくとも 1 つの属性を使用するとすぐ、既定ではすべての行が非表示になります。ユーザーはセキュリティ フィルタに基づいて行へのアクセス権を得ることができます。SecurityFilters コレクションに追加する各属性は、該当のフィルタで公開される行へのアクセスを許可する条件となります。セキュリティ フィルタが存在する場合に、どのフィルタに対しても権限を持たないユーザーまたはグループは、既定のセキュリティ フィルタが定義されていない限りどの行も表示することはできません。既定のセキュリティ フィルタが定義されている場合は、このフィルタによって公開されている行のみが表示されます。
注意 |
---|
既定では、管理者はモデル全体にアクセスすることはできません。管理者がモデル全体にアクセスできるようにするには、他のユーザーやグループと同様に、権限を与える必要があります。 |
このチュートリアルでは、SecurityFilters コレクションを使用して、行レベル セキュリティを Adventure Works レポート モデル内のエンティティに適用する方法について学習します。次に、レポート マネージャを使って必要なセキュリティ設定を適用します。
重要 |
---|
SQL Server のサンプルやサンプル データベースを表示したり使用したりするには、まずそれをダウンロードしてインストールする必要があります。詳細については、「SQL Server のサンプルとサンプル データベースのインストールに関する注意点」を参照してください。 |
必要条件
このチュートリアルを使用するには、システムに次のコンポーネントがインストールされている必要があります。
MicrosoftSQL ServerReporting Services (ネイティブ モードで実行)。SQL Server Express には、モデルのサポートが含まれていません。詳細については、「SQL Server 2008 の各エディションがサポートする機能」を参照してください。対象は次のとおりです。
MicrosoftSQL Server
MicrosoftSQL ServerBusiness Intelligence Development Studio
MicrosoftSQL Server と AdventureWorks データベース
MicrosoftSQL Server と Adventure Works レポート モデル サンプル
Microsoft.NET Framework 2.0 (レポート ビルダを実行するシステムで必要)。
必要な権限は次のとおりです。
レポート モデルの配置とパブリッシュを行う場合は、コンテンツ マネージャまたはパブリッシャのロール
AdventureWorks データベースからデータを取得する権限
さらに、レポート サーバーを実行しているコンピュータで、統合セキュリティと共にインターネット インフォメーション サービス (IIS) を使用していることを確認します。