首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server Analysis Services (SSAS) 權限配置全攻略:角色、維度數據安全、單元格數據與部署最佳實踐

     編輯:關於SqlServer

SSAS 安全模型核心原則

  • 權限僅通過角色授予,無法直接授予用戶/組
  • 角色成員必須是 Windows/AD 身份,SQL 登錄 (如 sa) 不支持
  • 權限層級:服務器角色 (管理員) → 數據庫角色 → 維度/單元格數據
  • UAC 開啟時,BIDS/SSDT 需「以管理員身份運行」配置才生效

安裝階段:配置 SSAS 管理員

安裝精靈「Analysis Services 配置」頁面,添加 Windows 用戶/組為管理員。此賬戶擁有所有 SSAS 數據庫、Cube、維度的完全控制權。

三大權限層級配置

1. 數據庫角色 (Database Roles)

-- SSMS 連接 SSAS 實例 → 數據庫 → 角色 → 新建角色
-- 權限頁簽:完全控制 / 讀取定義 / 讀取 / 寫入 / 管理
  • 完全控制:結構修改、處理、權限管理
  • 讀取定義:瀏覽元數據、不看數據
  • 讀取:查詢 Cube 數據
  • 寫入:回寫分區啟用時允許數據修改

2. 維度數據安全 (Dimension Data Security)

限制角色成員僅能看到特定維度成員(如:銷售區域經理只看自己區域)。

-- 角色 → 維度數據 → 選擇維度 (如 Geography)
-- 勾選「啟用」→ 選擇「允許的成員集合」或「拒絕的成員集合」
-- 使用 MDX 表達式動態過濾:
-- { [Geography].[Region].&[North] }  -- 靜態集合
-- StrToSet('[Geography].[Region].[' + Username() + ']')  -- 動態按登錄用戶

3. 單元格數據安全 (Cell Data Security)

細粒度控制到度量值單元格(如:薪資度量值僅 HR 角色可見)。

-- 角色 → 單元格數據 → 新建
-- MDX 表達式:[Measures].[Salary] > 0  -- 允許條件
-- 或拒絕:NOT IsMember([HR].[User].CurrentMember, [HR].[User].[Admin])

透視與部署

  • 透視:為角色定義可見的 Cube 子集(隱藏敏感度量值/維度)
  • 部署:SSDT 中設置 `Deployment Target`,生產環境建議腳本化部署 (XMLA)

最佳實踐檢查清單

  1. 安裝時正確配置 SSAS 管理員組
  2. 2. 採用「最小權限原則」創建業務角色 3. 維度安全優先用「允許集合」,避免「拒絕集合」維護地獄 4. 單元格安全慎用(性能影響大),優先考慮透視隱藏敏感度量值 5. 定期審計角色成員與權限矩陣 6. 文檔化:角色 → 權限 → 維度過濾 → 成員映射關係表

安裝配置 SSAS 管理員

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved