常见的权限访问控制模型

乔欣 Java面经 发布时间:2023-03-13 22:12:33 阅读数:8906 1
权限方法是每一个系统必不可少的部分,那么常见的权限访问模型有哪些呢?
权限访问控制是对用户的资源和服务进行访问权限的控制

权限访问控制如下所示

MAC(Mandatory Access Control)

起初由政府和军方设计并使用, 它有非常严格的访问控制模型。
在MAC中, 所有的权限由管理员预定义, 并且由操作系统控制。
MAC实现了数据的权限分类(如重要的等级或安全的等级)
  和用户的权限分类(部门,项目等)
 
 这样在验证的时候就可以对比用户和数据的权限等级对应关系
    从而知道是否有访问权限。
很少会有只使用MAC
   一般情况下会和其他的方法混合使用
   如:
    UNIX的文件系统使用了DAC, 但是root账号可以绕过这个访问控制模型不受限制。

DAC(Discretionary Access Control)

和所有数据和权限被操作系统控制不一样,这个允许用户控制自己的数据的访问权限。
根据用户的身份以及它们所属的分组来限制对对象的访问权限。
用户可以通过ACL定义什么人或什么等级的人可以访问什么资源
  每一个ACL都包含一个用户和组的列表, 以及它们的访问权限。
通常情况下, 系统管理员设置一系列常用的访问控制权限。
这里关键的是用户只能定义它们自己拥有的资源的访问权限。

RBAC(Role-Based Access Control)

RBAC通常被公司使用, 基于用户的职位给予访问权限。 这里权限被分配到公司里定义的角色上面。
RBAC中用户被分配一个角色, 而它只能拥有角色里包含的权限, 没有可以绕过的方法。
RBAC通过role分离了工作职责。

RBAC(Rule-Based Access Control)

权限的分配依据管理员预定义的规则
  每一个对象都有它自己的ACL(access control list)
 操作系统检查用户是否拥有这个权限。

ABAC(Attribute-Based Access Control)

这个模型根据特殊的规则来分配权限
  这些规则组合了用户(users)
    资源(resource)和对象(objects)的属性。
处理的逻辑是根据这个role和action的属性来判断
不同的属性应该满足不同的要求
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202303/16787167916033.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者