授權存取物件和作業 (Analysis Services)
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
非系統管理使用者存取 SQL Server Analysis Services 資料庫中的 Cube、維度和採礦模型,是透過一或多個資料庫角色的成員資格來授與。 SQL Server Analysis Services 系統管理員會建立這些資料庫角色、授與 SQL Server Analysis Services 對象的讀取或讀取/寫入許可權,然後將Microsoft Windows 使用者和群組指派給每個角色。
SQL Server Analysis Services 會結合與使用者或群組所屬每個資料庫角色相關聯的許可權,來決定特定 Windows 使用者或群組的有效許可權。 因此,如果一個資料庫角色沒有授與使用者或群組檢視維度、量值或屬性的許可權,但不同的資料庫角色會授與該使用者或群組許可權,則使用者或群組將有權檢視物件。
重要
SQL Server Analysis Services 伺服器管理員角色的成員和具有完整控制(系統管理員)許可權的資料庫角色成員可以存取資料庫中的所有數據和元數據,而且不需要其他許可權即可檢視特定物件。 此外,SQL Server Analysis Services 伺服器角色的成員無法拒絕存取任何資料庫中的任何物件,而且資料庫內具有完全控制(系統管理員)許可權的 SQL Server 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 或模型,以及指定 讀取 許可權的許可權。 如需詳細資訊,請參閱 授與 Cube 或模型許可權 (Analysis Services)。
處理工作可以與其他系統管理功能隔離,讓伺服器和資料庫管理員將這項工作委派給其他人,或藉由指定執行排程軟體的服務帳戶來設定自動處理。 如需詳細資訊,請參閱 授與進程許可權 (Analysis Services)。
注意
使用者不需要 SQL Server Analysis Services 載入其數據之基礎關係資料庫中關係型數據表的任何許可權,而且不需要執行 SQL Server Analysis Services 實例之電腦上的任何檔案層級許可權。
步驟 4 (選擇性):允許或拒絕存取內部 Cube 物件
SQL Server 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 支援的