规则比较相关属性而非只查姓名
NIST将ABAC描述为按主体属性、对象属性、环境条件与相应政策,对所请求操作作出允许或拒绝的模型。例如某部门的合格人员能读取某类别记录,可以同时涉及部门、资格、记录类别和读取动作,而不只是一个通用“员工”标签。
属性常用名称—值表示,但赋予字段名称本身不足以建立含义。主体的职位、对象的所属组织和当前时间扮演不同角色;来自不同组织的同名值是否等价,也须由共同定义或明确映射说明。
参考:[1]
属性收集、政策求值与执行
访问控制机制要取得适用政策和相关属性,再求值并执行结论。NIST区分政策决定、执行、信息取得和政策管理等逻辑功能;这些功能可分布部署,但不能因为某处已算出拒绝,就省去资源入口的实际约束。
规则可以在请求时应用,而不必为每个新用户改写一份资源名单。新主体若得到恰当属性,既有规则即可适用;这并不表示任何人自行发送“部门=研发”的字符串,就能成为被政策信任的研发人员。
参考:[1]
动态决定依赖可靠而及时的资料
属性由有权管理它们的来源建立和维护,例如人事部门与安全部门可能分别负责不同项目。主体离职、资格撤回或对象重分类后,更新这些值就能改变后续决定;属性的准确性和与对象的可靠关联因此是机制的一部分。
缓存可减少每次跨网络读取的延迟,却引入属性新鲜度与撤权传播问题。ABAC并非必须逐请求远程重查全部资料,也不是缓存越久越好;实际政策须约定可接受的旧资料、断网行为和服务可用性,避免把灵活规则建立在永久过期的信息上。
参考:[1]