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分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出 ...
随机推荐
- Jquery 页面打印
<script src="~/Scripts/js/dist/jquery.jqprint-0.3.js"></script> <script typ ...
- Redis 核心
一.Redis单机多实例原理 每个实例对应不同的配置文件,配置文件对应不同的端口.数据库文件位置.日志位置. 二.Redis单实例多数据库 每个Redis实例都有16个数据库,下标从0-15,当 se ...
- 使用 windows 批处理指令(BAT文件)进行文件删除、复制操作
以下是做文件删除和复制的批处理指令 ::替换文件需要添加 /y 参数才能直接替换.不然会出现提示是否替换. ::复制Axis2Implementation和WebServices编译后的文件到tomc ...
- 实例详解TOP命令
Linux中的top命令显示系统上正在运行的进程.它是系统管理员最重要的工具之一.被广泛用于监视服务器的负载.在本篇中,我们会探索top命令的细节.top命令是一个交互命令.在运行top的时候还可以运 ...
- AppServer初始化渠道
1.写了一个拦截器(RequestInterceptor) 2.里边有个有一个doRequest()方法 3.初始化渠道的方法(initRequestContext()) -------------- ...
- Stream的去重排序
1.List<Integer>排序 List<Integer> list = new ArrayList<>();list.add(50);list.add(25) ...
- CF 529B Group Photo 2 (online mirror version)
传送门 解题思路 这道题要用到贪心的思路,首先要枚举一个h的最大值,之后check.如果这个东西的w[i]与h[i]都大于枚举的值就直接return false,如果w[i]比这个值小,h[i]比这个 ...
- loading遮罩
.loading{ position: relative; cursor: default; point-events: none; text-shadow: none!important; colo ...
- tumblr arch information
http://developer.51cto.com/art/201305/395757.htm 每月超过30%的增长当然不可能没有挑战,其中可靠性问题尤为艰巨.每天5亿次浏览量,峰值每秒4万次请求, ...
- MySQL中一条更新语句是如何执行的
1.创建表的语句和更新的语句 这个表的创建语句,这个表有一个主键ID和一个整型字段c: mysql> create table T(ID int primary key, c int); 如果要 ...