レッスン 3: レポート マネージャーを使用した行レベルのセキュリティの有効化
レポート モデルでは、2 段階の処理で行レベルのセキュリティを有効にします。まず、モデル デザイナーを使用して少なくとも 1 つのフィルター属性を作成し、行レベルのセキュリティを適用するエンティティの SecurityFilters コレクションにその属性を割り当てます。次に、レポート マネージャーを使用して、モデル デザイナーで作成したフィルターに基づいて行レベルの権限を付与します。
セキュリティ フィルターは、モデルに対して管理者の権限を持つユーザーであっても、常に適用されます。管理者またはその他のユーザーが、行レベルのセキュリティが定義されているエンティティのすべての行を表示できるようにするには、空のセキュリティ フィルター (常に True を返す) を作成し、そのフィルターを使用してすべての行へのアクセス権をそれらのユーザーに付与します。
このレッスンでは、レポート マネージャーを起動し、レッスン 2 で作成したフィルター処理済みの属性を使用してモデル アイテム セキュリティを適用します。
ブラウザーからレポート マネージャーを起動するには
Microsoft Internet Explorer 6.0 以降を開きます。
Web ブラウザーのアドレス バーに、レポート マネージャーの URL を入力します。既定の URL は、http://<ComputerName>/reports です。
Adventure Works2008R2 レポート モデルへのアクセス権を付与するには
[ホーム] ページで、[モデル] をダブルクリックします。
[Adventure Works2008R2] をダブルクリックし、[モデル アイテムのセキュリティ] をクリックします。
[このモデルのモデル アイテムは個別にセキュリティで保護する] チェック ボックスをオンにします。
注 モデル アイテム セキュリティを適用する場合は、このチェック ボックスをオンにする必要があります。
最上位ノードの [Adventure Works2008R2] を選択します。
[次のユーザーとグループをセミコロンで区切って読み取り権限を割り当ててください] オプションを選択します。
「Everyone」と入力し、[適用] をクリックします。
これで、レポート モデル全体が、レポート モデルに対する権限を持つすべてのユーザーに表示されるようになります。
[Adventure Works2008R2] レポート モデルへの行レベルのアクセス権を付与するには
[Employee] エンティティを展開します。
[UserIDFilter] 属性を選択します。
[次のユーザーとグループをセミコロンで区切って読み取り権限を割り当ててください] オプションを選択します。
Rachel0 および Garrett1 にアクセス権を付与するには、「<ComputerName>\Rachel0; <ComputerName>\Garrett1」と入力し、[適用] をクリックします。
レポート マネージャーのホーム ページに戻るには、[ホーム] をクリックします。
次の手順
これで、レポート モデルのモデル アイテムに、行レベルのセキュリティを適用できました。次のレッスンでは、レポート ビルダーで簡単なレポートを作成し、そのレポートを Rachel0 および Garrett1 として検証して、行レベルのセキュリティが予想どおりに機能することを確認します。「レッスン 4: 適用された行レベルのセキュリティ変更の検証」を参照してください。