1. 概述
数据表在 BI 中梳理好后,小潘需要根据当前的企业结构,为不同的职位、用户分配不同的 BI 系统使用权限,确保每个人都有对应身份的数据且保证数据安全不泄露。
权限的分配包括:数据权限和其他 BI 系统功能使用权限。
1.1 进行权限梳理
小潘分别与「仓储部」、「人事部」、「销售部」三个部门分析人员调研日常使用权限情况,确认了以下权限要求:
「销售部」部门数据仅自己部门可查看;数据主要分为线上、线下和售后三种,各小组自己仅能看到自己的数据,且「021_线上数据」需根据平台划分,不同平台管理者只能看到自己平台的明细数据,例如「天猫」平台的负责人只能看到「天猫」平台相关的数据,不能看到其他平台的数据。
「仓储部」部门要求本部门所有人员都能看到自己部门入出库、实际与计划的数据,其他部门不能查看本部门数据;
「人事部」部门数据主要分为四类「招聘信息」、「员工信息」、「薪资福利」、「考勤数据」;其中「员工信息」、「薪资福利」、「考勤数据」公司全员可查看,但是普通员工仅可查看自己的信息;而组长、部长等管理层可查看自己以及对应组/部内其他成员信息;「招聘数据」仅人事部部分人员可查看。
同时「IT 信息部数据库工程师」拥有所有数据的管理授权权限。
由于权限受体支持「部门」、「角色」两种方式,可分配权限项包含「数据权限」和「其他 BI 系统权限」。
企业用户信息中没有「业务部门数据分析师」这样的指定的部门职位,且部长、组长需要在「人事部门」数据权限时做统一的权限设置,因此可以按照「角色」进行权限划分,而业务部门普通用户则可以直接根据「部门」设置权限,因此我们做如下分配规则:
信息部数据库工程师 | 按照角色划分权限 | 数据权限、其他 BI 使用权限 |
---|---|---|
业务部数据分析师 | 按照角色划分权限 | 数据权限、其他 BI 使用权限 |
业务部普通用户 | 按照部门划分权限 | 数据权限、其他 BI 使用权限 |
各部门部长、组长 | 按照角色划分权限 | 数据权限 |
1.2 了解用户信息
在进行案例查看时,首先让大家了解一下该公司用户人员信息,方便后续进行案例理解。
注1:普通业务部用户以吴派为示例。
注2:组长部长不在此展示。
工号 | 一级部门ID | 一级部门名称 | 二级部门ID | 二级部门名称 | 职务 | 姓名 | 英文名 |
---|---|---|---|---|---|---|---|
20170217001 | 08 | IT信息部 | 0802 | 系统维护组 | 数据库工程师 | 胡立阳 | Liyang |
20180511001 | 08 | IT信息部 | 0802 | 系统维护组 | 数据库工程师 | 杨宇 | yu |
20180909001 | 05 | 仓储部 | 0501 | 物流组 | 物流管理工程师(仓储部门数据分析师) | 刘梦杰 | memj |
20200302002 | 07 | 公共职能部 | 0701 | 人事组 | 招聘专员(人事部门数据分析师) | 曾贺 | He |
20180423001 | 06 | 销售部 | 0601 | 线下零售组 | 销售专员(销售部门数据分析师) | 季孝南 | Xn |
20190710001 | 06 | 销售部 | 0601 | 线下零售组 | 销售专员 | 吴派 | pai |
也可制作用户信息仪表板进行用户信息监控:用户信息仪表板
2. 导入并准备 BI 用户
2.1 导入用户
在进行 BI 系统权限分配前,首先要将公司用户信息存入 BI 中。详情参见同步用户
使用「人事」数据库中「Hr_员工信息表」、「Hr_岗位信息表」、「Hr_部门职务表」三张数据表,创建服务器数据集「用户部门表」,输入 SQL :
SELECT TT.*,T2.二级部门名称,T2.一级部门ID,T2.一级部门名称 FROM(
SELECT T1.*,T3.职务,T3.二级部门ID FROM
(SELECT 工号,姓名,英文名,密码,联系方式,常用邮箱 FROM Hr_员工信息表 WHERE 当前状态='在职' and 工号!='20171117001')T1
LEFT JOIN
(select * from Hr_岗位信息表 where 当前是否在岗='在岗')T3
ON(T1.工号=T3.工号)
)TT
LEFT JOIN
(select *from Hr_部门职务表 where 职务 IN ('组长','部长'))T2
ON(TT.二级部门ID=T2.二级部门ID)
数据表中包含公司用户的「用户名」、「姓名」、「密码」、「部门」、「职务」等相关信息,如下图所示:
由于示例中部门职务有层级结构,因此需要使用树数据集创建用户组织树,如下图所示:
创建完成后同步用户即可,如下图所示:
2.2 将用户添加至平台使用用户中
将用户添加至「平台使用用户」中的「设计用户」中,详情参见:BI设计用户
建议将所有需要进行数据分析的用户都添加至「数据处理用户」分类中。
2.3 增加角色用户
由于本文 1.1 节中需要对「业务部门数据分析师」、「各部门部长、组长」、「数据库工程师」按照角色进行权限划分,因此需要将其增加至对应的角色中。
将「仓储部-数据分析师」中添加对应用户刘梦杰,如下图所示:
「销售部-数据分析师」、「人事部-数据分析师」中同理分别添加对应用户季孝南、曾贺。
各部门部长、组长,信息部数据库工程师同理。
3. 分配数据权限
分配数据权限的原则为:
信息部数据库工程师 | 按照角色划分权限 | 所有数据的使用、管理、授权权限 |
---|---|---|
业务部数据分析师 | 按照角色划分权限 | 业务部门「原始数据」的使用权限 「基础数据」的使用、管理、授权权限 「分析数据」的使用、管理、授权权限 |
业务部普通用户 | 按照部门划分权限 | 业务部门「基础数据」的使用权限 「分析数据」的使用、管理权限 |
各部门部长、组长 | 按照角色划分权限 | 「人事」部门中对应部门或者小组的所有数据查看权限 |
因此给出三个部门的数据权限分配文档:
注:销售部门数据分析师分析销售部整体的数据,而销售部门中的不同小组用户负责各自的数据分析。
3.1 分配 IT 信息部门数据权限
为「信息部数据库工程师」分配所有数据的使用和管理以及授权权限,如下图所示:
效果查看:
1)「IT 信息部系统维护组」数据库工程师胡立阳、杨宇不需要重复的承接不同业务部门五花八门的分析需求,如果有新的「原始数据」,他们只需要将其从数据库中取到 BI 系统并赋予各部门数据分析师使用权限即可。
胡立阳(账号:20170217001 密码 123)登录后,拥有所有数据的管理和授权权限,如下图所示:
注:授权权限设置需要分配对应用户的用户管理和权限管理权限,可参考本文第四节内容。
3.2 分配仓储部门数据权限
「仓储部」部门要求本部门所有人员都能看到自己部门入出库、实际与计划的数据,其他部门不能查看本部门数据。
1)为「仓储部-数据分析师」分配「原始数据」的使用权限、基础数据和分析数据的使用权限和管理权限,如下图所示:
2)为普通用户分配基础数据的使用权限和分析数据的使用、管理权限,如下图所示:
效果查看:
仓储部门「数据分析师」刘梦杰将原始数据处理成宽表,并将使用权限授予业务人员。
刘梦杰(账号 20180909001 密码 123)登录后,可以管理「仓储部」下所有的基础数据和分析数据,并且能使用「原始数据」,如下图所示:
供应链工程师牛奇(账号:20191010001,密码123)可以使用「仓储部」下的基础数据,并且管理分析数据创建数据表,如下图所示:
3.3 分配人事部门数据权限
「人事部」部门数据主要分为四类「招聘信息」、「员工信息」、「薪资福利」、「考勤数据」;其中「员工信息」、「薪资福利」、「考勤数据」公司全员可查看,但是普通员工仅可查看自己的信息;而组长、部长等管理层可查看自己以及对应组/部内其他成员信息;「招聘数据」仅人事部招聘专员可查看。
1)为全部人员分配当前用户数据的查看权限(基础数据中「员工信息」、「薪资福利」、「考勤数据」)
详情参见:多层级机构权限分配
由于需要实现不同用户登录查看不同数据,需要创建 SQL 数据集「用户信息表」,数据表与 2.1.1 节中的「用户部门表」一致。
在将数据分层并引入BI 2.4节中创建的公共分组下的「用户权限」业务包中新增「用户信息表」用于分配「人事」数据相关权限,如下图所示:
设置登录用户所在字段并对基础数据中「员工信息」、「薪资福利」、「考勤数据」数据表设置依据工号字段的行权限。
文档以「员工信息表」为例,如下图所示:
由于「部门职务表」中没有「工号」字段,可以使用「二级部门ID」进行行权限设置,如下图所示:
2)为组长、部长分配各自部门的数据查看权限。
由于组长需要查看当前组别中的数据,但是基础数据中有些数据表中没有「二级部门名称」可以设置属于登录者信息「用户信息表」中的「二级部门名称」,部长也同理需要「一级部门名称」,因此需要创建关联。
例如设置不同组长登录查看不同岗位信息表数据,将「岗位信息表」与「用户信息表」中的「工号」字段创建关联,这样在进行行权限设置时可以选择「用户信息表」属于「用户信息表」中的登录者信息,间接实现「岗位信息」中展示不同的部门或者小组数据,如下图所示:
其他需要设置行列权限的数据表也需要与「用户信息表」做关联后设置,如上示例所示。
注:「部门职务表」不需要设置关联,直接设置行权限「部门职务表」属于登录者信息「用户信息表-二级部门名称」即可。
3)为人事部门数据分析师分配人事基础数据和分析数据的使用、管理权限,如下图所示:
4)为人事专员和招聘专员分配基础数据使用权限和所有分析数据管理、使用权限,如下图所示:
效果查看:
所有企业用户登录可以看到自身的数据,且组长部长能看到当前部门人事数据,以仓储部部长鲍预(账号:20190711001,密码123)为例,登录后可查看自身数据以及当前部门数据,如下图所示:
注:人事数据分析师与人事、招聘专员的数据权限这里不做效果查看,类似 3.2 节。
3.4 分配销售部门数据权限
「销售部」部门数据仅自己部门可查看;数据主要分为线上、线下和售后三种,各小组自己仅能看到自己的数据。
1)为「销售部-数据分析师」分配销售部原始数据的使用权限和基础数据、分析数据的使用、管理权限,如下图所示:
为不同组的「普通用户」设置对应分组的基础数据使用权限和分析数据的使用管理权限,以「线上数据」为例,如下图所示:
2)「021_线上数据」需根据平台划分,不同平台管理者只能看到自己平台的明细数据,各平台的明细数据不能互相查看。
该权限分配详情参见:登录用户只能查看与自身相关的数据
在公共分组>用户权限中添加「销售-线上-平台用户信息表」,标记不同线上电商组用户负责的不同平台,如下图所示:
由于要根据登录者信息查看不同数据因此需要设置行权限,但是由于 2.2.1 节中已经将「用户信息表」设置为登录用户所在字段,因此可以将「销售-线上-平台用户信息表」与「用户信息表」以工号为关联字段做关联,这样在进行行权限设置时可以选择数据表属于「销售-线上-平台用户信息表」中的登录者信息,如下图所示:
同理对「销售_线上_商品销售情况汇总表_日」进行设置。
由于「销售_线上_店铺访客转化表」为原始表且没有 platform_name_zh 字段,希望它能够实现不同用户登录显示不同的平台数据,则需要再次使用关联,与「销售_线上_店铺维度表」根据shop_code 字段创建关联,这样在设置行权限时就能够设置「销售_线上_店铺维度表」中的 platform_name_zh 字段属于「销售-线上-平台用户信息表」中的 platform_name_zh 字段,间接实现「销售_线上_店铺访客转化表」根据不同用户登录显示不同平台数据,如下图所示:
效果查看:
例如线上电商组-梅林(账号:20190801001 密码:123)能仅能使用线上电商组中自己负责的「京东」平台基础数据,且能够在人事数据中看到自己的个人信息,如下图所示:
注:其他「数据分析师」等的销售权限效果与仓储类似,本示例不再做效果说明。
3.5 分配公共分组下用户权限表权限
分别设置如下行权限:
此时不同用户登录后两张数据表都显示当前用户相关的数据。
4. 分配其他 BI 系统权限
除了使用数据的权限,一些其他系统使用权限也需要分配给对应人员,如下所示:
用户类型 | 人员名称 | 权限类型 | 权限说明 |
---|---|---|---|
IT信息部-数据库工程师 | 胡立阳 杨宇 | 人员管理 | 授权权限管理下所有部门用户的人员管理权限 |
目录权限 | 授权其对所有目录的授权权限 | ||
数据权限 |
| ||
管理系统 | 授权用户管理、权限管理、模板管理的使用、授权权限 | ||
数据连接 | 授权数据连接管理权限 | ||
定时调度 | 授权定时调度授权权限 | ||
各部门数据分析师 | 销售部数据分析师(季孝南) | 人员管理 | 授权销售部 所有用户的人员管理权限 |
目录权限 | 授权销售部所有业务目录的授权权限 | ||
数据权限 | 参见本文 2.4.1 节 | ||
管理系统 | 授权权限管理、模板管理的使用、授权权限 | ||
数据连接 | 授权销售业务数据库数据连接使用权限 | ||
定时调度 | 授权 定时调度管理权限 | ||
仓储部 | ....... | 同销售部数据分析师,将数据信息改为「仓储部」即可 | |
人事部 | ....... | ||
各部门普通用户 | 销售部 | 人员管理 | 根据实际情况设置 可以暂时不设置 |
目录权限 | 授权其对当前部门目录查看权限 和 目录编辑权限 | ||
数据权限 |
| ||
管理系统 | 根据实际情况设置 可以暂时不设置 | ||
数据连接 | |||
定时调度 | |||
仓储部 | ...... | 同理 | |
人事部 |