ABAC 即基于属性的访问控制(Attribute-Based Access Control)。在这种模型中,访问决策是基于主体(如用户、进程等)、客体(如数据、资源等)、环境(如时间、地点等)以及操作(如读取、写入、删除等)的属性来确定的。
例如,一个用户能否访问特定的数据,不仅取决于其身份(主体属性),还可能取决于当前的时间(环境属性)、数据的敏感性(客体属性)以及所需执行的操作类型(操作属性)。
假设在一个企业系统中,员工 A 在工作日的工作时间(环境属性)可以访问敏感项目的文档(客体属性)进行读取和编辑(操作属性),但在周末或非工作时间则无法访问,这就是 ABAC 数据访问控制的一种应用场景。
再比如,对于一个在线教育平台,只有注册超过一定时间(主体属性)的学生,在课程结束后的特定时间段内(环境属性),能够下载课程资料(操作属性和客体属性)。
ABAC 相比传统的访问控制模型,如基于角色的访问控制(RBAC),能够提供更精细、更灵活和更动态的访问控制策略,适应复杂多变的业务需求和安全要求。
一、数据权限
效果要求:在同一个数据请求方法中,根据访问