when[where]:同一请求,换个时间地点就从准变拒
有一类条件,既不属于「人」也不属于「物」,而属于请求发生的现场 —— 环境 / 情境 (environment / context):当前时刻、星期几、来自哪个网络 (公司 / 家里 / 境外)、 使用何种设备 (公司托管 / 个人)、是否已通过 MFA。将 who / what / action 全部固定,只改动情境, 观察完全相同的请求如何在「工作日 10:00 从公司」被准许、在「深夜从境外」被拒绝。
选个场景 (它固定 who / action / what,只留情境给你调)
when —— 时间
10:00
where —— 地点 / 设备
policy 规则 (亮 = 命中;高亮 = 决定性规则)
决策 (deny-overrides)
其一,场景「admin 导出预算」:office + 托管设备 → 准;将网络切换至境外 →
r-abroad 一票否决 → 拒;
或将设备切换为个人且关闭 MFA → r-mfa 拦截 → 拒。
其二,场景「approver 审批」:工作日 10:00 → 准;将时刻拖至 22:00 或星期切换为周日 → 不在工作时间、
r-approve 不再命中 → 无人放行 → 默认拒绝。