目标
每个项目都授过没人记得回收的管理员权限。把盘点与人事数据联结、用带过期的责任人签署、沉默默认回收——特权就从只增不减的棘轮变成周期性衰减的循环。最后一次使用时间替你完成大部分说服:180 天没用的授权自己就会替删除它辩护。
步骤要点
- 盘点全部特权主体:枚举各系统的管理员账号、角色授予、数据库超用户与 sudo 规则,汇总为含最近使用日期的清单。
- 与在职与角色数据联结:补齐当前角色、团队、在职状态,机械标记离职者与权限已过期的角色变更。
- 收集责任人签署:留存授权需 owning 团队签署业务需要并给出续期时限,逾期未签默认回收。
- 分批回收并验证:批量移除未签署与被标记项,回收后验证合法访问仍然工作。
- 常驻权限转即时提升:幸存授权评估改为带审批与时限的 break-glass,下次审查的基线更小。
排错提示
审查期末尾没人回复说明默认没设成回收,把沉默的语义从保留改为吊销;离职账号还持有权限是离职流程没挂回收钩子,把 IAM 清理接进 HR 终止事件;回收后关键路径坏了说明验证步骤缺失,每批回收都要复测应急通道。
适用边界
盘点的完备性依赖各系统的可枚举性,影子本地账号是常见盲区需主机侧扫描;JIT 提升对值班响应速度有影响,break-glass 窗口时长要与演练能力匹配。
代码示例
inventory: 312 privileged principals across 9 systems
join with HR/role data:
departed, grant active 7 -> auto-revoke
role changed, grant outdated 23 -> flag
active + plausible 282 -> attest
attestation round (2 weeks, 2 reminders):
attested w/ expiry 196 (mean expiry 90d)
unattested 86 -> REVOKE (default)
revocation batch 1 (IAM):
41 grants removed, critical paths re-tested OK
JIT migration: db superuser x 12 -> break-glass (4h window)