控制的单位不只是一个登录账户
主体是提出操作请求的一方,对象是受保护资源,操作说明它想做什么。对象可以是文件、数据库记录、服务或设备;同一主体对不同对象或不同操作的权限可以不同,所以“能进系统”不足以描述完整边界。
政策还可以考虑上下文。例如主体所属部门、文件类别和当前条件可以共同决定一次读取是否允许。这样的规则组织的是受控共享:既不是让所有账户看到全部资料,也不是只靠把用户完全隔离来避免一切合作。
参考:[1]
表达政策、作决定与执行决定
访问控制模型规定哪些关系和规则可用于表达政策;机制则接收请求并实现它。NIST描述的逻辑功能包括策略决定点和策略执行点,前者求出允许或拒绝,后者确保资源操作服从决定;名称相近不表示它们必须是同一个进程。
ACL可按对象记录被允许的主体及权限,RBAC把权限与角色关联,ABAC按相关属性和规则求值。这些方式可以在实际系统中组合,不能只凭用了某个模型名称,就推断全部入口已正确接入同一政策。
参考:[1]
权限变化会改变可复用的判断
权限并非只能在账户创建时固定。人员离职、角色变更或资源重新分类,都可能改变访问结论;规则管理因此还要覆盖赋权、撤权及更新传播,而不只是第一次配置一个允许名单。
缓存能够减少跨网络查询属性的开销,但旧属性或旧决定可能在撤权后仍被使用。完整仲裁原则要求检查访问的授权,不能把“曾经允许”无期限视为“现在允许”;如何更新缓存、容忍多旧的资料以及离线怎样执行,都是明确政策和机制的一部分。