action + 全部合起来 → 决策:规则冲突时,谁说了算
四个输入 (01-request 装配的四元组) 齐了,交给 PDP (Policy Decision Point)。policy = 一组 rule,每条要么
permit 要么 deny,
各自带一个条件 when(req)。多条同时命中十分常见 —— 如何收敛成一个结论?依靠组合算法
(combining algorithm)。任意调整四个轴、切换算法,观察规则逐条点亮、最终盖下印章。
● who
● action
● what
● when/where
10:00
组合算法 (多条命中时谁赢)
policy 规则 (亮 = 命中当前请求;高亮 = 当前算法选中的决定性规则)
决策
同一个请求,三种算法可能给出三种答案
组合算法不是细节,它本身就是一项策略决定。下面用当前请求同时运行三种算法 —— 当 permit 和 deny 同时命中时,结果便会出现分歧。点击上方的「载入冲突场景」按钮,即可看到最典型的冲突。
deny-overrides 最保守、最常用 —— 安全场景默认它 (有一条拒就拒)。
first-applicable 使顺序 = 优先级,如同防火墙规则链,可控但需谨慎处理规则排序。
无论选哪种,都要配一个默认决策:本系列默认 deny (closed world,没人放行就拒) ——
这几乎总是对的:忘了写规则,应该拒,而不是放。
{ decision, obligations }。将资源调至 L2+ 或将设备切换为个人,即可看到 obligation 出现。