https://www.51cto.com/article/791299.html
概念
访问控制(Access Control):指系统对用户身份及其所属的预先定义的策略组限制其使用数据资源的能力,从而使得计算机资源在合理的范围内使用。
访问控制的主要目的是:限制主体对客体的访问。
三要素:
- 主体S(Subject):是指提出访问资源具体请求。是某一操作动作的发起者,但不一定是动作的执行者,可能是某一用户,也可以是用户启动的进程、服务和设备等。
- 客体O(Object):是指被访问资源的实体。所有可以被操作的信息、资源、对象都可以是客体。
- 控制策略A(Access Control Policy):是主体对客体的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认。
访问控制的类型
自主访问控制
自主访问控制(DAC)-Discretionary Access Control
是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体,并随时可以将这些权限回收。
支持基于角色的访问控制机制,将角色和权限关联起来,通过将权限赋予给对应的角色,再将角色授予给用户,可实现用户访问控制权限管理。
所谓自主就是指具有某种访问权力的主体能够自己决定是否将访问权限授予其他主体。
特点:根据主体的身份和授权来决定访问模式。
缺点:安全性差;用户数量多时,访问控制策略会很庞大;修改麻烦。
强制访问控制
强制访问控制(Mandatory Access Control,MAC):系统对所有主体及其所控制的客体(进程、文件、段、设备等)指定敏感标记,系统根据主体和客体的敏感标记来决定访问模式。
所谓“强制”是指安全标签由系统管理员人为设置或由操作系统设置,用户和他们的进程不能修改。
优点:简单性;容
缺点:完整性标签确定的困难性;实施的复杂性。
基于角色的访问控制
角色(Role)是一定数量的权限的集合。指完成一项任务必须访问的资源及相应操作权限的集合。角色作为一个用户与权限的代理层,表示为权限和用户的关系,所有的授权应该给予角色而不是直接给用户或用户组。
基于角色的访问控制(Role-Based Access Control,RBAC)是通过对角色的访问所进行的控制。使权限与角色相关联,用户通过成为适当角色的成员而得到其角色的权限。可极大地简化权限管理。为了完成某项工作创建角色,用户可依其责任和资格分派相应的角色,角色可依新需求和系统合并赋予新权限,而权限也可根据需要从某角色中收回。减小了授权管理的复杂性,降低管理开销,提高企业安全策略的灵活性。
三种访问控制的优缺点
优缺点 | 自主访问 | 强制访问 | 基于角色 |
优点 | 灵活性高:DAC策略允许资源的所有者或管理员自主决定谁能访问资源,适用于需要高度灵活管理的环境 | 安全性高:MAC策略通过比较主体和客体的安全级别来决定访问权限,确保信息机密性。适用于对安全性需求非常高的领域,如军方信息系统。 | 灵活性和安全性较好:RBAC通过角色来管理权限,简化了权限管理,减少了系统的开销。适用于需要灵活管理且安全性要求较高的企业环境. |
缺点 | 安全性低:由于权限可以传递,一旦权限被传递出去将难以控制,可能会带来严重的安全问题。此外,如果主客体数量过大,将带来极大的开销 | 灵活性差:MAC对授权管理较为僵硬,缺乏灵活性,通常只应用于特定的高安全需求环境。 | 管理复杂:RBAC需要维护角色和权限的关系,管理相对复杂,不适合小规模网络 |