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

哥本哈士奇(aspnetx)發表於2014-05-01

簡介:

本文介紹如何配置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資料庫的:
    • 鑽取
    • 維度以及維度成員資料

 

 

相關文章