將存取權授與物件和作業 (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 中維護安全性群組,以確保 Active Directory 會包含正確的個別帳戶。 這可以將安全性群組成員資格的責任,託付給您組織中的安全性專家,他們已很熟悉工具的使用及帳戶維護的程序。
在 SQL Server Management Studio 中產生指令碼,如此一來,當您從模型的來源檔案將模型重新部署到伺服器後,就可以快速複寫角色指派。 如需如何快速產生指令碼的詳細資料,請參閱<授與 Cube 或模型權限 (Analysis Services)>。
採用能夠反映角色的範圍和成員資格的命名慣例。 只有在設計工具或管理工具中才能看到角色名稱,所以請使用對您的 Cube 安全性專家而言具有意義的命名慣例。 例如,processadmin-windowsgroup1 表示對您組織中的人員 (其個別 Windows 使用者帳戶是 windowsgroup1 安全性群組的成員) 具有讀取權限和處理權限。
包含帳戶資訊可協助您追蹤各種角色中使用了哪些帳戶。 由於角色是附加的,所以與 windowsgroup1 相關的角色結合,可以針對屬於該安全性群組的人員完成有效的權限集合。
Cube 開發人員在開發時會需要模型和資料庫的完整控制權,然而,當資料庫轉出到實際執行伺服器後,便只需要讀取權限。 請記得為所有情況,包含開發、測試和實際執行部署等,開發角色定義及指派。
使用這樣的方式來減少模型中角色定義和角色成員資格的混淆,並為角色指派提供顯示性,讓實作及維護 Cube 權限變得更容易。
請參閱
工作
授與伺服器管理員權限 (Analysis Services)