暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

grafana使用教程1:权限控制

大米谭 2021-07-13
2993


Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能及权限控制。今日我们将介绍grafana的权限控制。



关键字

grafana:一款用go语言开发的,支持promethus,mysql,elasticsearch等数据源的可视化工具。

sqlite:SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

acl:访问控制技术。


下面我们将从推荐软件、数据库结构与数据、grafana操作指南的角度介绍grafana的权限控制。



推荐软件

grafana

推荐版本:Grafana v7.5.2

yum install https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.5.2-1.x86_64.rpm


IDE,用来打开SQLite


数据库结构与数据

一、准备条件:

如果您安装的是清华大学的镜像,那么SQLite文件在:/var/lib/grafana/grafana.db

[root@VM-0-12-centos grafana]# pwd
/var/lib/grafana
[root@VM-0-12-centos grafana]# ls -ltr
total 740
drwx------ 2 grafana grafana 4096 Apr 1 16:07 png
drwxr-xr-x 4 grafana grafana 4096 Apr 30 00:41 plugins
-rw-r----- 1 grafana grafana 745472 Jul 13 11:13 grafana.db
[root@VM-0-12-centos grafana]#


如果您仅仅只想查看权限表而不想装grafana,那么可在我的个人私服下载。

https://oopssz.com/myDb/grafana.zip


二、重要表名说明:


表结构和索引都可以直接拖动db文件到DB Browser中。打开后可以看到建表语句,可以导出指定表,也可以全量导出。


浏览数据可以看到grafana实际插入的数据表。下面拿dashboard这张表举例。

id:表示的是唯一标识别,唯一的表;

slug:即对应的url的接口;

title:即为标题;

org_id:即这张表是从属哪个机构哪个组织的,和org表对应;

folder_id:即上级菜单,我们可对某个文件夹进行授权;

has_acl:即是否有权限控制,1为有权限控制。

如上图描述的是:

id=15,这是个有权限控制的文件夹,他的子文件夹是17。这个文件夹可以被3这个机构所访问。其他的11和14两张报表还没分类文件夹,因此默认在0,即general这个文件夹。11和14都有权限控制。


既然有权限控制,我们接着看下权限控制表dashboard_acl


我们还是拿14 16 17这三张表举例:

如上图绿色部分,14这张表有两类ACL,一类是单独的某些用户可以访问,另一类是分组用户。我将定义公式如下:14->((user_id:6)(4) | (team_id:3)(1)),即:


14号这张表可以6这个用户(weixuehui以4号权限(Admin)访问以及3这个小组(zjb)以1号(View)权限访问。


打开grafana,比对数据库,权限对上。


我们接着看,我们发现6这个用户其实本身属于3这个组,3这个组的权限是仅仅能看的,而6这个用户是管理员是可以看,可以编辑,并且可以对报表赋权给用户的。那么究竟6取什么权限呢?


定义是这样的:如果有更高的权限存在,那么将取更高的权限。


大家可以安装个grafana,试几张报表就会很清楚了。


我们再举个例子,16这张表,ACL的规则如下:

16->((team_id:4)(1) | (user_id:8)(4) | (user_id:7)(2))


16这张表,可以被4这个组(zjb2)以1号权限(View只读权限)访问;

可以被8这个用户(luoyingchun)以4号权限(Admin管理员权限)访问;

可以被7这个用户(tangzhongmin)以2号权限(Edit编辑权限)访问。


我们核对grafana,的确是这个规则。




grafana操作指南

1.登陆grafana。

2.如果一个用户属于多个组织,左下角可以切换组织。


3.超级管理员可以建组织,左边栏有一长得像盾牌的,点击他。选择Orgs。

4.建立一个叫大米谭的组织。

5.新建一个大米的用户。

6.点击建好的大米用户,在跳转的页面,找到Organisations,分配大米谭这个组织的管理员给到她。并且她只是oopssz.com的观察员。

7.切换到大米谭组织,随便建一张测试报表,为damitan1。

8.为了对比实验,左下角切换到oopssz.com组织,找到kibana的订单样例数据。

9.右上角大米添加Edit权限。

10.到此,权限配置完毕。大米由于是大米谭的管理员,因此可以看大米谭下所有的表;大米只是oopssz.com的观察者,但是给她赋予了编辑者的权限,按照max(权限)的原则,因此大米可以编辑kibana的订单样例数据。


11.我们登陆大米的进行验证。

大米这个角色的确在oopssz.com这个组织下,对kibana的订单样例数据只有编辑权限,而没有管理员权限,即无法有permission操作。

我们切换到大米谭组织,可看到有管理员权限的damitan1的报表。验证通过。


我们查看SQLlite

可以看到大米是15号。查看acl表。11->(userid:15)(2),与grafana实际的验证结果一致。



其他案例:

主要是机构管理员进行机构用户下的团队管理,角色管理。


如机构下的用户与角色映射:

又如新建团队:

团队成员管理:



总结

1.grafana有acl权限控制,可通过配置即在SQLite生成数据。

2.超级管理员用户可在左侧菜单栏操作按钮新建组织和用户,并给用户分配角色组织机构管理员、观察者、编辑者权限。

3.可在用户左下角切换组织结构。

4.超级管理员机构管理员都可在左侧菜单栏按钮操作新建团队管理用户、团队、角色之间的关系


如有需要自己尝试权限,欢迎留言:格式:用户名+机构。

大米在收到留言后,将私信将建好的用户名和密码发给大家。


下集预告。

grafana操作elasticsearch数据源!操作指南!各类聚合方式!



                 

| ELK与PG在线体验 | 10T数据ES迁移 |

bat捞IP | 闲谈FGC | 大大与吉吉 | Honk! | 

| 2-3岁男孩玩具推荐 | Arnold |

| 0-2岁绘本系列推荐 | 0-2岁玩具推荐 

|《大大的挖土机》 |却道寻常是无常

| 文科高考数学和弦题详解 | 妖怪的宫殿前传 

妖怪的宫殿 | HEAVY RAIN | HYMN TO BIRTH 

没了的灵感 | 夜月 | PILIPIA FIRE专栏 | 月光牧童 

pilipia fire-pat3-间奏 | 20111001钢琴曲 | 赞歌 

ChinaTown | 变调421 | ICE | 20121216钢琴曲 

古老的传说 | 老奶奶的故事 | 莫扎特咏叹调1号 

| the music 's always with you 

CIAO BELLA(piano) | 化作千风 

learn to be lonely | the lord bless u and keep u 

暴风雨前夕的菜花田 | 海洋 | 两幅图 | 学画画的大米 

大米说  | 贾后夺权计杀王族 ,八王夺位自相残杀 

永嘉之乱西晋之亡,衣冠南渡东晋而立 |



长按二维码

关注我们吧



 

吃瓜^ ^,点个在看再走吧!

好文!点个好看!


文章转载自大米谭,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论