权限矩阵是什么
权限矩阵用「角色 × 资源 × 操作」三要素梳理权限用例:每格标注允许或拒绝,边界一目了然。覆盖重点不只在允许路径,更在拒绝路径:水平与垂直越权、匿名访问、权限变更后的旧会话、多租户数据隔离。矩阵是评审与回归的共同语言,权限模型改动后按矩阵选取受影响格子回归即可。
基本信息
| 矩阵三要素 | 角色 × 资源 × 操作,每格标注允许或拒绝 |
|---|---|
| 越权类型 | 水平越权(同角色跨用户或租户)、垂直越权(低角色做高权限操作) |
| 覆盖重点 | 拒绝路径、匿名访问、权限变更后的会话 |
| 验证层面 | 界面入口隐藏只是体验,服务端鉴权才是安全边界 |
| 回归方式 | 权限改动后按矩阵选取受影响格子小范围回归 |
矩阵示例
矩阵示例
| 角色 | 查看 | 编辑 | 删除 |
| 管理员 | 允许 | 允许 | 允许 |
| 编辑 | 允许 | 允许 | 拒绝 |
| 访客 | 允许 | 拒绝 | 拒绝 |
# 每格可派生两条用例:允许路径 + 直调接口的越权尝试典型使用场景
- 新功能上线:按矩阵补全各角色可见性与操作项用例。
- 权限模型调整:角色变更后回归受影响格子。
- 安全测试:用低权限令牌直接调用接口,验证服务端拒绝。
- 多租户系统:交叉访问他人租户数据,验证隔离。
- 会话与缓存:权限被撤销后,旧会话与缓存令牌是否立即失效。
- 审计日志:拒绝操作是否留下可追溯记录。
用例清单示例
| 格子 | 操作 | 预期 |
|---|---|---|
| 访客 × 删除 | 直接调用删除接口 | 403 且数据未变 |
| 编辑 × 他人数据 | 改 URL 中的资源 ID | 403 或 404,无越权数据 |
| 管理员 × 全部 | 正常链路 | 操作成功且日志完整 |
越权用例要同时覆盖界面入口隐藏与接口直接调用:前端限制不构成安全边界。
拒绝响应口径全站统一:403、404 还是业务错误码按团队约定执行,前端与审计才有一致预期。