常见的权限管理

权限访问控制即控制用户对资源或者服务的访问权限,目前流行的权限访问控制模型有以下几种。

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的属性来判断, 不同的属性应该满足不同的要求。

results matching ""

    No results matching ""