门禁失败后的凭证回滚边界

2 人参与

门禁失败后,最容易出现的场面是:流水线卡住,大家先把旧令牌和原有权限恢复,等业务跑通再说。看起来省事,实际上很可能把刚收紧的权限又全部放回去。真正要划清的边界是,回滚只能恢复扫描所必需的能力,不能顺手恢复创建分支、推送代码、合并请求或修改仓库设置等无关权限。

先看失败发生在哪一段。扫描器无法检出目标提交,可能是缺少代码或目标分支的读取权限;SCA 失败,可能是依赖清单或锁定文件没有读到;报告没有显示,则可能只是结果回传身份出了问题。这几类故障不能用同一把“组织级读写钥匙”解决。应保存失败日志、扫描配置版本和凭证变更记录,再按具体环节补回最小权限。

如果确实需要临时恢复旧凭证,也应把范围锁在受影响的仓库和任务上,并设置明确的撤销时间。受保护分支、审批要求和合并门禁仍然要保持,恢复期间还要记录谁在什么任务中使用了这份凭证。旧凭证的短暂复活,只是为了恢复服务,不能变成新的长期配置。

回滚完成后,事情还没结束。应重新运行合并请求,分别确认 SAST 能读到源文件,SCA 能读到依赖文件,结果能够正常回传,门禁也不会把“扫描器无权限”误判成通过。同时检查审计记录,确认凭证没有执行不必要的写操作。若需要写回检查状态,最好由独立的 CI 身份承担,扫描器本身继续保持只读。

判断回滚是否越界,可以问四个问题:恢复的是哪个读取能力,影响了哪些仓库,临时凭证何时撤销,谁负责重新签发最小权限凭证。只要这四个问题答不清,回滚就还没有形成边界。咱们看门禁时,既要关心流水线能不能变绿,也要看它是否因此重新拿回了改代码的能力。

参与讨论

2 条评论
  • Duskshroud

    回滚权限真不能一键全开

  • 月影游侠

    最小权限这个边界很关键