對于采用 sql server 2005 analysis service技術生成多維數據集的bi項目來說,數據訪問權限的控制有兩個級別:一個是在多維數據集中設置,一個是在前臺展現工具中設置。本文將介紹怎樣在多維數據集中設置訪問權限控制的方法。
  對于訪問控制需求(這里以sql server 2005自帶的示例說明)有如下說明:假設adventure works cycles將全球的銷售按國家和地區分為不同的分公司(australia分公司、canada分公司、france分公司、germany分公司、united kingdom分公司、united states分公司),總公司ceo可以看到每個分公司的銷售情況,分公司的經理只能看到自己所在的分公司的銷售情況。分析需求可以得知,實際上需要根據用戶來決定用戶訪問的數據,可以利用sql server 2005 analysis service中定義角色的方式來控制。
定義角色可以在多維數據集開發環境中定義,也可以完成多維數集部署之后在數據庫服務器端定義。
多維數據集角色是一類訪問權限的集合,可以在角色中定義屬于這個角色的用戶能訪問什么數據,不能訪問什么數據。定義了角色之后,可以為這個角色添加成員,成員是服務器windwos賬戶或者是域賬戶。當某個角色賦于某個成員之后,客戶端使用該用戶登陸的時候,只能看到角色中定義的權限訪問多維數據集。如果在開發環境定義的角色必須先保存然后部署才能生效。
  下面具體介紹設置方法(前臺測試工具用普科(proclarity)):
1、新建windows測試賬戶“jeffrey”。不要定義成administrator組,因為administrator組的用戶自動擁有訪問多維數集的權限。
2、打開analysis servie 項目工程,在角色列表項中單擊右鍵新建角色,打開新建角色對框。
3、設置訪問權限(如圖1)。 
  
圖1
  這里只需要讀取數據,如果用戶需要有要處理更新cube時,可以根據需要進行設置。
  
圖2
5、設置多維數據集訪問權限,選擇“讀”,本地鉆取選擇“鉆取”(如圖3)
  
圖3
6、選擇維度數據選項卡,選擇維度中的“customer”維度(如圖4)。
  
圖4
  7、 假設為australia分公司定義權限,角色定義了只能訪問區域為australia的數據(如圖5),在高級選項卡可以寫mdx進行成員的選擇。在成員列列中選擇“australi”。
  
圖5
  8、 選擇“成員身份”選項卡,單擊“添加”,在彈出的對話框中輸入“jeffrey”(windows用戶),檢查名稱之后如圖6所示。
  
圖6
  9、完成上面的步驟之后,保存,部署就設置完成。
設置成功這后,客戶端軟件(reporting service,或proclarity )以jeffery用戶連上多維數據集,就只能訪問australi的數據如圖7。 
  
圖7
以jeffery用戶登陸,customer下的區域維度所有成員只有australi,成功的限制jeffery用戶只能訪問australi數據。
國內最大的酷站演示中心!新聞熱點
疑難解答