Grafana: [功能请求] 扩展组织模型以包括用户和仪表板(子)组

创建于 2016-05-03  ·  3评论  ·  资料来源: grafana/grafana

背景

数据源:InfluxDB,可能是用于不经常更改数据的 PostgreSQL。

此功能请求是以下讨论的一般扩展:

2132、#2777、#1611

它基于我于2016raintank.slack.comgrafana频道中创建的 slack 帖子: Grafana Cloud Hosting Best Practices

对于好奇:
要了解什么是离网或混合系统,请查看此非常易于访问的文档:

基于可再生能源的混合动力系统(来源:农村电气化联盟

挑战

下面是我最复杂的 Grafana 用例之一的示例。

├── Off-Grid manufacturer 1
│   └── Technical staff
│   └── Finance staff
│   └── Investors
│   └── Public (i.e. demo dashboards)
│   │
│   └── Plant hire company 1.1
│   │   ├── Finance staff
│   │   ├── Technical staff
│   │   └── Investors
│   │   └── Public (i.e. demo dashboards)
│   │   │
│   │   └── Building company 1.1.1
│   │   │   ├── Technical staff
│   │   │   ├── Finance staff
│   │   │   └── Investors
│   │   │   └── Public (i.e. demo dashboards)
│   │   .
│   │   .
│   │   └── Building company 1.1.n
│   .
│   .
│   └── Plant hire company 1.n
.
.
└── Off-Grid manufacturer n

请注意,我不仅需要处理多个组织,还需要处理更深几层的多个组织。

Off-Grid manufacturer 1有 5 个不同的用户组,即:

• 技术人员
• 财务人员
• 投资者
• 民众
• 客户(即植物租赁公司;本质上是一个子组织)

这些组中的每一个在数据可视化方面都有截然不同的需求,能够设置适用于每个组的默认仪表板会很棒。 一些团体,比如技术人员,我想授予完全访问权限来创建他们自己的仪表板并能够绘制任何图形。 我想完全锁定公共组,而其他所有组都介于这两个极端之间。 我不希望团队干预或访问彼此的仪表板或数据源。

Off-Grid manufacturer 1需要能够访问其下所有公司的所有数据,而Plant hire company 1.1需要能够访问其下所有公司但不能访问其他工厂员工的数据与自身或任何高于自身的组织处于同一级别的公司。

我知道一个有点极端的例子,但这是我的现实!

功能请求

为了简化仪表板访问,最好在组织内拥有用户组和仪表板组,并且能够为每个用户或用户组授予对仪表板的查看/编辑权限。 能够为特定组内的某些用户分配管理员角色的子组(或子组织)也将派上用场😈

如果你必须画一个单一的组织,它看起来像这样:

users     :  u1   u2    u3   u4   u5 |
              \ /    \ /     /   /   |
               |      |     /   /    |
user      :   ug1    ug2   /   /     |
groups    :    |   /  |   /   /      |
               |  /   |  /   /       |>- organisation
               | /    | /   /        |
dashboard :   dg1    dg2   /         |
groups    :    |      |   /          |
              / \    / \ /           |
dashboards:  d1 d2  d3 d4            |
                                   --

笔记:

  • 用户 1 ( u1 ),通过用户组 1 ( ug1 ),只能访问仪表板 1 & 2 ( d1 & d2 )。
  • 用户 2 ( u2 ) 属于两个用户组,因此可以访问所有 4 个仪表板。
  • 属于用户组 2 ( ug2 ) 的任何用户都可以访问两个仪表板组,因此也可以访问所有 4 个仪表板。
  • 用户 4 ( u4 ) 直接属于仪表板组 2 ( dg2 ),而不是通过用户组。
  • 用户 5 ( u5 ) 仅具有查看仪表板 4 ( d4 ) 的权限。 据我了解,这是组织内当前的许可模式吗?

具有多个子组织的组织将如下所示:

                                  | sub-users     :  su1 su2  su3 su4
                                  |                    \ /     \ /  
                                  |                     |       |   
             sub-organisation 1 -<| sub-user      :    sug1    sug2 
            /                     | groups        :     |  \    |   
organisation                      |                     |   \   |   
            \                     |                     |    \  |  
     sub-organisation 2           | sub-dashboard :    sdg1    sdg2  
                                  | groups        :     |       |   
                                  |                    / \     /  \  
                                  | sub-dashboards:  sd1   sd2    sd3
                                   --

笔记:

  • 子仪表板 2 ( sd2 ) 属于两个子仪表板组,因此可供所有 4 个用户访问。
  • sub-organisation 1不能访问属于sub-organisation 2任何数据或属于organisation ,除了它自己的数据。

现实生活场景

这是一个使用场景,描绘了我如何设想在现实中工作:

我有一个客户Off-Grid manufacturer 1 ,他为工厂租赁公司建造和销售离网系统,而工厂租赁公司又将这些系统出租给需要在其建筑工地供电的建筑公司(注意:4 个组织级别)。

Off-Grid manufacturer 1获得了一个新客户Plant hire company 1.2 ,该客户希望监控他们从Off-Grid manufacturer 1购买的所有离网系统。 Plant hire company 1.2有两个客户Building companies 1.2.1 & 1.2.2 ,他们想要管理自己的用户访问权限。

Off-Grid manufacturer 1为每个离网系统创建了一套标准的仪表板,他们希望让所有客户都可以访问这些仪表板。

管理组织示例:

  • 我创建了一个名为Off-Grid manufacturer 1的新组织
  • 我在该组织内创建了一个用户并授予他们管理员权限。

    管理组示例:

  • Off-Grid manufacturer 1组织的管理员用户创建了 2 个仪表板。

    • 仪表板 1:显示会计师的敏感财务数据
    • 仪表板 2:显示技术人员的电池电压
  • admin 用户创建一个名为“Finances”的新组并授予其访问仪表板 1 的权限。
  • 管理员用户创建一个名为“技术员”的新组并授予其访问仪表板 2 的权限。

    管理用户示例:

  • Off-Grid manufacturer 1组织的管理员用户创建了一个新用户(例如finance_user_1 )。

  • finance_user_1被添加到“财务”组(他们可以立即访问仪表板 1)

    子组/子组织管理员

  • Off-Grid manufacturer 1组织的管理员用户创建一个新组或子组织(例如hire_company_1.2 )。

  • admin 用户创建一个名为hire_company_1.2_admin的新用户。
  • hire_company_1.2_admin可以:

    • 创建新用户(自动限制在hire_company_1.2组中。

    • 创建子用户组

    • 将子用户分配到子用户组

    • 创建仪表板

    • 创建子仪表板组

    • 将仪表板分配给子仪表板组

typfeature-request

最有用的评论

我建议也隔离数据源,让组的管理员安全地管理自己的数据源。

所有3条评论

我建议也隔离数据源,让组的管理员安全地管理自己的数据源。

仪表板组和权限模型的提案: https :

通过 Teams 和 Dashboard 文件夹在 v5 中完成

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

yuvaraj951 picture yuvaraj951  ·  3评论

kcajf picture kcajf  ·  3评论

ahmetkakici picture ahmetkakici  ·  3评论

Azef1 picture Azef1  ·  3评论

calind picture calind  ·  3评论