AI Agent跨系统执行操作 身份和权限应该怎么管 一个典型场景正在很多公司内部悄悄上演某个团队给自己的AI Agent配了一个Reader角色因为初始需求只是让它查询文档。几周后工作流扩展了——Agent需要修复发现的问题于是权限升级到了Writer再升级到了Editor。没有人专门做这个决定只是每次遇到权限不足就往上加一层。半年后回头看这个Agent已经拥有了比最初预期大得多的权限范围。Microsoft安全团队在7月16日发布了一篇关于AI Agent最小权限原则的文章讨论的就是这个问题。文章提出的核心问题是当Agent从辅助工具变成自主执行者它的身份和权限该怎么管理当前的做法是大部分团队没有认真想过这个问题。Agent使用共享的服务账号、或者继承调用者的权限、或者被赋予一个宽泛的角色——这些做法在Agent只做简单问询时不会出问题但当Agent开始跨系统操作时风险正在累积。权限越界不是一次性事件Microsoft在文章中描述了一个容易被忽视的问题Agent的权限越界通常是渐进的。一个Agent最初只读邮件后来需要写工单再后来需要修改代码仓库。每次权限扩展单独看都合理但组合在一起Agent就拥有了跨越多个系统的数据关联和操作能力。这与传统服务账户有很大不同。传统服务账户通常只操作一个系统权限边界相对清晰。而Agent天然跨系统工作——它可能同时访问邮件系统、工单系统、代码仓库和云控制台。每个系统单独看权限都不大但组合起来的隐式权限可能远超任何人的预期。更关键的是当Agent出错时日志记录的是什么工具被调用了但回答不了更关键的问题谁授权了这个操作用的是哪个角色是否在授权范围内Agent用自己的身份执行还是代表某个用户执行这个模糊地带一旦在事故调查中出现就成了无法回答的问题。每一个Agent都应该有一级身份Microsoft建议的解决思路很直接把Agent当作一级主体first-class principal来对待。每个Agent有独立的生命周期管理身份、明确的目标声明、细粒度的基于任务的角色以及经过审核的工具白名单。这个思路看起来简单实际操作中却会遇到不少阻力。最现实的问题是谁负责管理这些Agent身份在传统IAM体系中为每个服务创建一个独立的服务账户已经是最佳实践但现实中很多团队依然共用一个账号。Agent的数量增长比微服务更快——一个团队可能同时运行十几个Agent每个都管理一个独立身份IAM团队的工作量会急剧上升。Microsoft提出的折中方案是使用JIT即时权限提升。Agent保留一个最小权限的基线角色当工作流确实需要更高权限时通过时间限制的临时角色激活或短期令牌来实现工作流完成后自动回退到基线。这个模式在传统基础设施中已经被广泛使用但在Agent场景下还不常见。工具绑定比角色设计更容易落地文章中另一个值得关注的点是工具绑定tool binding。与其试图设计完美的角色体系不如先做好工具访问控制——给Agent一个白名单明确哪些工具能调用、哪些操作能执行。这个思路比设计精细的RBAC模型更容易落地因为工具调用是Agent的核心行为控制好工具入口就能挡住大部分越界操作。实际操作中工具绑定还可以与下游系统的二次验证配合。Agent调用某个工具的API时下游系统不应该信任上游的授权声明而是重新检查调用者的身份、角色和权限范围。这个零信任原则在安全领域不新鲜但在Agent架构中几乎没有人落实——大部分实现中Agent调用工具时工具端默认信任Agent端传递的身份信息。从工程落地的角度看Microsoft建议的优先级很清晰先盘点现有的Agent身份、清除宽泛的角色、建立基于任务的细粒度权限、实施工具白名单、确保端到端审计日志。这个过程中最容易出问题的是第一步——很多团队根本不知道自己有多少Agent在运行、每个Agent用什么身份。Agent身份管理正在变成必须面对的问题Agent从实验性项目进入生产环境的速度超出了安全团队的跟进能力。Microsoft的文章实际上在提醒一个更本质的问题当Agent开始执行跨系统操作安全模型的抽象层级需要改变。过去的安全模型关注人和服务人登录系统、服务调用API。Agent打破了这两者的边界——它既不是纯粹的人没有人类的判断力也不是纯粹的服务有自主决策能力。这种中间状态对现有安全架构的冲击可能比大多数团队意识到的更大。对开发者来说最直接的行动指标是检查自己正在运行的生产Agent回答三个问题——这个Agent的身份是什么它有哪些权限这些权限是怎么授予的如果这三个问题中有任何一个回答不清楚就说明权限管理上存在隐患。而且这种隐患往往是沉默的——不会立刻出问题但一旦出问题影响的可能是整个系统的数据安全。关于维基框架维基框架关注企业应用开发中的长期维护问题。在实际项目中业务系统往往同时涉及权限、微服务、接口协议、部署环境等复杂因素因此我们希望提供一套更容易扩展和维护的基础框架。官网framewiki.comGiteegitee.com/wiki-frameworkGitHubgithub.com/wiki-framework示例项目gitee.com/cdkjframework/framewiki-example 许可证MulanPSL-2.0木兰宽松许可证第2版