教學課程:將安全性篩選套用到報表模型項目

更新: 2006 年 12 月 12 日

在 SQL Server 2005 Reporting Services 中,模型項目安全性讓您可以對群組或使用者授與存取權。如果您的資料庫包含銷售訂單資訊,那麼除非套用模型項目安全性,否則任何一個有模型權限的使用者都可以檢視這筆銷售訂單資料。模型項目安全性讓您可以選擇性地將模型中的項目公開給其他使用者或群組。一般說來,這種安全性與資料庫中的資料表和資料行安全性類似。模型項目安全性的啟用與設定是透過 SQL Server Management Studio 來進行。

為了套用模型項目安全性,您必須使用模型設計師至少先建立一個篩選,或建立預設安全性篩選。若要使用篩選做為安全性篩選,請將該篩選指派至 SecurityFilters 集合中。在 SQL Server Management Studio,這個安全性篩選會用於授與存取權給您要保護的特定模型項目。

您也可以使用資料列層級安全性來保護模型所傳回的資料。例如,您可以限定銷售員只能查看自己的銷售訂單。為了套用資料列層級安全性,您必須至少建立一個可當做篩選用以限制資料的屬性 (Attribute),然後將其指派給 SecurityFilters 集合 屬性 (Property) 或 DefaultSecurityFilter 物件屬性 (Property)。這個屬性 (Attribute) 必須是布林,而且 IsFilter 屬性 (Property) 必須設定為 True。或者,如果屬性不如報表欄位好用,您可以將 Hidden 屬性設為 True

當您基於資料列層級安全性而至少使用一個屬性 (Attribute) 後,預設就會隨即隱藏所有的資料列。依據安全性篩選,使用者才會取得資料列的存取權。每一個加到 SecurityFilters 集合的屬性會成為授與資料列存取權的機制,但只限該篩選所公開的資料列。如果安全性篩選存在的話,那麼除非定義預設安全性篩選,否則沒有這些篩選權限的使用者或群組將無法看到任何資料列。若有定義,則只會看到預設安全性篩選公開的資料列。

ms365305.note(zh-tw,SQL.90).gif附註:
根據預設,管理員對整個模型沒有存取權。管理員必須已獲授與權限才能存取整個模型,就如同任何其他使用者或群組一樣。

在本教學課程中,您將瞭解如何使用 SecurityFilters 集合,把資料列層級安全性套用到 Adventure Works 報表模型內的實體。然後將在 Management Studio 套用必要的安全性設定。

ms365305.note(zh-tw,SQL.90).gif重要事項:
安裝期間不會自動安裝範例資料庫,但是您可在任何時間加以安裝。如需有關安裝範例的詳細資訊,請參閱<安裝範例>。

需求

若要使用這個教學課程,系統上必須已安裝下列元件:

  • Microsoft SQL Server 2005 Reporting Services,以原生模式執行。SQL Server Express Edition 不支援模型。如需詳細資訊,請參閱<SQL Server 2005 版本支援的功能>,包括:
    • Microsoft SQL Server 2005 SP1 或更新版本。
    • Microsoft SQL Server 2005 Business Intelligence Development Studio。
    • Microsoft SQL Server 2005 Management Studio。
    • AdventureWorks 資料庫的 Microsoft SQL Server 2005。
    • 含有 Adventure Works 報表模型範例的 Microsoft SQL Server 2005。
  • Microsoft .NET Framework 2.0 版 (安裝在執行 [報表產生器] 的系統上)。

您必須具有下列權限:

  • 若要部署和發行報表模型,則必須將您指派給「內容管理員」或「發行者」角色。
  • AdventureWorks 資料庫擷取資料的權限。

另外,請確認執行報表伺服器的電腦是使用具備整合式安全性的 Internet Information Services (IIS)。

工作

第 1 課:為本教學課程設定權限

第 2 課:建立資料列層級安全性的屬性

第 3 課:在 Management Studio 中啟用資料列層級安全性

第 4 課:驗證套用的資料列層級安全性變更

請參閱

概念

Reporting Services 教學課程

其他資源

安裝範例
SQL Server Reporting Services 範例
範例資料庫

說明及資訊

取得 SQL Server 2005 協助