某车贷风控系统的需求背景权限设计的首要问题

某车贷风控系统的需求背景权限设计的首要问题

对于业务复杂或者数据量大的系统,必须要做权限设计,方便管理。 权限设计是后端系统需要考虑的授权策略问题。 说白了,权限设计就是根据公司的业务规则,为权限管理系统设定的安全策略。

权限一般分为功能权限、数据权限和菜单权限:

角色权限管理设计_rbac角色权限表设计_角色权限模型

权限设计的关键是明确用户、权限、角色之间的关系。 即谁创建帐户、分配哪些角色以及授予哪些权限。

角色权限模型_rbac角色权限表设计_角色权限管理设计

一、需求背景

权限设计的首要问题是明确需求。 权限设计涉及到后端系统底层架构的业务逻辑。 在搭建后端系统之前,必须对现有的权限控制和业务情况有一个清晰的了解,避免权限设计上的误区。

以某车贷风控系统为例,通过相关业务部门的反馈以及对现行权限系统的研究,我们发现其存在以下问题:

用户权限不明确,导致传入文件的申请和审核操作由同一人进行; 敏感数据不受权限控制和脱敏,导致用户隐私数据泄露; 角色分类不合理,每个用户只能配置一个角色,导致工作组和流程节点更加复杂; 所属团队的客户经理、团队经理、城市经理建立了三级维护关系,但人员调动和流失率较高,导致管理成本较高。

在了解了现有的需求背景后,我们借鉴了钉钉的权限维护方法,改进了管理系统的权限设计。

一方面,收集权限需求,根据部门需求制定权限清单,制作CheckList。 模块的功能页面应该放置哪些权限,可以根据《操作权限申请表》的业务需求灵活配置。

rbac角色权限表设计_角色权限模型_角色权限管理设计

另一方面,借助UML建模用例图,根据功能Uc级别将角色细分为增、删、改、导,方便确认相关人员的操作权限。

角色权限模型_角色权限管理设计_rbac角色权限表设计

2、设计流程

明确需求后,需要选择合适的权限设计模型。 在设计后台系统权限时,我们可以借鉴一些控制模型。

常见的权限设计控制模型包括:自主访问控制(DAC)、强制访问控制(MAC)、访问控制列表(ACL)、基于角色的访问控制(RBAC)、基于任务和工作流的访问控制(TBAC)、任务和基于角色的访问控制(T-RBAC)、基于对象的访问控制(OBAC)、使用控制模型(UCON)、基于属性的访问控制(ABAC)等。

最常见的权限设计控制模型是RBAC模型。 例如,一个业务复杂、功能庞大的车贷风控系统,采用RBAC模型进行权限设计,主要是为了方便后续扩展。

RBAC 代表基于角色的访问控制。 在RBAC模型中,权限与角色相关联。 用户通过成为相应角色的成员来获得这些角色的权限。 即用户与角色关联,角色与权限关联,可以实现系统权限的灵活配置。

rbac角色权限表设计_角色权限管理设计_角色权限模型

访问控制的核心是授权策略。 在RBAC模型中,Who、What、How构成了权限控制的三个要素,即Who对What(Which)进行How操作。

角色权限模型_rbac角色权限表设计_角色权限管理设计

RBAC权限授权实际上是一个Who、What、How的问题。 Who:权限的所有者,What:权限所针对的资源,How:具体权限。 在RBAC中rbac角色权限表设计,根据权限设计的复杂程度,可以分为RBAC0、RBAC1、RBAC2、RBAC3。

RBAC 模型包含三个关键元素:用户、资源和操作。 通过将资源和资源操作授权给用户,用户可以获得操作资源的权限,保证权限分配的实施。

此外,RBAC模型遵循三个安全原则:最小权限原则、职责分离原则、数据抽象原则,从而简化权限管理。

三、实施过程

选择RBAC模型后,实施过程中必须从账户、角色、权限三个方面来考虑,满足不同用户在使用过程中的不同权限需求。

角色权限管理设计_角色权限模型_rbac角色权限表设计

其中rbac角色权限表设计,账户和角色是相关的,角色和权限是相关的,都是多对多的关系。 我们可以利用UML建模的类图来理解三者之间的关系。

角色权限管理设计_角色权限模型_rbac角色权限表设计

以某车贷风控系统为例,我们需要为某风控A创建一个管理账户,并分配相应的风控人员角色,并拥有系统中目标详情和操作目标注册权限。

4. 账户管理

账户管理的入口在系统管理模块,包括基本的添加账户、编辑账户、删除账户、查看账户、查询账户、为账户分配角色等。

账户管理是管理员最常用的功能,对应的字段一般为公共字段和特定字段。 常见字段如用户ID、手机号码、姓名、角色、状态、注册时间等。具体字段为公司业务需求,如分配的角色、登录时间、登录次数、接入IP、接入设备等。

rbac角色权限表设计_角色权限管理设计_角色权限模型

管理员添加新账户时,为该账户分配风控员角色,从而拥有该角色的相关权限。 RBAC模型通过为用户分配角色来获取角色权限,从而简化了用户权限分配过程。

rbac角色权限表设计_角色权限管理设计_角色权限模型

5. 角色管理

角色管理的入口在系统管理模块氛围,包括添加角色、编辑角色、删除角色、查看角色、查询角色、为角色分配权限等基本功能。

角色管理用于管理公司内部用户的角色信息。 一个复杂的后台会被划分为很多角色,比如管理员、运营人员、客服人员、财务人员、收款人员等。我们可以总结出某一类具有共同特征的人群的身份,从而为他们分配相应的角色权限。不同的用户。

rbac角色权限表设计_角色权限模型_角色权限管理设计

管理员根据公司业务需求添加相应的角色,并为角色授予相应的页面权限和操作权限。 角色是连接用户和权限的纽带,可以授予用户与角色集成的相关权限。 我们在设计权限拦截流程时,会根据分配给用户的角色来限制要填写的菜单,只显示该角色可以显示的菜单。

rbac角色权限表设计_角色权限模型_角色权限管理设计

6.权限管理

权限管理的入口在系统管理模块,包括基本新增权限、编辑权限、删除权限、查看权限、切换权限状态开关等。

rbac角色权限表设计_角色权限管理设计_角色权限模型

任何B/S系统或者C/S系统都会做权限管理。 权限管理限制用户对他们有权访问的内容或数据的访问。

当管理员添加新的权限时,会将权限限制为基本权限或操作权限。 例如,当用户没有操作权限时,点击按钮会提示没有权限,或者按钮变灰无法点击,或者操作按钮隐藏。

rbac角色权限表设计_角色权限管理设计_角色权限模型

权限设计是后端系统的重要组成部分。 基于RBAC模型的权限设计可以支持复杂的业务权限控制,也可以满足平台运营的安全策略,增加权限管理的灵活性和简单性。

#专栏作家#

朱学敏微信公众号:朱学敏谈产品,人人都是产品经理专栏作家。 畅销书《产品闭环:重新定义产品经理》作者,金融产品人7年,专注金融行业音乐音效,负责产品从0到1的全流程开发设计。

文章来源:https://www.toutiao.com/a6971997446213730830/