-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
analysisdashboardenhancementNew feature or requestNew feature or requestetlETL moduleETL modulein-progressWork currently in progressWork currently in progresssecuritySecurity relatedSecurity related
Description
問題描述
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
- security(dashboard): AnalysisWidgetDataSource bypasses Analysis RBAC checks #529(Dashboard → Analysis RBAC bypass)
- bug(dashboard): RBAC uses RoleCode while Analysis uses RoleName — inconsistency and security risk #530(RoleCode vs RoleName 不一致)
Priority: P1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
analysisdashboardenhancementNew feature or requestNew feature or requestetlETL moduleETL modulein-progressWork currently in progressWork currently in progresssecuritySecurity relatedSecurity related