SuperAPI AI 工具集

access-control-designer

安全与审计

查看项目

更新于 10-20 02:48

技能介绍

用途

该技能用于为正在构建的产品设计应用级授权体系:定义角色、建立权限矩阵,并在服务端和 UI 两端一致地执行权限控制。它强调“矩阵是唯一工件”,Pundit 策略、CASL 门控以及按角色的 UX 审查都从矩阵派生,不保留第二份副本。

主要能力

  • 设计按租户划分的客户角色(建议 4-6 个),以岗位职责而非职级命名。
  • 构建权限矩阵:行为 资源.动作 形式的权限键,列为角色,单元格为作用域(— / own / team / org / all),并标注所需的套餐权益。
  • 决定角色模型:默认代码定义角色与角色→权限分配,仅当客户管理员需运行时创建角色时才使用数据库存储分配,且权限键仍保留在代码中。
  • 用 Pundit 策略执行矩阵行,每个策略谓词对应一行,Scope#resolve 将作用域列转为查询条件。
  • 通过 /api/v1/me 暴露当前组织下的有效权限,服务端生成 CASL 规则。
  • 按顺序门控 UI:无权限不渲染;有权限但缺权益则可见并锁定;有权限有权益但记录状态阻止则禁用并显示原因。
  • 执行授权管理规则:授予不得超出授予者自身权限、禁止自我授权、最后所有者保护、追加式审计事件。
  • 验证:基于矩阵的策略测试覆盖每个角色×权限键,包含跨租户 404 用例,以及文档与源文件逐格对比的文档测试和按角色的 UI 测试。

使用方式

该技能以步骤引导的方式工作,依次完成角色定义、矩阵构建、角色模型决策(必要时记录 ADR)、Pundit 执行、/me 契约、UI 门控、按角色审查、验证和授权审计。深度指南按需阅读,不预加载。输出包括角色画像、矩阵表格及源文件、策略与作用域计划、/me 契约、按角色的门控表以及测试计划。

适用场景

适用于需要为多租户 B2B 产品实现精细授权体系的 Rails/React 技术栈项目,也提供 Django/DRF 和 FastAPI 的等效执行方式参考。适合在需求咨询产出草案矩阵后开始,或从零设计应用授权。

限制

该技能不处理 Claude Code 自身的权限设置、多租户成员关系/计划权益、认证(登录、令牌、JWT 撤销)、403 渲染、ARIA 机制、Next.js 或 Phlex UI 构建等,这些由其他技能或代理负责。角色模型选择(代码定义 vs 数据库存储)代价高昂且难以逆转,需通过架构顾问记录 ADR。