在整个风控报表体系或数据库开发流程中,我们设计到的风控流程所涉及到的具体模块由:审批报表、资产报表、模型监控、贷中监控、贷后监控、反欺诈、催收等报表需求,对外也会对接运营、产品、财务等部门的报表需求,所以在角色控制上,我们需要对不同的用户区分管理。

风控管理中心组织架构 风控部门的组织架构_多级


具体我们经常需要给不同的角色设置相应的权限。比如负责数据库开发的同事有全部的权限,数据分析的同事有查表的权限,运营的同事对报表只有只读的权限。每个用户都有相应的角色对应,当然更有可以给相应的角色开放具体的报表内容。今天的重点,跟各位分享的角色与权限的知识。首先普及下整个系统架构的模型,该系统主要有三大层构成:

风控管理中心组织架构 风控部门的组织架构_风控_02


A、用户界面层

用户界面层是最顶层的结构,一般负责用户权限的分工跟管理。

主要分为部门管理、用户管理、角色管理和权限管理四个模块

其中:

部门管理模块:主要有部门的查询、增加、删除和修改功能;

用户管理模块:主要有用户的查询、增加、删除、修改功能,以及用户角色的分配功能;角色管理模块:主要有角色的查询、增加、删除和修改功能;

权限管理模块:主要有权限的查询、增加、删除和修改功能,以及角色权限的分配和回收功能。

用户通过界面进行操作,按预定的操作流程进行权限管理。

B、中间逻辑业务层
负责处理用户界面操作的请求以及调用数据处理层的接口,实现用户和数据库的信息交互。

C、底层数据处理层
负责一般的数据库处理操作,如查询、增加、修改、删除等,为中间业务逻辑层提供各种基础数据库服务。

系统整体架构从并发性、团队开发性、可维护性、可扩展性、可重用性、安全性、可移植性、日志、接口等方面综合考虑。

为了达到团队开发性和可维护性和可扩展性,统一了固定的架构模式,如统一的层次结构、统一的配制文件(如XML 配制、属性配制、常量配制、参数配制、编码规范和风格配制等),为了达到可重用性也有统一的通用 API(如字符串处理、文件处理、数据库访问处理、分布处理、统一的错误异常处理及日志处理等),为了达到扩展性,系统各层有对应的接口、抽象类、实现类三级结构。

为了达到安全性,系统有统一完整的事物处理 API,并对权限进行统一的分配和管理(如定义具体的模块、菜单、操作、数据等权限、定义角色等,并对相关权限进行认证)。

**重点** 

在上面整个系统逻辑层里,需要理清楚的是角色、用户、组织结构关系:

风控管理中心组织架构 风控部门的组织架构_组织结构_03


系统中分为组织结构、用户、角色、系统管理员等几种对象。组织结构就是单位或者部门等机构组织,用户通常指需要使用系统的人,角色就是系统中定义的一类具有某些共性的用户组成的集合,系统管理员是对系统进行管理的用户,是系统定义的一种角色。其中用户隶属与某个组织结构;用户属于一定的角色;系统管理员属于一类特殊的用户,对单位和用户进行管理,根据其权限还有终极系统管理员。它们的具体关系如上图所示。

而如果拆解里面的逻辑架构,其中最重要的两个模块还是角色与权限。

**难点** 

一个用户可以拥有多个角色,也可以在角色间进行互换。如果有新的系统需求变更,可以将新的权限赋给角色。而且如果有必要,也可以将某角色所拥有的权限回收。所以别小看角色、用户、组织结构关系,这里面研究深了,也有挺多学问。

为了使系统更容易地在功能方面进行扩展以及权限管理更加灵活,采用“一用户多账户,一账户多角色,一用户多部门,多级单位多级部门”的控制方式,具体的做法就是:

  1. 一用户多账户:对于每一个用户,可以在系统中注册多个账户,以便用户能够以不同的账号进入系统完成所需工作;
  2. 一账户多角色:对于系统中的每一个账户,管理员可以为其指定多个角色,这样,一个账户就可以拥有多重身份,在第一条规则的前提下,一个用户也同样可以拥有多重身份;
  3. 一用户多部门:对于每一个用户,可以隶属于多个部门,由于每个部门拥有的权限不一样,因此一个用户也就可以拥有不同的权限;
  4. 多级单位多级部门:在组织结构管理中,单位可以分多级,部门也可以分多级,不同的子单位或者子部门所拥有的权限也是不同的,因此随着划分粒度的增加,用户的权限也就分的更加明确。

**案例** 

以下我们具体来设置,如何设置不同的角色跟权限,以SMG3为例具体说明。

为了方便说明,我们以单组织两个用户为例,说明清楚怎么具体设置用户权限问题。在设置相应的角色时,我们可以设置管理员的跟用户两个觉得。根据两者的不同,管理员拥有权报表的权限(增、删、改、插),而普通用户只有查看的权限。

风控管理中心组织架构 风控部门的组织架构_多级_04


其中,我们给系统设置三名用户:分别是:ROOT_A、ROOT_B、ROOT_C,其中将ROOT_A,设置为用户管理员权限的用户,其他两位则为普通用户。

风控管理中心组织架构 风控部门的组织架构_组织结构_05


设置完相应的用户跟权限之后,将具体的用户赋予特定的权限,之后每个用户登录后,都只能在自己权限范围内,进行相应操作。

管理员权限:

风控管理中心组织架构 风控部门的组织架构_风控管理中心组织架构_06


普通用户权限:

风控管理中心组织架构 风控部门的组织架构_风控管理中心组织架构_07


案例是把最核心的概念跟逻辑介绍给各位,但实际运用中,我们牵扯到的问题往往比它复杂太多,比如一个公司里有多个部门,每个部门里又可以分成好几个team,而且每个team里又有各个小组。

所以往这里面添加的内容就非常丰富了,特别是在大公司里熏陶过的同学,应该更清楚。每个公司的旁支还有分支兄弟公司,上头还有集团总部。所以设计到一个庞大的权限管理表,这里面更是考验架构师的水平跟搭建报表人员的能力,希望今天的分享能给各位带来一些启发。