配置系统访问权限策略需“收窄入口、分层校验、动态约束”,在身份识别、操作授权、数据访问、行为审计四环节同步设防,融合rbac与abac模型,强制二次认证敏感操作,后端api独立鉴权,数据库查询注入租户过滤,文件操作校验路径白名单,windows环境强化uac与服务提权防护,并建立运行时监控与响应闭环。

配置系统访问权限策略,核心是“收窄入口、分层校验、动态约束”。不能只靠前端隐藏菜单或单点拦截,必须在身份识别、操作授权、数据访问、行为审计四个环节同步设防。
基于角色与属性的权限模型落地
单纯RBAC(基于角色的访问控制)已不足以应对复杂业务场景。建议叠加ABAC(基于属性的访问控制):
- 角色决定“能进哪个门”,属性决定“进门后能看哪几间屋”。例如销售角色可访问客户模块,但数据过滤器自动附加AND region = '华东' AND owner_id = {current_user_id}条件
- 敏感操作(如导出、删除、权限变更)必须强制二次认证,不接受Token复用
- 避免硬编码角色名,使用SID或唯一策略ID标识权限项,防止重命名绕过
接口与数据层强制权限校验
所有后端API必须独立完成权限判断,不信任任何前端传参或会话状态:
- 每个请求进入业务逻辑前,先执行统一鉴权中间件:验证用户是否具备该接口所需的最小特权(如SeDebugPrivilege用于进程调试类接口)
- 数据库查询一律通过ORM拦截器或视图层注入租户/归属过滤,禁用拼接SQL
- 文件操作需校验路径白名单与所有权,禁止使用相对路径或用户可控路径参数(防范目录遍历+越权读取)
UAC与服务级提权防护加固
Windows环境需结合系统级机制抑制本地提权链路:
- UAC设置不低于“默认通知”级别;禁用“从不通知”,避免服务以高权限自启后被劫持
- 审查所有本地服务:关闭未引用的服务路径(ServiceImagePath含空格且无引号)、禁用非必要AutoElevate COM接口(如ICMLuaUtil)
- 对TrustedInstaller保护的系统目录(如C:\Windows\System32),启用SACL审计,记录异常访问尝试
运行时监控与响应闭环
权限策略不是静态配置,而是持续验证的过程:
- 记录每次权限决策日志,包含主体SID、请求资源、判定依据、结果(允许/拒绝)
- 对高频越权尝试(如1分钟内5次访问他人客户ID)触发实时告警并冻结会话
- 每月执行权限有效性扫描:比对实际分配权限与岗位说明书要求,清理冗余授权











