Grafana Enterprise RBAC通过“自定义角色+权限+作用域”实现精细化控制:权限格式为resource:action(如dashboards:read),作用域限定生效范围(如folders:id:abc123),按钮显隐与操作均实时受权限驱动,配合文件夹隔离和URL参数可达成“看不见、点不了、调不通”的三层防护。

外包运维人员通常只需查看数据、响应告警,无需修改配置或导出原始数据。Grafana Enterprise 的 RBAC(Role-Based Access Control)正是为此类场景设计的——它允许你把“能点哪个按钮”“能看到哪块内容”精确到资源级和动作级,而不是简单地给个 Viewer 或 Editor 角色。
明确角色与权限粒度
Grafana Enterprise 的 RBAC 不再依赖全局角色(如 Viewer/Editor/Admin),而是通过“自定义角色 + 权限 + 作用域”三要素组合控制。关键在于:
-
权限格式统一为
resource:action,例如dashboards:read、dashboards:write、dashboards:delete、annotations:write、reports:create -
作用域(Scope)决定权限生效范围,比如限制在某个文件夹(
folders:id:abc123)、某类仪表盘(dashboards:uid:xyz789)或全部数据源(datasources:*:*) - 内置角色仅作起点,生产环境建议禁用默认角色分配,全部改用自定义角色绑定
收窄按钮可见性与可操作性
很多按钮是否显示、能否点击,由底层权限实时驱动。例如:
- “编辑仪表盘”按钮只在用户拥有
dashboards:write且作用域覆盖当前仪表盘时才出现 - “导出 CSV”按钮依赖
dashboards:export权限;若未授予,按钮不显示,API 调用也会被拒绝 - “添加注释”需
annotations:write;“创建快照”需dashboards:create-snapshot - 右上角“共享”按钮在 v11.3+ 中启用编辑模式后默认隐藏,但真正开关仍是
dashboards:share权限
按文件夹隔离+子文件夹细化管控
利用 v11.x 起正式 GA 的多级文件夹功能,可构建符合外包管理逻辑的结构:
- 一级文件夹命名如
【外包只读】生产监控,赋予外包角色dashboards:read+alerts:read+datasources:query,作用域限定为该文件夹及其所有子文件夹 - 在该文件夹内建子文件夹
网络设备、数据库指标,分别绑定不同数据源查询权限,避免越权访问其他系统数据源 - 禁止授予
folders:write或folders:manage,防止外包新建/移动/删除文件夹
URL 参数辅助界面精简(TV/Kiosk 场景)
若外包通过大屏或固定终端访问,可用 URL 参数进一步隐藏干扰项:
-
_dash.hideTimePicker=true:隐藏时间选择器(适合固定时段看板) -
_dash.hideVariables=true:隐藏变量下拉栏(避免误选非授权维度) -
_dash.hideLinks=true:隐藏仪表盘顶部链接(防止跳转到无权限页面) - 这些参数不替代权限,但配合 RBAC 可实现“看不见、点不了、调不通”的三层防护

















