Skip to content

refactor: unify RBAC mechanism across Analysis, Dashboard, and ETL modules #536

@cct08311github

Description

@cct08311github

問題描述

Analysis、Dashboard、ETL 三個模組各自實作了不同的 RBAC 機制:

模組 RBAC 方式 角色識別
Analysis [AllRights] + EnableAnalysisAttribute.AllowedRoles + IAnalysisFieldPolicy RoleName
Dashboard [AllRights] + DashboardDefinition.Sharing.Roles RoleCode
ETL WTM 標準 [ActionDescription] + PrivilegeFilter 功能權限

三套機制語義不同、擴充方式不同,增加維護成本和安全審計難度。特別是 RoleCode vs RoleName 的不一致(詳見 #530)是直接的安全風險。

預期行為

  • 定義統一的角色識別欄位(建議 RoleCode)供三個模組使用
  • 至少對齊 Analysis 和 Dashboard 的角色識別方式
  • 文件清楚說明每個模組的 RBAC 層次和配置方式,降低開發者誤用機率

影響範圍

  • 對象:框架維護者和所有使用 WTM 的開發者
  • 後果:新增模組或調整權限時需理解三套不同機制,容易遺漏,安全審計困難
  • 嚴重度:P1

相關 Issues

Priority: P1

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions