权限最小化校验Skill
适用场景
上线前与定期巡检时,核对人员账号、服务账号、云 IAM、数据库账号、K8s 权限的最小可用原则落实情况。
执行步骤
- 盘点权限对象:人员账号、服务账号/API Key、云 IAM 角色、数据库账号、K8s RBAC、sudo 权限。
- 逐对象核对「实际所需权限」与「当前授予权限」的差距(见下表)。
- 识别超权项:长期不用的权限、过宽的 Action/表级权限、共享账号、未设置过期的临时授权。
- 输出收敛方案:按「能跑业务的最小集合」裁剪权限,变更前在测试环境验证可用性。
- 建立长效约束:权限申请走审批、临时权限设到期自动回收、季度复核。
核对清单
| 对象 | 最小可用核对点 |
|---|---|
| 人员账号 | 按岗位分角色;离职/转岗即时回收;禁用默认与共享账号 |
| 服务账号 | 一个服务一个账号;权限限定所需资源;密钥独立轮换 |
| 云 IAM | 用预置最小策略而非 Administrator;按资源维度限定;启用审计 |
| 数据库账号 | 应用账号按库/表授最小 DML;DDL 权限只给变更流程;禁止应用用 root |
| K8s RBAC | 按命名空间限定;避免 cluster-admin 下发到应用;ServiceAccount 逐个最小化 |
| sudo/主机 | 命令级白名单;审计日志开启;root 登录限制 |
规范要点
- 结论附证据:每项超权给出账号、权限清单、实际需要范围、依据(调用日志/职责说明)。
- 发现高危(公网暴露的 root、共享的 cluster-admin、无审计的超管)立即上报并建议暂停相关环节。
- 权限收敛需先验证业务可用性再切换,避免「最小」变成「不可用」。
- 报告中不出现密钥/密码明文,凭证类只写标识与过期状态。
输出模板
## 权限最小化核对表
| 对象 | 当前权限 | 实际需要 | 差距 | 级别 | 收敛动作 | 验证结果 |
自检清单
- 覆盖人员、服务、IAM、数据库、K8s 五类权限对象
- 每条差距有依据与收敛动作
- 收敛动作在测试环境验证过
- 临时授权有过期回收机制