权限矩阵
每个权限点、哪些内置角色持有它、它守着哪个菜单或 API。
权限点是夜莺权限模型的第一层。第二层是业务组成员关系,两层是 AND 关系:
能改这条告警规则 = 角色里有「改告警规则」这个权限点
且
我所在的某个团队,对这条规则所属的业务组有读写权
模型本身见认证与权限模型,这页只是查表用的清单。
三个内置角色
| 角色 | 覆盖范围 |
|---|---|
Admin | 跳过权限校验,所有权限点都视为持有,也不受业务组成员关系限制 |
Standard | 日常使用者。持有绝大多数权限点 |
Guest | 只读旁观者。只有查询类的十几个权限点 |
自定义角色在 人员组织 → 角色管理 里建,勾选需要的权限点即可。
一个用户可以同时持有多个角色,权限取并集。
清单
带「只用于菜单可见性」的权限点不守任何接口——它只决定侧栏里那一项显不显示, 后端不会因为缺它而拒绝请求。真正的门禁是那些列了接口的。
共 96 个权限点。Admin 角色不在这张表里——它在代码里直接跳过权限校验,
所有权限点都视为持有,并且不受业务组成员关系限制。
权限点只是第一层。能不能操作某条具体数据,还要看你所在的团队对那条数据所属的 业务组有没有读写权——两层是 AND 关系。
| 权限点 | Standard | Guest | 守着的接口 |
|---|---|---|---|
/ai-config/llm-configs | GET /ai-llm-configsGET /ai-llm-config/:idPOST /ai-llm-configsPUT /ai-llm-config/:idDELETE /ai-llm-config/:idPOST /ai-llm-config/test | ||
/ai-config/skills | GET /ai-skillsGET /ai-skill/:idPOST /ai-skillsPUT /ai-skill/:idDELETE /ai-skill/:idPOST /ai-skills/importPUT /ai-skill/:id/importPOST /ai-skills/git/installPUT /ai-skill/:id/git/installPOST /ai-skill/:id/git/updateGET /ai-skill-file/:fileIdDELETE /ai-skill-file/:fileId | ||
/alert-cur-events | ✅ | (只用于菜单可见性) | |
/alert-cur-events/del | ✅ | DELETE /alert-cur-events | |
/alert-his-events | ✅ | (只用于菜单可见性) | |
/alert-mutes | ✅ | GET /busi-groups/alert-mutesGET /busi-group/:id/alert-mutesGET /busi-group/:id/alert-mute/:amid | |
/alert-mutes/add | ✅ | POST /busi-group/:id/alert-mutes/previewPOST /busi-group/:id/alert-mutesPOST /alert-mute-tryrun | |
/alert-mutes/del | ✅ | DELETE /busi-group/:id/alert-mutes | |
/alert-mutes/put | PUT /busi-group/:id/alert-mute/:amidPUT /busi-group/:id/alert-mutes/fields | ||
/alert-rules | ✅ | GET /busi-groups/alert-rulesGET /busi-group/:id/alert-rulesGET /alert-rule/:aridGET /alert-rule/:arid/pureGET /alert-rule/:arid/eval-records | |
/alert-rules-built-in | ✅ | (只用于菜单可见性) | |
/alert-rules/add | ✅ | POST /busi-group/:id/alert-rulesPOST /busi-group/:id/alert-rules/importPOST /busi-group/:id/alert-rules/clonePOST /busi-groups/alert-rules/clonesPOST /busi-group/alert-rules/notify-tryrunPOST /busi-group/alert-rules/enable-tryrunPOST /busi-group/:id/alert-rule/test-fire | |
/alert-rules/del | ✅ | DELETE /busi-group/:id/alert-rules | |
/alert-rules/put | ✅ | PUT /busi-group/:id/alert-rules/fieldsPUT /busi-group/:id/alert-rule/:aridPUT /busi-group/alert-rule/validate | |
/alert-subscribes | ✅ | GET /busi-groups/alert-subscribesGET /busi-group/:id/alert-subscribesGET /alert-subscribe/:sid | |
/alert-subscribes/add | ✅ | POST /busi-group/:id/alert-subscribesPOST /alert-subscribe/alert-subscribes-tryrun | |
/alert-subscribes/del | ✅ | DELETE /busi-group/:id/alert-subscribes | |
/alert-subscribes/put | ✅ | PUT /busi-group/:id/alert-subscribes | |
/builtin-metrics/add | POST /builtin-metrics | ||
/builtin-metrics/del | DELETE /builtin-metrics | ||
/builtin-metrics/put | PUT /builtin-metrics | ||
/busi-groups | ✅ | (只用于菜单可见性) | |
/busi-groups/add | ✅ | POST /busi-groups | |
/busi-groups/del | ✅ | DELETE /busi-group/:id | |
/busi-groups/put | ✅ | PUT /busi-group/:idPOST /busi-group/:id/membersDELETE /busi-group/:id/members | |
/components/add | POST /builtin-componentsPOST /builtin-payloads | ||
/components/del | DELETE /builtin-componentsDELETE /builtin-payloads | ||
/components/put | PUT /builtin-componentsPUT /builtin-payloads | ||
/dashboards | ✅ | GET /busi-groups/public-boardsGET /busi-groups/boardsGET /busi-group/:id/boards | |
/dashboards-built-in | ✅ | (只用于菜单可见性) | |
/dashboards/add | ✅ | POST /busi-group/:id/boardsPOST /busi-group/:id/board/:bid/clonePOST /busi-groups/boards/clones | |
/dashboards/del | ✅ | DELETE /boardsDELETE /dashboard-annotation/:id | |
/dashboards/put | ✅ | PUT /board/:bidPUT /board/:bid/configsPUT /board/:bid/publicPOST /dashboard-annotationsPUT /dashboard-annotation/:id | |
/embedded-dashboards | GET /embedded-dashboards | ||
/embedded-dashboards/put | PUT /embedded-dashboards | ||
/embedded-product/add | POST /embedded-product | ||
/embedded-product/delete | DELETE /embedded-product/:id | ||
/embedded-product/put | PUT /embedded-products/weightsPUT /embedded-product/:id/hidePUT /embedded-product/:id | ||
/event-pipelines | GET /event-pipelinesGET /event-pipeline/:idPOST /event-pipeline-tryrunPOST /event-processor-tryrunPOST /event-pipeline/:id/triggerPOST /event-pipeline/:id/streamGET /event-pipeline-executionsGET /event-pipeline/:id/executionsGET /event-pipeline/:id/execution/:exec_idGET /event-pipeline-execution/:exec_idGET /event-pipeline/:id/execution-stats | ||
/event-pipelines/add | POST /event-pipeline | ||
/event-pipelines/del | DELETE /event-pipelines | ||
/event-pipelines/put | PUT /event-pipelinePUT /event-pipelines/disabled | ||
/help/contact | ✅ | ✅ | (只用于菜单可见性) |
/help/migrate | ✅ | (只用于菜单可见性) | |
/help/notification-settings | GET /notify-scriptGET /notify-channelGET /notify-config | ||
/help/servers | ✅ | (只用于菜单可见性) | |
/help/version | ✅ | ✅ | (只用于菜单可见性) |
/job-tasks | ✅ | GET /busi-groups/tasksGET /busi-group/:id/tasks | |
/job-tasks/add | ✅ | POST /busi-group/:id/tasks | |
/job-tasks/put | ✅ | (只用于菜单可见性) | |
/job-tpls | ✅ | GET /busi-groups/task-tplsGET /busi-group/:id/task-tplsGET /busi-group/:id/task-tpl/:tid | |
/job-tpls/add | ✅ | POST /busi-group/:id/task-tpls | |
/job-tpls/del | ✅ | DELETE /busi-group/:id/task-tpl/:tid | |
/job-tpls/put | ✅ | POST /busi-group/:id/task-tpls/tagsDELETE /busi-group/:id/task-tpls/tagsPUT /busi-group/:id/task-tpl/:tid | |
/log/explorer | ✅ | ✅ | (只用于菜单可见性) |
/log/index-patterns/add | POST /es-index-pattern | ||
/log/index-patterns/del | DELETE /es-index-pattern | ||
/log/index-patterns/put | PUT /es-index-patternPUT /es-index-patterns/weights | ||
/metric/explorer | ✅ | ✅ | (只用于菜单可见性) |
/notification-channels | GET /notify-channel-config/:idGET /notify-channel-configsPOST /feishu-visible-chats/:idPOST /dingtalk-group-list/:id | ||
/notification-channels/add | POST /notify-channel-configsPOST /notify-channel-config/test | ||
/notification-channels/del | DELETE /notify-channel-configs | ||
/notification-channels/put | PUT /notify-channel-config/:id | ||
/notification-rules | GET /notify-rule/:idGET /notify-rulesPOST /notify-rule/testGET /notify-rule/custom-params | ||
/notification-rules/add | POST /notify-rulesPOST /notify-rule/event-pipelines-tryrun | ||
/notification-rules/del | DELETE /notify-rules | ||
/notification-rules/put | PUT /notify-rule/:id | ||
/notification-templates | GET /message-template/:id | ||
/notification-templates/add | POST /message-templates | ||
/notification-templates/del | DELETE /message-templates | ||
/notification-templates/put | PUT /message-template/:id | ||
/object/explorer | ✅ | ✅ | (只用于菜单可见性) |
/recording-rules | ✅ | GET /busi-groups/recording-rulesGET /busi-group/:id/recording-rulesGET /recording-rule/:rridPUT /recording-rule/:rrid | |
/recording-rules/add | ✅ | POST /busi-group/:id/recording-rules | |
/recording-rules/del | ✅ | DELETE /busi-group/:id/recording-rules | |
/recording-rules/put | ✅ | PUT /busi-group/:id/recording-rules/fields | |
/roles | GET /role/:id/ops | ||
/roles/add | POST /roles | ||
/roles/del | DELETE /role/:id | ||
/roles/put | PUT /rolesPUT /role/:id/ops | ||
/system/alerting-engines | GET /servers | ||
/system/variable-settings | GET /user-variable-configsPOST /user-variable-configPUT /user-variable-config/:idDELETE /user-variable-config/:id | ||
/targets | ✅ | (只用于菜单可见性) | |
/targets/add | ✅ | (只用于菜单可见性) | |
/targets/del | ✅ | DELETE /targets | |
/targets/put | ✅ | POST /targets/tagsDELETE /targets/tagsPUT /targets/notePUT /targets/bgids | |
/trace/dependencies | ✅ | (只用于菜单可见性) | |
/trace/explorer | ✅ | ✅ | (只用于菜单可见性) |
/user-groups | ✅ | (只用于菜单可见性) | |
/user-groups/add | ✅ | POST /user-groups | |
/user-groups/del | ✅ | DELETE /user-group/:id | |
/user-groups/put | ✅ | PUT /user-group/:idPOST /user-group/:id/membersDELETE /user-group/:id/members | |
/users | ✅ | GET /users | |
/users/add | POST /users | ||
/users/del | DELETE /user/:id | ||
/users/put | PUT /user/:id/profilePUT /user/:id/password |