程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2005:如何在多維數據集中設置訪問權限

SQL Server 2005:如何在多維數據集中設置訪問權限

編輯:關於SqlServer


  對於采用 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數據。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved