help wanted
Repository metrics
- Stars
- (13,061 stars)
- PR merge metrics
- (PR metrics pending)
Description
Question and Steps to reproduce
夜莺的角色权限管理对于数据查询似乎只在前端做了控制,未对后端API进行权限控制。 复现过程: 1.在角色管理界面,调整标准用户权限,只保留仪表盘查看功能。
2.登录该角色的普通用户账户,数据查询处,“指标”和“日志”功能菜单已消失。
3.使用url路径直接访问指标查询/metric/explorer,会报403,逻辑正常。
4.但此时,用户通过“告警-历史告警”功能处,随便点击任一历史告警,查看告警详情,点击PromQL查询按钮,可成功跳转到指标查询页面。
5.此时可任意执行数据查询命令,不再会被拦截。
6.按F12调试可知,应该是 /api/n9e/proxy/1/api/v1/query_range /api/n9e/proxy/1/api/v1/query 接口未同步进行权限控制。
修改建议: 1.后端数据查询的API接口也增加角色鉴权?
其他建议: 除了菜单权限控制,是否考虑做数据源权限控制?一个平台接入多个数据源,希望实现查询界面的数据源可进行单独授权,A数据源授权给A用户,B数据源授权给B团队。
Relevant logs and configurations
以上
Version
n9e : v8.3.1 linux: centos7.9 docker: 26.1.4