Quick BI独创千人千面的行级权限管控机制
摘要
就数据访问权限而言,阿里巴巴以“被动式授权”为主,你需要什么权限就申请什么权限。但是,在客户交流过程中,我们发现绝大多数企业都是集中式授权,尤其是面向个人的行级权限管控,管理复杂度往往呈几何增长。因此,Quick BI创新了标签式授权机制,支撑IT人员轻松实现千人千面的行级权限管控?小编给大家做个详细介绍!
为什么要做千人千面的标签式授权
不管是敏捷BI ,还是传统BI,甚至定制开发报表,都需要面临个人级别的行级数据访问权限控制。Quick BI作为一个高效数据分析与展现的BI套件,实现了从数据源连接、数据建模、仪表板制作、电子表格制作、到一站式门户搭建的全流程可视化建设能力。V3.0版本之前,Quick BI实现了基于用户/用户组的行级权限管控机制,随着线下大型客户的支撑,客户反馈行级权限管控的过度复杂,工作量太大。
首先,管理复杂度呈几何增长,假设有3000个用户、30个数据集、3个字段需要进行级权限管控,那么需要进行3000303=270000次的行级权限管理操作;
其次,组织调整导致重复性管控,一旦人员变更,针对每个数据集需要重新配置行级权限,造成大量的权限重复配置操作。
标签式授权的价值所在
基于标签式授权,只需配置数据集与用户标签的映射关系,即可实现行级权限管控,从两方面大幅提升了行级授权的管理效率。
一是,极致的授权操作。基于用户/用户组授权方式需要270000次的权限管理操作可以降低到90次。不管是1000人、10000人,还是100000人,授权操作次数也仅需90次,就是这么简单。
二是,超强的适应性。组织结构变更,仅需修改用户的标签信息,行级权限就可以实现平滑迁移,大幅提升行级权限的管理效率。
如何实现标签式授权全流程配置
1、梳理行级权限矩阵
对于一个组织来讲,“行级权限管控”往往跟组织架构管理体系是大同小异的,组织架构管理体系一般有两个部分组成归属部门和岗位,岗位是组织要求个体完成的一项或多项责任以及为此赋予个体的权力的总和。一个人的行级权限,跟归属部门和岗位两种属性有一定的关联性,但并不是完全等同。(例如:一个分公司经理,归属于分公司A,管理分公司业务的同时,又兼顾分公司B的职务。从数据权限的角度来讲,该分公司经理已经具备分公司A、分公司B的部分数据访问权限。)

那么,基于Quick BI的标签式授权,怎么梳理行级权限矩阵呢?如上图所示,按照区域、省份、城市进行“行级权限矩阵”梳理说明:
权限范围说明:example1具备该组织所有数据访问权限;example2具备华东浙江省的数据访问权限;example3具备华东浙江省杭州市的数据访问权限。
用户标签字段可以自定义扩展,扩展列名称以"tag_"开头,例如tag_area、tag_province、tag_city。
,代表所有数据访问权限;如果标签项对应多个权限,采用逗号分隔填写;任一标签项为空,则代表没有任何权限。
2、标签导入和标签值管理
- 标签导入
标签导入,一般是在初始化时或组织结构大调整情况下,进行用户的批量标签内容更新。进入组织管理下,点击批量添加组织成员,然后选择批量导入已梳理的“行级权限矩阵”,即可完成行级标签导入操作。如下所示:

2)标签值管理
标签值管理,一般是在个别人员变更的情况下进行数据修订,完成用户行级权限的平滑迁移。点击每个组织成员中的“成员标签”,进行标签值修改。

3)标签授权映射
标签授权,右击某个数据集并点击“行级权限”,进入数据集行级权限设置。开启行级权限,并做好受控字段与标签的映射关系,保存即可完成标签授权操作了。

如何验证标签授权的准确性
1、没有开启行级权限情况下
如下图所示,在没有开启行级权限情况下,订单销量分布覆盖了全国范围。

2、开启行级权限情况下
如下图所示,在没有开启行级权限情况下,订单销量分布覆盖了显示浙江省数据。

我们再来看看执行SQL:自动根据访问者,会在过滤条件中追加区域、省份、城市的数据范围限定

本文作者:supwdl
本文为云栖社区原创内容,未经允许不得转载。
Quick BI独创千人千面的行级权限管控机制的更多相关文章
- 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
导语 发布app后,开发者最头疼的问题就是如何解决交付后的用户侧问题的还原和定位,是业界缺乏一整套系统的解决方案的空白领域,闲鱼技术团队结合自己业务痛点在flutter上提出一套全新的技术思路解决这个 ...
- [Python设计模式] 第26章 千人千面,内在共享——享元模式
github地址:https://github.com/cheesezh/python_design_patterns 背景 有6个客户想做产品展示网站,其中3个想做成天猫商城那样的"电商风 ...
- mybatis实现数据行级权限拦截
最近在做一个测试平台,其中有一个需求是用户只能看到他有权限的项目数据.一开始这个需求只针对用例模块,我直接在sql后面加上了关联项目权限表.后面因为其他模块也需要这个权限判断,故打算把关联sql抽取出 ...
- Quick BI取数模型深度剖析
开发图表最关键的点在于选择准确的图表类型展示准确的数据,而准确的数据往往依赖于一个强大的取数模型,因此设计一个好的取数模型不仅可以解决数据安全的问题,更可以帮助每个访问者高效触达自己想要的数据,开发者 ...
- Quick BI的复杂系统为例:那些年,我们一起做过的性能优化
背景 一直以来,性能都是技术层面不可避开的话题,尤其在中大型复杂项目中.犹如汽车整车性能,追求极速的同时,还要保障舒适性和实用性,而在汽车制造的每个环节.零件整合情况.发动机调校等等,都会最终影响用户 ...
- Quick BI助力云上大数据分析---深圳云栖大会
在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. 大数据分析之路的挑 ...
- Quick BI的宝藏工具——交叉表
对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出各种场景指 ...
- 当移动数据分析需求遇到Quick BI
我叫洞幺,是一名大型婚恋网站“我在这等你”的资深老员工,虽然在公司五六年,还在一线搬砖.“我在这等你”成立15年,目前积累注册用户高达2亿多,在我们网站成功牵手的用户达2千多万.目前我们的公司在CEO ...
- Quick BI 3.0 - 强大的多维分析表格:交叉表
写在开头 对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出 ...
随机推荐
- Nonsense Time
Nonsense Time 时间限制: 10 Sec 内存限制: 128 MB 题目描述 You a given a permutation p1,p2,…,pn of size n. Initia ...
- shell 第一篇
1. 查看当前linux 支持的shell 类型 [root@nfs01 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash / ...
- workbench使用
1.你是指默认的mysql目录下data里面的'mysql'这个schema没有在workbench里面看到吧?点击菜单-Edit->Preferences里面的SQL Editor,然后把&q ...
- golang中函数类型
今天看Martini文档,其功能列表提到完全兼容http.HandlerFunc接口,就去查阅了Go: net/http的文档,看到type HandlerFunc这部分,顿时蒙圈了.由于之前学习的时 ...
- 只要三步!阿里云DLA帮你处理海量JSON数据
概述 您可能有大量应用程序产生的JSON数据,您可能需要对这些JSON数据进行整理,去除不想要的字段,或者只保留想要的字段,或者仅仅是进行数据查询. 那么,利用阿里云Data Lake Analyti ...
- git与github建立链接(将本次项目与网络GitHub同步) --转存笔记
转载自:https://blog.csdn.net/qq_36529459/article/details/79047220 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可 ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--对Sorted-Sets操作
一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score ...
- JS中的$符号
1. 首先可以用来表示变量, 比如变量 var s='asdsd'或var $s='asdasd'; 2. 在正则表达式中,它可以匹配结尾 /sa$/.test(string) 匹配string字符串 ...
- 文本流向 layout-flow
作用与语法 文本流向layout-flow用来定义网页中的文本流向方式. 即排列方式,主要有两个属性,分别是horizonta (水平的) 和vertical-ideographic (垂直的). 文 ...
- Django中的orm的惰性机制
惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象)[https://www.cnblogs.com/chaojiying ...