MCP工具权限矩阵怎么设计:先把可读、可写和高风险动作分开

Written by

in

MCP让模型接入工具变得顺手,但顺手也意味着边界更容易被忽略。很多团队一开始只关心“这个工具能不能调通”,等进入生产环境后才发现,更难的问题是“谁能调、能调到什么程度、出了问题怎么追”。

如果把所有工具都当成同一类能力,AI Agent很快会从“辅助查询”变成“可以对业务系统做动作的自动化入口”。这时只靠提示词约束不够,应该在AI中转站或网关层建立工具权限矩阵。

第一层:可读和可写必须分开

最基础的分级是可读工具和可写工具。

可读工具包括知识库查询、订单状态查询、文档检索、日志摘要等。可写工具包括创建工单、修改配置、发送邮件、更新客户资料、触发部署等。两者风险完全不同,不应该共用同一套授权。

一个稳妥的做法是:默认只开放可读工具,可写工具需要单独启用,并且绑定调用来源、用户角色和环境标签。

第二层:高风险动作单独列出

可写工具里还要继续拆高风险动作。例如删除数据、批量修改、对外发送、退款、权限变更、生产环境发布,这些动作即使技术上可以自动化,也不应该和普通写入放在一起。

高风险动作至少要有:

  • 二次确认
  • 参数白名单
  • 调用频率限制
  • 审计日志
  • 必要时人工审批

AI中转站的价值就在这里:它可以在模型和工具之间加一层统一策略,而不是让每个业务应用各写一套半成品权限逻辑。

第三层:环境边界不能省

很多事故不是因为工具危险,而是因为工具打到了错误环境。测试环境可以宽一些,生产环境必须窄一些;内部演示可以松一些,面向外部用户必须严一些。

权限矩阵里建议显式加入:

  • env=dev
  • env=staging
  • env=prod
  • audience=internal/external

这样网关能在执行前判断:这个Agent现在是否有资格调用生产工具。

第四层:参数也属于权限

权限不只是“能不能调用某工具”,还包括“能用哪些参数调用”。例如一个查询工具允许查自己的团队数据,不代表允许查全公司数据;允许创建普通工单,不代表允许创建最高优先级工单。

因此工具参数最好做结构化校验:字段白名单、枚举限制、长度限制、敏感字段过滤、资源归属校验。模型输出再合理,也不能绕过这些规则。

用中转站统一治理

如果每个Agent自己处理权限,后续会非常难维护。有人把规则写在提示词里,有人写在业务代码里,有人只在前端隐藏按钮,风险很快变得不可见。

https://top-api.cc 这样的统一入口更适合作为收口层:把模型调用、工具权限、预算、日志和回退策略放在一起管理。这样团队不是给每个工具单独补安全补丁,而是在入口处建立一致的治理规则。

结语

MCP工具权限矩阵不需要一开始就复杂,但必须从第一天区分可读、可写和高风险动作。工具越强,越要把授权、参数和环境边界前置。否则AI Agent看起来更聪明,系统实际却更难控。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *