共用方式為


授權存取物件及操作 (分析服務)

在 Analysis Services 資料庫中,多維資料集、維度和資料挖掘模型的非管理員使用者訪問權限,是通過加入一個或多個資料庫角色來授予的。 Analysis Services 系統管理員會建立這些資料庫角色、授與 Analysis Services 物件的讀取或讀取/寫入許可權,然後將Microsoft Windows 使用者和群組指派給每個角色。

Analysis Services 會結合與使用者或群組所屬每個資料庫角色相關聯的許可權,來判斷特定 Windows 使用者或群組的有效許可權。 因此,如果一個資料庫角色沒有授與使用者或群組檢視維度、量值或屬性的許可權,但不同的資料庫角色會授與該使用者或群組許可權,則使用者或群組將有權檢視物件。

這很重要

Analysis Services 伺服器管理員角色的成員和具有完整控制(系統管理員)許可權的資料庫角色成員可以存取資料庫中的所有數據和元數據,而且不需要其他許可權才能檢視特定物件。 此外,Analysis Services 伺服器角色的成員不能被拒絕存取任何資料庫中的任何物件,而 Analysis Services 資料庫角色的成員若在資料庫內具有完整控制(系統管理員)許可權,也不能被拒絕存取該資料庫內的任何物件。 特殊管理作業,例如處理,可以透過具有較少許可權的不同角色來授權。 如需詳細資訊,請參閱授予處理權限(Analysis Services)。

列出為資料庫定義的角色

系統管理員可以在 SQL Server Management Studio 中執行簡單的 DMV 查詢,以取得伺服器上定義的所有角色清單。

  1. 在 SSMS 中,以滑鼠右鍵按兩下資料庫,然後選取 [新增查詢 | MDX]。

  2. 輸入下列查詢,然後按 F5 來執行:

    Select * from $SYSTEM.DBSCHEMA_CATALOGS  
    

    結果包括資料庫名稱、描述、角色名稱和上次修改日期。 根據這項資訊,您可以進一步進入各個資料庫,以檢查特定角色的成員資格和許可權。

Analysis Services 授權的由上而下概觀

本節涵蓋設定許可權的基本工作流程。

步驟 1:伺服器管理

在第一個步驟中,決定誰將在伺服器層級擁有系統管理員許可權。 在安裝過程中,本機系統管理員必須指定一個或多個 Windows 帳戶作為 Analysis Services 伺服器管理員,才能安裝 SQL Server。 伺服器管理員在伺服器上具有所有可能的許可權,包括檢視、修改和刪除伺服器上任何對象的許可權,或檢視相關聯的數據。 安裝完成之後,伺服器管理員可以新增或移除帳戶,以變更此角色的成員資格。 如需此許可權等級的詳細資訊 ,請參閱授與伺服器管理員許可權 (Analysis Services )。

步驟 2:資料庫管理

接下來,在建立表格式或多維度解決方案之後,它會部署至伺服器做為資料庫。 伺服器管理員可以藉由定義具有有關資料庫完全控制許可權的角色來委派資料庫管理工作。 此角色的成員可以處理或查詢資料庫中的物件,以及建立其他角色來存取資料庫本身內的 Cube、維度和其他物件。 如需詳細資訊,請參閱授與資料庫許可權 (Analysis Services)。

步驟 3:啟用用於查詢和處理工作負載的 Cube 或模型存取

根據預設,只有伺服器和資料庫管理員可以存取 Cube 或表格式模型。 讓組織中的其他人可以使用這些數據結構,需要額外的角色指派,將 Windows 使用者和群組帳戶映射至 Cube 或模型,並指定获得的許可權。 如需詳細資訊,請參閱授與 Cube 或模型許可權 (Analysis Services)

處理工作可以與其他系統管理功能隔離,讓伺服器和資料庫管理員將這項工作委派給其他人,或藉由指定執行排程軟體的服務帳戶來設定自動處理。 如需詳細資訊,請參閱 授予進程權限(Analysis Services)

備註

使用者不需要 Analysis Services 載入其數據之基礎關係資料庫中關係型數據表的任何許可權,也不需要 Analysis Services 實例執行所在的電腦上的任何檔案層級許可權。

步驟 4 (選擇性):允許或拒絕存取內部 Cube 物件

Analysis Services 提供安全性設定來設定個別對象的許可權,包括數據模型中的維度成員和單元格。 如需詳細資訊,請參閱授予維度資料的自訂存取權(Analysis Services)授予儲存格資料的自訂存取權(Analysis Services)。

您也可以根據使用者身分識別來變更許可權。 這通常稱為動態安全性,並使用 UserName (MDX) 函式來實作

最佳做法

為了更妥善地管理許可權,我們建議使用類似下列的方法:

  1. 依功能建立角色(例如 dbadmin、cubedeveloper、processadmin),以便維護角色的人員能一目了然地了解每個角色的許可。 如其他地方所述,您可以在模型定義中定義角色,從而在後續的解決方案部署上保留這些角色。

  2. 在 Active Directory 中建立對應的 Windows 安全組,然後維護 Active Directory 中的安全組,以確保其包含適當的個別帳戶。 這會將安全組成員資格的責任放在安全性專家身上,這些專家已經熟悉組織中用於帳戶維護的工具和程式。

  3. 在 SQL Server Management Studio 中產生腳本,以便在模型從來源檔案重新部署至伺服器時,快速復寫角色指派。 如需如何快速產生腳本的詳細資訊 ,請參閱授與 Cube 或模型許可權 (Analysis Services )。

  4. 採用反映角色範圍和成員資格的命名慣例。 角色名稱只能在設計和管理工具中看到,因此請使用對 Cube 安全性專家有意義的命名慣例。 例如,processadmin-windowsgroup1 表示讀取權限以及處理權限,提供給組織中那些 Windows 個人用戶帳戶屬於 windowsgroup1 安全群組成員的人員。

    包含帳戶資訊可協助您追蹤哪些帳戶用於各種角色。 由於角色是加總的,因此與 windowsgroup1 相關聯的合併角色會組成屬於該安全組的人員的有效許可權集合。

  5. Cube 開發人員需要開發中模型和資料庫的完整控制許可權,但只有在資料庫推出至生產伺服器之後,才需要讀取許可權。 請記得針對所有案例開發角色定義和指派,包括開發、測試和生產部署。

使用這類方法可將模型中的角色定義和角色成員資格變換降到最低,並提供角色指派的可見度,讓 Cube 許可權更容易實作和維護。

另請參閱

授與伺服器管理員許可權 (Analysis Services)
角色和許可權 (Analysis Services)
Analysis Services 支援的驗證方法