摘要

就数据访问权限而言,阿里巴巴以“被动式授权”为主,你需要什么权限就申请什么权限。但是,在客户交流过程中,我们发现绝大多数企业都是集中式授权,尤其是面向个人的行级权限管控,管理复杂度往往呈几何增长。因此,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、标签导入和标签值管理

  1. 标签导入

标签导入,一般是在初始化时或组织结构大调整情况下,进行用户的批量标签内容更新。进入组织管理下,点击批量添加组织成员,然后选择批量导入已梳理的“行级权限矩阵”,即可完成行级标签导入操作。如下所示:

2)标签值管理

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

3)标签授权映射

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

如何验证标签授权的准确性

1、没有开启行级权限情况下

如下图所示,在没有开启行级权限情况下,订单销量分布覆盖了全国范围。

2、开启行级权限情况下

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

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


本文作者:supwdl

原文链接

本文为云栖社区原创内容,未经允许不得转载。

Quick BI独创千人千面的行级权限管控机制的更多相关文章

  1. 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题

    导语 发布app后,开发者最头疼的问题就是如何解决交付后的用户侧问题的还原和定位,是业界缺乏一整套系统的解决方案的空白领域,闲鱼技术团队结合自己业务痛点在flutter上提出一套全新的技术思路解决这个 ...

  2. [Python设计模式] 第26章 千人千面,内在共享——享元模式

    github地址:https://github.com/cheesezh/python_design_patterns 背景 有6个客户想做产品展示网站,其中3个想做成天猫商城那样的"电商风 ...

  3. mybatis实现数据行级权限拦截

    最近在做一个测试平台,其中有一个需求是用户只能看到他有权限的项目数据.一开始这个需求只针对用例模块,我直接在sql后面加上了关联项目权限表.后面因为其他模块也需要这个权限判断,故打算把关联sql抽取出 ...

  4. Quick BI取数模型深度剖析

    开发图表最关键的点在于选择准确的图表类型展示准确的数据,而准确的数据往往依赖于一个强大的取数模型,因此设计一个好的取数模型不仅可以解决数据安全的问题,更可以帮助每个访问者高效触达自己想要的数据,开发者 ...

  5. Quick BI的复杂系统为例:那些年,我们一起做过的性能优化

    背景 一直以来,性能都是技术层面不可避开的话题,尤其在中大型复杂项目中.犹如汽车整车性能,追求极速的同时,还要保障舒适性和实用性,而在汽车制造的每个环节.零件整合情况.发动机调校等等,都会最终影响用户 ...

  6. Quick BI助力云上大数据分析---深圳云栖大会

    在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. 大数据分析之路的挑 ...

  7. Quick BI的宝藏工具——交叉表

    对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出各种场景指 ...

  8. 当移动数据分析需求遇到Quick BI

    我叫洞幺,是一名大型婚恋网站“我在这等你”的资深老员工,虽然在公司五六年,还在一线搬砖.“我在这等你”成立15年,目前积累注册用户高达2亿多,在我们网站成功牵手的用户达2千多万.目前我们的公司在CEO ...

  9. Quick BI 3.0 - 强大的多维分析表格:交叉表

    写在开头 对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出 ...

随机推荐

  1. LUOGU P4171 [JSOI2010]满汉全席

    传送门 解题思路 2-SAT 裸题. 代码 #include<iostream> #include<cstdio> #include<cstring> #inclu ...

  2. hdu 2586 (lca-RMQ)

    #include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...

  3. poj 2349 Arctic Network 最小生成树,求第k大条边

    题目抽象出来就是有一些告诉坐标的通信站,还有一些卫星,这些站点需要互相通信,其中拥有卫星的任意两个站可以不用发射器沟通,而所有站点的发射器要都相同,但发射距离越大成本越高. 输入的数据意思: 实例个数 ...

  4. WPF学习笔记-用Expression Blend制作自定义按钮

    1.从Blend工具箱中添加一个Button,按住shift,将尺寸调整为125*125; 2.右键点击此按钮,选择Edit control parts(template)>Edit a cop ...

  5. java验证码识别

    首先参考了csdn大佬的文章,但是写的不全ImgUtils类没有给出代码,无法进行了 写不完整就是制造垃圾 不过这个大佬又说这个大佬的文章值得参考于是又查看这篇文章 有案例https://blog.c ...

  6. MySQL--修改Mac中的默认编码

    1.在终端中进入到etc目录下 2.打开etc目录下的my.cnf文件(如果这样修改不了的就要提高用户权限, 可以尝试使用sudo来打开文件) 3.将一下内容添加到my.cnf文件中 [client] ...

  7. I Love Palindrome String

    I Love Palindrome String 时间限制: 2 Sec  内存限制: 128 MB 题目描述 You are given a string S=s1s2..s|S| containi ...

  8. wordpress设置一个特定的页面作为首页

    首先在"页面"里新建一个页面,比如标题为"welcome"; 然后在设置里找到"阅读",首页显示调整为"一个静态页面", ...

  9. config.js配置页面中的样式和图片路径

    这个文章用在什么地方,我先说一下,上周啊,我接到一个任务.因为公司业务要对接不同的银行,例如在工行下颜色是红色的,在其他银行下默认为蓝色,所以在页面一致的情况下,保证页面中的按钮和ICON是可以配置的 ...

  10. C++学习笔记(1)-构造函数与析构函数

    1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象. 2.若没有提供任何构造函数,那么c++自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而 ...