首页/系统与基础设施/自动化运维速查/最小权限原则的落地方法
排障与安全50 条

最小权限原则的落地方法

最小权限的落地方式是让权限跟着角色和生命周期走:按任务定义角色、按角色授权、用人员变动与项目结束触发回收,并用访问日志校准哪些授权其实长期未被使用。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​​​‌​‌‌‌​​‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌‌​​‌‌​‌​​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌​‌​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​​​‌‌​‌‌​​‌​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

最小权限是流程而不是配置项

最小权限原则听起来像一句口号,落到工程上其实是一套可检验的动作:明确每个身份需要完成哪些任务、把这些任务需要的权限列出来、按任务授予、定期回收不再需要的部分。它之所以难落地,是因为授权容易、回收困难,权限只会随项目推进不断累加。可执行的做法是让权限跟着角色与生命周期走,而不是跟着人走,并把回收变成有触发条件的固定动作。

基本信息

适用对象服务器账号、服务账号、云资源与数据访问授权
落地抓手角色定义、授权清单、定期复核、离职与项目结束回收
常见阻力紧急授权长期不回收,临时权限变成事实上的默认权限
衡量方式超额权限的账号数量、未复盘的授权条目数量
配套要求访问行为需要留痕,否则无从判断某项权限是否真的被用到

落地五步

  • 梳理任务清单:按角色列出实际要执行的操作,而不是按工具列出权限
  • 定义最小角色:把同类任务合并成少数几个角色,避免每人一套规则
  • 按角色授权:新成员加入时只挂角色,不单独追加权限
  • 建立回收触发条件:人员变动、项目结束、工具下线都应触发权限复核
  • 用行为数据校准:长期未被使用的授权应被清理,而不是默认保留

可检验的检查项

可检验的检查项
id opsuser                       # 身份与所属组是否与角色一致
sudo -l -U opsuser               # 提权范围是否超出任务需要
find /srv -perm -o+w -type d | head -20   # 找出对所有人可写的目录
ssh-keygen -l -f ~/.ssh/authorized_keys   # 核对授权密钥数量与指纹
last -n 20                       # 最近登录记录,用于核对实际使用者
awk -F: '$3>=1000 {print $1}' /etc/passwd  # 列出普通账号,逐一确认必要性

常见超额授权

表现根因修正方向
服务账号可登录终端创建时图方便给了完整 shell改为不可登录或限定来源
共享账号多人使用省去逐人授权的工作量拆分身份并保留审计粒度
临时授权未回收事后无人负责复核设定到期时间与复核责任
目录对所有人可写应急放行后忘记收回收回写权限并改按组授权
权限远超当前任务按历史需求累积按角色重授权并清理多余项
最小权限不是越小越好:权限过紧会导致大量临时加权限的操作,反而使授权临时化、无记录。判断标准是「稳定覆盖常态任务、偶发任务走有审批的临时授权」,而不是无限逼近零权限。
复核需要数据支撑。把提权日志与访问记录按账号聚合,长时间没有任何使用记录的授权项就是最优先的清理对象;没有数据的复核只能靠猜。

易错点

  • 只做一次性梳理:权限会随项目自然膨胀,没有定期复核就会回到原点
  • 共享账号替代逐人授权:审计时无法区分是谁做的,等于放弃追溯能力
  • 临时授权没有到期机制:应急放行一旦长期化,就变成事实上的默认权限
  • 为了少加权限而增加人工操作:过度收紧会催生绕过流程的做法,反而更不安全
  • 回收只做人员变动:项目结束、工具下线同样需要回收,否则会留下大量僵尸权限

数据来源与参考

  • NIST SP 800-53:访问控制与最小权限控制项
  • CIS 基准:账号与授权管理建议
  • Linux 手册页:sudoers(5) 授权粒度

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/least-privilege-implementation-practice.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​​​‌​‌‌‌​​‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌‌​​‌‌​‌​​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌​‌​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​​​‌‌​‌‌​​‌​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​