[譯]SQL Server分析服務的權限配置


簡介:

本文介紹如何配置SSAS數據庫和cube相關維度的安全設置。

相對數據引擎來說,在Management Studio中配置分析服務的安全設置基本沒什么區別。但是也會有一些限制,比如SSAS的權限配置都是圍繞角色進行的,其次,角色的成員必須是基於windows或者ad環境的,SQL Server用戶(比如sa)是無法使用的。還有,權限是無法直接授予給windows或者ad用戶或者組的,這些用戶或者組必須填加到角色中才可以。另外,如果UAC處於打開的狀態,那么比如要以"Run as Administrator"管理員身份的方式來運行BIDS才可以使配置生效。

 

翻譯筆記:

此篇來自MSSQLTIPS,是我目前見過介紹的最全的一篇,一直以來就想寫一些關於SSAS安全方面的東西,於是就決定直接拿過來翻譯,原文地址:

http://www.mssqltips.com/sqlservertip/2776/configuring-permissions-for-sql-server-analysis-services/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=20140421

在翻譯的過程中,對於Cell Data部分由於沒有具體使用過,所以這部分是基本是直譯過來的。有興趣的朋友可以一起來研究探討下這部分的話題。

維度部分感覺原文所闡述的方式有點繞(最起碼我是這么理解),所以這部分我根據自己的理解直接寫,沒有直譯。

文中DWA的概念我也是頭一次看到,Data warehouse administrator,搞BI的兄弟們終於也可以有一個跟DBA一樣類似的稱謂了。

 

 

 

 

在安裝SQL Server的時候配置管理員權限:

配置SSAS安全的第一步是在安裝SQL Server的時候。在安裝SQL Server的過程當中,有些DBA或者DWA總是習慣一頓下一步。然而,在這個過程中的有些配置界面還是會影響到安裝的結果的。其中的一個步驟就是配置SSAS的管理員賬戶,這個賬戶被配置好了之后,配置其它用戶就不會顯得那么麻煩。SSAS的管理員賬戶將擁有完整的權限,包括所有的SSAS數據庫,多維數據集,維度等。

同樣在安裝完畢后,在SSMS里也可以填加其它的管理員賬戶。首先打開SSMS,連接到分析服務。

連接成功后,右鍵單擊分析服務實例,選擇屬性。

如下圖所示,點擊"安全"選項,在右側的界面就可以繼續填加其它管理員賬戶。

 

數據庫以及Cube層面的安全配置:

數據庫和Cube層面的配置可以在BIDS和Management Studio中進行,當然在BIDS中的話,如果項目是在版本管理工具中管理的話,需要留意每次部署都可能會覆蓋掉目標分析服務數據庫上的權限配置,這種情況下可以借助部署向導(詳細)來完成。所以這里建議在BIDS中進行配置,而且,無論在哪里配置,配置的方法是一樣的。

右鍵分析服務數據庫下的角色文件夾,選擇新角色:

如下圖所示,這里首先要配置角色的名稱,以及這個角色的描述信息(可選)。然后就是三個復選框角色這個角色的權限:

Full Control: 顧名思義,就是完全控制。差不多跟上面配置的管理員權限對這個分析服務數據庫的所有權限,也就是說這個角色的配置只局限在當前的分析服務數據庫,而不是所有的其它此分析服務實例下的數據庫。完全控制將賦予成員配置其它用戶的權限以及處理和維護數據庫,多維數據集以及維度的權限。

Process database: 這個權限允許成員處理分析服務數據庫以及跟它關聯的多維數據集和維度的信息。

Read definitions: 這個權限允許用戶讀取分析服務數據庫的元數據信息。然后,賦予這個權限不代表就擁有了其下的多維數據集或者維度的元數據信息,這個層面的權限控制將在后面討論。

通常來說,對於普通的瀏覽用戶是不需要勾選這三條權限的。

切換到成員選項卡,管理員可以在這里填加用戶或者組到這個角色中。請留意,SQL Server賬戶(比如sa)是無法填加到這里的。為了維護的方便,這里建議只填加組到角色中。

切換到數據源選項卡中,雖然看上去這里是配置數據源的訪問權限,除非角色是要在數據挖掘結構中處理數據或者鏈接外部數據,這里不建議做單獨的配置。

切換到多維數據集選項卡,這里將配置角色對於哪些多維數據集擁有訪問權限。對於多維數據集的配置主要有以下三項:

Access:

    None: 指定角色成員沒有訪問此cube的權限。

    Read: 指定角色有讀取多維數據集的權限,但是沒有回寫的權限。這是大多數配置所考慮的情況。

    Read/Write: 對應上一個選項,這個組的用戶擁有回寫權限。關於回寫可以參考這篇文章

Local Cube/Drillthrough Access

    None: 不授予鑽取或者本地cube創建的權限。

    Drill through: 授予角色的鑽取權限。(對應Cube下的Action選顯卡下的設置)

    Drill through and Local Cube: 授予鑽取以及本地cube創建的權限。

Process:

    指定角色是否可以處理指定的多維數據集。

需要注意的是,如果Access權限沒有賦予給角色,那么這個角色下的用戶是無法在客戶端工具中看到多維數據集的。

切換到單元數據,這里允許管理員設置角色的讀取,選擇性讀取以及讀寫權限。當每一個部分前面的復選框被選中之后,下面的MDX表達式才可用。

導航到維度選項卡,這里允許管理員配置維度級別的權限。首先,在維度層次上有兩個選項,讀取或者讀取讀取寫入。在維度選項卡的下一個選項卡是對維度數據的權限配置,比如,可以給銷售部門配置若干的角色,每個角色只允許訪問維度中對應的幾個成員數據。同時你可以選擇是通過勾選的方式來配置還是通過寫MDX表達式的方式來配置。

針對維度設置的一個細節,默認對維度成員的數據做限制之后,向上匯總的數據默認還是全部的數據。比如配置一個銷售角色組只能看到東區和南區的數字,但是向上匯總的時候能看到東南西北四個區的所有數據,這顯然不是我們需要的結果。這個時候就需要勾選界面下方的"Visual Totals"復選框,這樣向上匯總就只能看到配置好的東區和南區的數據(北區和西區的數字是不會被匯總的)。但有一點需要留意,就是勾選這個會降低性能。

 

結語:

同對組織數據的管理一樣,SSAS的安全管理也同樣重要。對於DBA或者DWA來說,通常我們需要快速准確地提供數據,同樣也有責任提供數據在安全以及權限上的控制,所以SSAS允許我們做如下的權限設置:

  • 誰是數據庫的管理員
  • 誰能處理數據庫,多維數據集或者維度
  • 誰能瀏覽多維數據集和維度的元數據信息
  • 誰能讀取SSAS數據庫的:
    • 鑽取
    • 維度以及維度成員數據

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM