物件和作業的存取權授權 (Analysis Services)
非系統管理使用者存取 Analysis Services 資料庫中的 Cube、維度和採礦模型,會透過一或多個資料庫角色的成員資格來授與。 Analysis Services 系統管理員會建立這些資料庫角色、授與 Analysis Services 物件的讀取或讀取/寫入權限,然後將 Microsoft Windows 使用者和群組指派給每個角色。
Analysis Services 藉由結合與使用者或群組所屬之每個資料庫角色相關聯的許可權,來判斷特定 Windows 使用者或群組的有效許可權。 因此,如果某個資料庫角色沒有授與使用者或群組檢視維度、量值或屬性的權限,但另一個資料庫角色有授與該使用者或群組該權限,則該使用者或群組將具有檢視該物件的權限。
重要
Analysis Services 伺服器管理員角色的成員,以及具有完全控制 (系統管理員) 許可權的資料庫角色成員,都可以存取資料庫中的所有資料和中繼資料,而且不需要其他許可權才能檢視特定物件。 此外,Analysis Services 伺服器角色的成員無法拒絕存取任何資料庫中的任何物件,而具有資料庫內完全控制 (系統管理員) 許可權的 Analysis Services 資料庫角色成員,也無法拒絕存取該資料庫內的任何物件。 特殊的系統管理作業 (例如處理) 可透過權限較少的個別角色來授權。 如需詳細資訊 ,請參閱 (Analysis Services) 授與進程許可權 。
列出為您的資料庫定義的角色
系統管理員可以在 SQL Server Management Studio 中執行簡單的 DMV 查詢,以取得伺服器上定義的所有角色清單。
在 SSMS 中,以滑鼠右鍵按一下資料庫,然後選取[新增查詢 | MDX]。
輸入下列查詢並按 F5 來執行:
Select * from $SYSTEM.DBSCHEMA_CATALOGS
結果包含資料庫名稱、描述、角色名稱及上次修改日期。 使用此資訊做為起點,您可以對個別的資料庫繼續執行,以檢查特定角色的成員資格與權限。
由上而下的 Analysis Services 授權概觀
本節涵蓋設定權限的基本工作流程。
步驟 1︰伺服器管理
第一個步驟是決定誰具有伺服器層級的系統管理員權限。 在安裝期間,安裝 SQL Server 的本機管理員需要指定一或多個 Windows 帳戶做為 Analysis Services 伺服器管理員。 伺服器管理員擁有伺服器上所有可能的權限,包含檢視、修改及刪除伺服器上的任何物件,或檢視相關聯資料的權限。 安裝完成後,伺服器管理員可以新增或移除帳戶來變更這個角色的成員資格。 如需此許可權等級的詳細資訊,請參閱 授與伺服器管理員許可權 (Analysis Services) 。
步驟 2︰資料庫管理
接著,在表格式或多維度方案建立後,就會將它部署到伺服器做為資料庫。 伺服器管理員可以透過為有問題的資料庫定義擁有完整控制權限的角色,來委派資料庫管理工作。 這個角色的成員可以處理或查詢資料庫中的物件,也可以建立其他角色來存取資料庫本身內的 Cube、維度和其他物件。 如需詳細資訊 ,請參閱 (Analysis Services) 授與資料庫許可權 。
步驟 3︰啟用查詢和處理工作負載的 Cube 或模型存取權
根據預設,只有伺服器和資料庫系統管理員可以存取 Cube 或表格式模型。 讓組織中的其他人員可以使用這些資料結構,需要其他角色指派來將 Windows 使用者和群組帳戶對應到 Cube 或模型,以及指定 Read
權限的權限。 如需詳細資訊 ,請參閱授與 Cube 或模型許可權 (Analysis Services) 。
處理工作可以和其他系統管理功能分開進行,因此,伺服器和資料庫系統管理員可將此工作委派給他人,或透過指定執行排程軟體的服務帳戶設定自動處理。 如需詳細資訊 ,請參閱 (Analysis Services) 授與進程許可權 。
注意
使用者不需要 Analysis Services 載入其資料之基礎關係資料庫中關聯式資料表的任何許可權,也不需要 Analysis Services 實例執行所在電腦上的任何檔案層級許可權。
步驟 4 (選擇性)︰允許或拒絕對內部 Cube 物件的存取
Analysis Services 提供安全性設定,以設定個別物件的許可權,包括資料模型中的維度成員和儲存格。 如需詳細資訊,請參閱 將維度資料的自訂存取權授與 analysis Services () ,以及授與 Analysis Services) 資料格 (資料的自訂存取權 。
您也可以根據使用者識別來變動權限。 這通常稱為動態安全性,並使用 UserName (MDX) 函式來實作
最佳做法
若要以更好的方式管理權限,建議使用如下的處理方式:
依功能建立角色 (例如,dbadmin、cubedeveloper、processadmin),如此一來,無論是誰維護角色,都能一眼就看出該角色所允許執行的功能。 如同其他內容所述,您可以在模型定義中定義角色,因而能夠透過後續的解決方案部署來保留這些角色。
在 Active Directory 中建立相對應的 Windows 安全性群組,然後在 Active Directory 中維護該安全性群組,以確保它會包含適當的個別帳戶。 這讓組織中已經精通用於帳戶維護之工具和處理程序的安全性專業人員肩負安全性群組成員資格的責任。
在 SQL Server Management Studio 中產生腳本,以便在模型從來源檔案重新部署至伺服器時,快速複寫角色指派。 如需如何快速產生腳本的詳細資訊 ,請參閱授與 Cube 或模型許可權 (Analysis Services) 。
採用可反映角色的範圍與成員資格的命名慣例。 只有在設計和系統管理工具中看得見角色名稱,因此,請使用讓 Cube 安全性專員可以理解的命名慣例。 例如, processadmin-windowsgroup1 表示要對組織中個別 Windows 使用者帳戶為 windowsgroup1 安全性群組成員的人員授與讀取存取權與處理權限。
包含帳戶資訊可協助您追蹤在各種不同角色中使用了哪些帳戶。 由於角色是加總的,因此與 windowsgroup1 相關聯的組合角色,能夠為隸屬於該安全性群組的人員組成有效的權限集。
Cube 開發人員需要開發中模型和資料庫的完整控制權限,但是一旦資料庫部署到實際執行伺服器後,便只需要讀取權限。 請記得為所有案例開發角色定義和指派項目,包括開發、測試及實際執行部署。
使用與此類似的方法能避免模型中的角色定義和角色成員資格紊亂,並為角色指派提供能見度,讓 Cube 權限在實作和維護上會更容易些。
另請參閱
授與伺服器管理員權限 (Analysis Services)
角色與權限 (Analysis Services)
Analysis Services 支援的驗證方法