
权限核对 · 分项说明
概念说明
权限核对是执行前的排除性检查:先列出本次请求会触及的对象和可能产生的影响,再逐项排除未被当前规则覆盖的部分;只有剩余项为零,才可执行。它不回答账号拥有多少权限,也不把一次通过推广到同类请求;同一账号换个对象或换个时点,都要重新走一遍排除。
判断方法
先看拒绝是否随“授权条目的具体程度”变化。记录请求中的对象标识、动作名、执行身份、时段和条件属性;在同一对象上分别用直接授予与经由上级继承的测试身份发同一请求,再增加一个只针对该对象的更具体拒绝条目重放。若结果随更具体条目翻转,判定按更具体规则覆盖;若只随身份变化,问题在角色聚合;若只随对象层级变化,问题在继承。每次只改一个维度,不把一次拒绝直接当成缺少许可。
适用边界
权限核对的结果只覆盖被授权层实际评估的那个请求;若一次批量或聚合请求同时涉及多个对象、动作,返回的允许或拒绝是整批判定,不能拆成逐项许可清单。适用前提是请求粒度与授权粒度能对齐,且对象标识、动作、执行身份和生效时段都可对应;条件授权、临时凭证、共享执行身份或跨对象转移会让多项判定合在一起,只能记录整批现象。未发出的请求不在结论范围内,会话内许可被收回后也要重放。




读者评论
说得好,不过我觉得预算紧的话没必要一步到位。
看完手痒,晚上回去就试试,回头来汇报效果。
遇到过类似的情况,折腾半天结果是环境的问题。
有个疑问,天热和天冷的时候表现会不会不一样?
不完全认同,我觉得舒服就行,没必要死磕最优。