公司刚做完一次内部审计,结果让人后背发凉——三个已离职员工的账号依然拥有核心系统的访问权限。这类问题在中小型企业里太常见了,表面看是流程疏漏,根子上其实是网络授权管理缺少定期校验机制。
授权不是一锤子买卖
很多运维人员以为,用户申请权限、领导审批、后台开通,这事儿就算完了。可现实是,员工调岗、离职、项目结束,这些变动不会自动同步到权限系统。一个开发临时开通的数据库读写权限,项目结束后没收回,半年后成了数据泄露的突破口。
某电商公司就吃过这个亏。促销活动期间给运营临时开放了商品价格修改权限,活动结束没人回收。两个月后,一名被降职的员工用旧账号调低了爆款商品价格,导致平台损失几十万。
怎么才算有效的定期校验
不是每个月导出一遍权限列表走个形式。真正的校验要能回答三个问题:谁有权限?为什么有?现在还需要吗?
建议每季度执行一次完整审查,重点盯三类账户:长期未登录的、权限明显高于岗位需求的、拥有高危操作权限的。可以结合AD日志和堡垒机记录,交叉验证实际使用情况。
自动化脚本减轻负担
手动核对几百个账号不现实。用一段简单的PowerShell脚本就能抓出异常线索:
# 获取过去90天未登录的特权账户
Get-ADUser -Filter {Enabled -eq $true -and PasswordLastSet -lt $((Get-Date).AddDays(-90))} \
-Properties LastLogonDate, DisplayName, Department \
| Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-90)} \
| Select-Object Name, DisplayName, Department, LastLogonDate \
| Export-Csv -Path "stale_accounts.csv" -Encoding UTF8
把输出结果发给各部门主管确认,该冻结的冻结,该回收的回收。这个动作坚持半年,权限混乱的情况会明显改善。
把校验嵌入日常流程
最好的机制是让校验自然发生。比如在HR发起离职流程时,自动触发权限回收工单;项目管理系统标记项目完结后,自动提醒撤销相关临时权限。某物流公司就在OA系统里加了个“权限复核”节点,每次组织架构调整后强制走一遍确认流程。
网络授权管理不是建完就万事大吉。定期校验就像定期体检,查不出大病最好,真发现问题也能早处理。那些躺在系统里的沉睡权限,说不定哪天就变成刺向自己的刀。