暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

全面解说权限管理:模型、策略与挑战

基础技术研究 2024-09-14
102

00

引言


权限管理是信息安全领域中的一个关键组成部分,它涉及对系统数据访问权限的控制与监控。有效的权限管理不仅能保护系统免受未授权访问,还能提升系统的整体安全性。本文将介绍权限管理的基本概念、分类、常见模型、实施策略及其挑战。



01

权限管理的概念


要进行权限管理,首先要知道权限是什么。权限,一般是指系统设置的安全规范,主要用来控制用户查看、修改被授权的资源或信息。简单来说,权限管理就是控制某些用户在系统中只能看什么、不能看什么,只能做什么、不能做什么。权限管理是对系统用户访问和操作权限进行控制和管理的过程,它确保只有经过授权的用户才能访问或操作系统中的资源。


02

权限管理的分类


一般情况下,我们将权限分为功能权限和数据权限。

功能权限‌主要控制用户的可视范围,包括菜单、页面、按钮等。它决定了用户登录系统后可以看到哪些模块,可以操作哪些按钮。功能权限的设计考虑到企业中不同角色的员工看到的业务模块和操作的功能权限也不相同。例如销售人员和财务人员的职能不同,每个人看到的业务模块也不相同,哪怕同样是财务人员,因为职级高低的不同,操作按钮的权限也不尽相同。不同的业务会有不同的权限控制,具体的权限划分需根据实际的业务来确定。

数据权限决定了用户能看哪些数据,一般通过“部门、品牌、区域”等维度划分数据权限。例如在一个公司中有多个部门,某些用户只能看到本部门下的业务数据,某些用户能看到多个部门下的业务数据。数据权限一般具有层级属性,层级越低的人看的越少,层级越高的看的越多,所以一般会和组织架构有关。从这个角度来区分,数据权限包括全部数据、本部全部数据、本部及子部全部数据、本人全部数据和本人及下属全部数据。

数据还可分为需要数据权限控制的和不需要数据权限控制的。若不同用户针对某部分数据具有不同的权限,那这部分数据就需要进行数据权限控制;若某部分数据是可被所有人看到的,那这部分数据就不需要进行数据权限控制。



03

权限管理的常见模型


权限模型定义了如何管理和控制对资源的访问。常见的权限模型包括以下几种。

访问控制列表(ACL)

访问控制列表(Access Control List,ACL)模型只有权限与用户两个概念,从权限的角度来定义可访问该权限的用户,维护对应用户清单,从而实现用户与权限之间的映射管理。

ACL模型适用于权限少用户多的场景,常用的“抄送”功能就是采用的这种权限管理模型。比如平常在发邮件的时候使用的抄送功能,添加抄送给哪些用户的过程其实就是针对当前的这个权限指明哪些用户可以访问的过程。

它的优点是可以满足个性化的需求,即为系统中的用户单独分配权限,但由于需要维护每个用户的访问权限列表,管理者工作量大,所以需要解决复用性问题。

自主访问控制(DAC)
自主访问控制(Discretionary Access Control,DAC)模型本质上和ACL模型类似,都只有有权限与用户两个概念。但DAC是从用户的角度出发,定义每个用户可以访问哪些权限,维护对应的权限清单,从而实现用户与权限之间的映射管理。

它的优点是灵活、易于实现,适用于小型和中型系统等用户少权限多的场景,但可能导致权限滥用和安全隐患,因为用户可以自由分配权限。

强制访问控制(MAC)

强制访问控制(Mandatory Access Control,MAC)模型由系统根据设定的安全规则来控制资源访问。与前两个模型不同,MAC在权限与用户之间增加了标签的概念,这里的标签可以理解为由权限抽象出的中间媒介,将权限根据安全等级贴上对应标签,通过标签与用户之间的关联关系实现用户与权限之间的映射管理。一般情况下,标签与用户是一对多的关系,但是一般一个用户只会关联一个标签;标签与权限也是一对多的关系,一般一个权限只会关联一个标签。
用户不能自行修改访问规则,系统管理员设定访问控制策略和规则。

它的优点是提高了安全性,适用于安全级别要求较高的场景,但灵活性较差,管理复杂度较高,可能影响系统的可用性和用户体验。

基于属性的访问控制(ABAC)

基于属性的访问控制(Attribute-Based Access Control,ABAC)模型基于用户、资源和环境属性来进行访问控制。访问决策由一系列属性和规则决定,而不是固定的角色,相比前面几个模型提升了较多的灵活性。
用例子来理解这个模型就是:只有当用户角色为admin,在工作时间内,且处在C栋大楼B实验室,才可以访问D文件。

属性可以是任意的对象,一般会涉及的属性主要是以下四类:

1) 访问主体属性:访问者自带的属性,比如年龄,性别,部门,角色等;

2) 动作属性:比如读取,删除,查看等;

3) 对象属性:被访问对象的属性,比如一条记录的修改时间,创建者等;

4) 环境属性:比如时间信息,地理位置信息,访问平台信息等。
它的优点是提供了更精细的访问控制,可以根据具体的属性进行动态调整,但配置复杂,管理和维护难度较大。
基于角色的访问控制(RBAC)
基于角色的访问控制(Role-Based Access Control,RBAC)模型通过定义角色来管理权限,把权限赋予角色,再关联相应的用户,对应的用户就继承了角色的权限。角色起到了桥梁的作用,连接了用户和权限,每个角色可以关联多个权限,一个用户可以关联多个角色,那么这个用户可访问多个角色关联的权限资源的总和。

RBAC模型根据设计需要,可分为RBAC0、RBAC1、RBAC2、RBAC3四种类型。其中RBAC0是基础,另外三种是RBAC0的升级。RBAC1基于RBAC0模型,引入角色间的继承关系,即角色上有了上下级的区别。RBAC2引入了角色间的约束关系,例如角色间的互斥关系。RBAC3同时包含了RBAC1和RBAC2的特性,即角色既有继承关系又有约束关系。关于这部分的详细介绍将由后续篇章展开。
它的优点是简化了权限管理,便于角色的集中管理和审计,但在动态环境中可能不够灵活,需要不断调整角色和权限。


04

权限管理的实施策略


有效的权限管理策略应涵盖以下方面:
  • 最小权限原则
用户只应被授予完成任务所需的最低权限。这可以减少潜在的安全风险。
  • 权限审计与监控
定期检查和审计用户权限,确保权限分配符合实际需求,发现并纠正权限滥用情况。
  • 权限变更管理
处理权限变更时应经过审批流程,确保变更的合理性和合规性。
  • 自动化与工具的应用
利用自动化工具进行权限管理和审计,提升效率和准确性。
  • 定期培训与意识提升
定期对用户进行权限管理培训,提高安全意识和遵循最佳实践。确保所有用户了解权限管理的原则和操作规范。


05

权限管理的挑战


实施权限管理面临多种挑战:
  • 复杂性与可管理性

权限管理系统的复杂性可能随着组织规模的扩大而增加,需要平衡灵活性与安全性。

  • 用户需求变化的应对

用户角色和权限可能频繁变动,需要及时调整权限设置以满足实际需求。

  • 合规要求与遵循

不同的行业和地区可能有不同的合规要求,确保权限管理符合相关法规可能需要额外的努力。

  • 技术支持与系统集成问题

需要选择合适的技术解决方案,并进行有效的配置和维护,以支持复杂的权限管理需求。



06

总结


权限管理是保护信息系统安全的基石。选择合适的权限模型和策略,结合有效的实施和审计措施,可以大大降低安全风险。随着技术的发展和业务环境的变化,权限管理的挑战也在不断演变,因此持续的关注和改进是保持系统安全的重要保障。



参考资料
[1] https://36kr.com/p/1724647768065
[2] https://zhuanlan.zhihu.com/p/611331791



文章转载自基础技术研究,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论