レッスン 3: レポート マネージャを使用した行レベルのセキュリティの有効化

レポート モデルでは、2 段階の処理で行レベルのセキュリティを有効にします。まず、モデル デザイナを使用して少なくとも 1 つのフィルタ属性を作成し、行レベルのセキュリティを適用するエンティティの SecurityFilters コレクションにその属性を割り当てます。次に、レポート マネージャを使用して、モデル デザイナで作成したフィルタに基づいて行レベルの権限を付与します。

セキュリティ フィルタは、モデルに対して管理者の権限を持つユーザーであっても、常に適用されます。管理者またはその他のユーザーが、行レベルのセキュリティが定義されているエンティティのすべての行を表示できるようにするには、空のセキュリティ フィルタ (常に True を返す) を作成し、そのフィルタを使用してすべての行へのアクセス権をそれらのユーザーに付与します。

このレッスンでは、レポート マネージャを起動し、レッスン 2 で作成したフィルタ処理済みの属性を使用してモデル アイテム セキュリティを適用します。

ブラウザからレポート マネージャを起動するには

  1. Microsoft Internet Explorer 6.0 以降を開きます。

  2. Web ブラウザのアドレス バーに、レポート マネージャの URL を入力します。既定の URL は、http://<ComputerName>/reports です。

Adventure Works レポート モデルへのアクセス権を付与するには

  1. [ホーム] ページで、[モデル] をダブルクリックします。

  2. [Adventure Works] をダブルクリックし、[モデル アイテムのセキュリティ] をクリックします。

  3. [このモデルのモデル アイテムは個別にセキュリティで保護する] チェック ボックスをオンにします。

    注意注意

    モデル アイテム セキュリティを適用する場合は、このチェック ボックスをオンにする必要があります。

  4. 最上位ノードの [Adventure Works] を選択します。

  5. [次のユーザーとグループをセミコロンで区切って読み取り権限を割り当ててください] オプションを選択します。

  6. 「Everyone」と入力し、[適用] をクリックします。

    これで、レポート モデル全体が、レポート モデルに対する権限を持つすべてのユーザーに表示されるようになります。

[Adventure Works] レポート モデルへの行レベルのアクセス権を付与するには

  1. [Employee] エンティティを展開します。

  2. [UserIDFilter] 属性を選択します。

  3. [次のユーザーとグループをセミコロンで区切って読み取り権限を割り当ててください] オプションを選択します。

  4. Rachel0 および Garrett1 にアクセス権を付与するには、「<ComputerName>\Rachel0; <ComputerName>\Garrett1」と入力し、[適用] をクリックします。

  5. レポート マネージャのホーム ページに戻るには、[ホーム] をクリックします。

次の手順

これで、レポート モデルのモデル アイテムに、行レベルのセキュリティを適用できました。次のレッスンでは、レポート ビルダで簡単なレポートを作成し、そのレポートを Rachel0 および Garrett1 として検証して、行レベルのセキュリティが予想どおりに機能することを確認します。「レッスン 4: 適用された行レベルのセキュリティ変更の検証」を参照してください。