You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导出Grafana仪表盘JSON权限未保存,如何通过Helm配置权限?

问题解答

需求可实现

Grafana导出的仪表盘JSON确实不会包含权限配置——这是默认设计,因为权限属于Grafana实例的全局配置,而非仪表盘本身的内容。但给每个仪表盘单独分配权限的需求完全可以实现,且不止Web界面和API两种方式。

可用的权限分配方式

1. Web界面手动配置

适合少量仪表盘的场景:

  • 打开目标仪表盘,点击右上角「设置」图标
  • 进入「权限」标签页,点击「添加权限」
  • 选择用户/组/角色,分配「查看」或「编辑」权限即可

2. API批量操作

适合需要批量配置大量仪表盘的场景,使用Grafana的Dashboard Permissions API:

  • 先获取目标仪表盘的uid(可通过Web界面仪表盘设置页查看,或调用/api/search接口批量获取)
  • 发送POST请求到/api/dashboards/uid/{dashboard_uid}/permissions,请求体示例:
{
  "items": [
    {
      "role": "Viewer",
      "permission": 1,
      "scope": "global"
    },
    {
      "userId": 123,
      "permission": 2,
      "scope": "user"
    },
    {
      "groupId": 456,
      "permission": 2,
      "scope": "team"
    }
  ]
}

参数说明:

  • permission: 1=查看权限,2=编辑权限
  • scope: global对应角色,user对应用户,team对应组

3. Helm部署场景下的Provisioning配置(推荐)

既然你用Helm部署Grafana,可以通过预配置provisioning文件的方式,在部署阶段就批量设置仪表盘权限:

方式A:直接在Helm values.yaml中配置

grafana:
  provisioning:
    permissions:
      - name: "dashboard-perms"
        type: "dashboards"
        options:
          permissions:
            # 给指定仪表盘配置权限
            - dashboardUid: "your-dashboard-uid-1"
              roles:
                - role: "Viewer"
                  permission: 1
              teams:
                - id: 1001
                  permission: 2
            - dashboardUid: "your-dashboard-uid-2"
              users:
                - id: 2001
                  permission: 2

方式B:挂载独立的provisioning文件

创建权限配置文件(比如dashboard-permissions.yaml):

apiVersion: 1
permissions:
  - dashboardUid: "your-dashboard-uid"
    users:
      - id: 2001
        permission: 2
    teams:
      - id: 1001
        permission: 1
    roles:
      - role: "Viewer"
        permission: 1

然后在Helm values.yaml中配置挂载:

grafana:
  extraVolumeMounts:
    - name: dashboard-permissions
      mountPath: /etc/grafana/provisioning/permissions/
  extraVolumes:
    - name: dashboard-permissions
      configMap:
        name: grafana-dashboard-perms

将配置文件存入ConfigMap后,Helm部署时会自动加载这些权限配置。

注意事项

  • 配置权限时必须使用仪表盘的uid(而非名称),否则配置不会生效
  • 使用Provisioning方式时,用户/组的ID需要提前在Grafana中创建完成(如果是LDAP/OAuth同步的用户/组,要确保ID匹配)
  • Provisioning配置会覆盖仪表盘的已有权限,若需要增量添加,建议用API操作

内容的提问来源于stack exchange,提问作者agallende

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:17:40