問題:
在有些場景下,資料中心會分為不同的伺服器場:資料庫場和應用程式場。伺服器場間有嚴格的防火牆控制,其中資料庫場隻能建立從應用程式場的防火牆穿越,也就是說不允許任何用戶端直接連接配接到防火牆。
這種政策對于資料庫引擎來說沒什麼問題,但是對于分析服務來說就被完全限制住了,通常我們都是通過excel直接連接配接分析服務資料庫的,并且通過分析服務的角色來控制對資料的通路權限。那麼是否有什麼方法可以解決這個問題呢?
解決思路:
我們知道ssas是可以通過http的方式來通路的,那麼我們隻要讓這個站點接受windows方式的身份驗證就可以簡介的實作excel用戶端到分析服務資料庫的連接配接。
實驗環境:
windows 8.1 + iis
sql server 2012
adveuture works微軟官方示例資料庫,這裡用到的是分析服務資料庫。
實驗步驟:
首先,確定iis已經被填加,然後windows身份模式已經被安裝。

分别在作業系統下建立測試賬戶aaa和bbb依次填加到這兩個組中。
在分析服務資料庫下,建立兩個角色, team1和team2。
找到次元資料的設定,分别指定第一個角色擁有department次元下的前兩個成員,另一個角色擁有這個次元下的後三個成員。
填加完畢,确認兩個組都被填加到分析服務資料庫中。
接下來測試一下角色權限控制的結果,用管理者身份登入,可以看到department下的所有次元成員。
用aaa賬戶登入management studio(提示,按住shift右鍵單擊),可以看到其隸屬的team1角色隻能看到前兩個成員。
打開iis,配置站點,打開windows身份驗證模式。
浏覽資料,可以看到傳回的xml結果頁面。
用這個url位址連接配接分析服務,用aaa賬戶連接配接,可以看到通過http的方式識别出了目前用戶端的賬戶。
并且裡面的資料接受了分析服務資料庫的權限控制。
接下來在excel中實驗下,右鍵單擊excel.exe,選擇使用指定的賬戶運作。
資料賬戶aaa的資訊,使excel以這個身份運作。
在excel下建立透視表。
選擇連接配接到分析服務資料庫。
在伺服器名稱下輸入url。
選擇連接配接到adventure works多元資料集。在微軟的這個示例資料庫下,這個是最全的多元資料集,其它能看到的資料集實際上都是出自這個資料集的一個透視。
在excel的透視表下,拖拽department次元,可以看到已經接受了分析服務的角色權限控制。
儲存這個excel檔案,再用管理者帳号打開這個檔案,重新整理透視表,可以看到根據分析服務資料庫的權限設定,傳回了department下的全部次元成員資料。
結論:
通過http的方式連接配接到分析服務資料庫,可以看到通過站點的windows身份驗證模式,是可以接受分析服務資料庫的角色權限控制的。通過這種方法,就可以通過應用程式伺服器間接的實作對于伺服器場中的分析服務資料庫的通路,并且跟直接連接配接到分析服務資料庫的效果是一樣的。