【权限系统设计】ACL, DAC, MAC, RBAC, ABAC模型的不同应用场景
ACL 访问控制列表
规定资源可以被哪些主体进行哪些操作
场景:部门隔离 适用资源:客户页面、人事页面
在ACL权限模型下,权限管理是围绕资源来设定的。我们可以对不同部门的页面设定可以访问的用户。配置形式如下:
注:主体可以是用户,也可以是组。
在维护性上,一般在粗粒度和相对静态的情况下,比较容易维护。
在细粒度情况下,比如将不同的客户视为不同的资源,1000个客户就需要配置1000张ACL表。如果1000个客户的权限配置是有规律的,那么就要对每种资源做相同的操作;如果权限配置是无规律的,那么ACL不妨也是一种恰当的解决方案。
在动态情况下,权限经常变动,每添加一名员工,都需要配置所有他需要访问的资源,这在频繁变动的大型系统里,也是很难维护的。
在一些情况下,ACL也可应用于细粒度场景,接下来将介绍两种ACL的拓展。
DAC 自主访问控制
规定资源可以被哪些主体进行哪些操作 同时,主体可以将资源、操作的权限,授予其他主体
场景:文件系统 适用资源:人事培训文档
DAC是ACL的一种实现,强调灵活性。纯粹的ACL,权限由中心管理员统一分配,缺乏灵活性。为了加强灵活性,在ACL的基础上ÿ