自主访问控制(DAC) 自主访问控制(Discretionary Access Control)是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体,并在随后的任何时刻将这些权限回收。这种控制是自主的,也就是指具有授予某种访问权力的主体(用户)能够自己决定是否将访问控制权限的某个子集授予其他的主体或从其他主体那里收回他所授予的访问权限。
例如,假设某所大学使用计算机系统进行学生信息的管理。教务处在系统中建立了一张表,存入了每个学生的有关信息,如姓名、年龄、年级、专业、系别、成绩、受过哪些奖励和处分等。教务处不允许每个学生都能看到所有这些信息,他可能按这样一个原则来控制:
每个学生可以看到自己的有关信息,但不允许看别人的;
每个班的老师可以随时查看自己班的学生的有关信息,但不能查看其他班学生的信息;
并且教务处可限制教务处以外的所有用户不得修改这些信息,也不能插入和删除表中的信息,这些信息的拥有者是教务处。
教务处可按照上述原则对系统中的用户(该大学的所有老师和学生)进行授权。于是其他用户只能根据教务处的授权来对这张表进行访问。
根据教务处的授权规则,计算机中相应存放有一张表(授权表),将教务处的授权情况记录下来,以后当任何用户对教务处的数据要进行访问时,系统首先查这张表,检查教务处是否对他进行了授权,如果有授权,计算机就执行其操作;若没有,则拒绝执行。
自主访问控制中,用户可以针对被保护对象制定自己的保护策略。 优点:灵活性、易用性与可扩展性
缺点:这种控制是自主的,带来了严重的安全问题。