← 中文资源

简体中文版本

授权模型评审工作流

记录授权模型、测试角色与权限边界、查找权限蔓延,并在模型与实现漂移前加以调整。

阅读英文原文

概述

授权模型一旦与实现和实际分配脱节,就会同时出现越权与漏权。把角色、权限与预期策略写成可评审的文档,测试最小权限、跨租户与管理员路径等边界,审查实际分配中的权限蔓延,再据此调整,可让模型与事实重新对齐。

关键步骤

  1. 记录角色、权限与预期策略。
  2. 测试边界:最小权限角色、跨租户访问、管理员路径。
  3. 审查实际分配以发现权限蔓延。
  4. 调整角色与测试以闭合缺口。

验证

  • 故意移除检查时边界测试会失败。
  • 没有用户拥有模型无法解释的权限。
  • 跨租户访问被拒。
  • 角色目录版本更新。

决策点

对象级与租户级规则需 RBAC 结合属性条件,纯 RBAC 无法表达归属;角色变更应由具名审批人完成并分离职责。

适用范围

本条目围绕「授权模型评审工作流」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

// boundary test: user in another tenant must not read this object
const res = await api.get(`/orders/${otherTenantOrder}`, asTenantA);
expect(res.status).toBe(404);