身份验证与授权
身份验证证明您是谁;授权决定您可以做什么。涵盖常见威胁、检测与缓解的核心安全概念。
快速解答
身份验证证明身份,而授权在之后控制访问;安全的系统将强身份验证(例如 MFA)与最小权限授权相结合,并明确区分这两项检查。
定义
身份验证核实主体声明的身份;授权决定该主体在身份验证成功后可以访问哪些资源以及执行哪些操作。
它是什么
身份验证确认谁在发出声明(“证明您是此用户”),而授权确认该已验证主体可以做什么(“该用户能否读取此记录”)。它们是两个不同的步骤,不应混为一谈。
为什么重要
大多数基于身份的事件并非单纯的身份验证失败——而是授权失败:令牌存活时间过长、权限超出最小权限原则,或授权路径上缺少检查。将它们视为一个步骤会导致权限过宽和权限提升。
它如何工作
- 身份验证因素:您知道的事物(密码)、您拥有的事物(TOTP 设备)、您是什么(生物特征)。MFA 组合多个因素。
- 授权模型:ACL、RBAC(基于角色)、ABAC(基于属性/资源/策略)——针对已验证的主体进行评估。
- 会话绑定授权:授权决策绑定到已认证的会话/令牌(参见
security:http-sessions-cookies)。
检测
- 有效凭据的异常使用(不可能旅行、非工作时段访问)。
- 未经授权请求而突然出现的权限/配置文件变更。
- 多次身份验证失败后紧随一次成功登录(撞库 / 密码喷洒)。
缓解
- 在所有特权账户和面向客户的账户上启用 MFA(参见
security:identity-mfa)。 - 通过角色界定范围来强制最小权限;在每次请求时重新验证授权,绝不只信任客户端声明。
- 将授权绑定到短生命周期的会话,并在终止或角色变更时撤销。
- 记录身份验证成功/失败和授权拒绝事件,供 SOC 审查。
调查
对于疑似账户失陷或权限提升事件,收集:身份验证日志、授权决策、会话/令牌签发记录,以及受影响主体的变更历史。在遏制之前先接入事件流程。