ARTICLE / 2 MIN READ

AI 工具权限引擎:给每次函数调用加上策略、审批和审计

为 Agent 工具调用建立 RBAC、ABAC、风险分级和一次性授权,避免模型成为绕过业务权限的入口。

模型知道工具名称不代表用户有权使用工具。把数据库查询、退款、发消息和发布配置都暴露给 Agent 时,权限检查必须在工具服务端完成,前端隐藏按钮不能作为安全边界。

工具声明风险

工具注册表记录读写级别、目标资源、可接受的参数范围、数据敏感级别、超时和审批要求。查询客户资料与发起退款属于不同风险等级,不能只用一个 can_use_tool 布尔值判断。

策略输入要完整

策略评估同时读取 user_id、tenant_id、角色、资源 owner、环境、来源渠道、当前任务、额度和时间窗口。高风险写操作要求短期授权 token 和幂等键,授权只绑定一个资源和一次动作,过期后自动失效。

让审批成为工作流节点

需要审批的动作返回 approval_required,不把审批人选择交给模型。审批页面展示参数差异、影响范围、回滚方式和证据来源;审批完成后编排器重新校验当前状态,防止旧授权执行在新状态上。

审计拒绝也要记录

审计事件包含调用者、策略版本、工具名、资源摘要、结果、耗时和拒绝原因,敏感参数只留脱敏摘要。定期回放高风险调用,检查是否出现越权、参数越界或绕过审批的路径。

参考资料:Model Context Protocol 授权规范

GITHUB DISCUSSION

评论与回复

评论保存在 GitHub Discussions,登录 GitHub 后即可参与,发布和回复都在本页完成。

评论区进入视口后自动加载。