AI 智能体的最小权限原则:身份、访问与工具绑定
导语:随着 AI 智能体日益自主,其身份、访问和审计控制成为安全的关键支柱。本文探讨了在 AI 智能体场景中落实最小权限原则、托管身份与工具绑定的核心思路与最佳实践。
AI 智能体不仅仅是更聪明的 API 调用者。它们会进行规划,跨系统串联动作,并按顺序调用工具,而其中每一步都没有人类明确审批。这种架构现实带来了身份与授权方面的挑战,而组织仍在逐步演进以应对这些问题。
当智能体在没有托管身份和最小权限基于角色的访问控制(RBAC)的情况下运行时,如果控制措施未正确配置,它可能会访问或修改超出预期权限的敏感数据。由于智能体可以在单个工作流中跨多个系统运行,配置错误的权限可能比传统服务账号场景带来更大的潜在影响,具体程度取决于系统的配置和范围。组织部署智能体能力(多步骤自动化、委派动作、工具使用)的速度,快于其身份和授权模型为安全约束这些能力而演进的速度。
由此产生的风险敞口可能非常显著,可能包括未经授权的数据访问、意外的写入或删除操作,以及因角色分配过宽而导致的潜在权限提升。在某些情况下,这些状况还可能导致可审计性方面的缺口,从而使网络攻击检测、事件响应和监管问询变得不必要地复杂。

正确的思维模型是将每个智能体视为一等主体:为其赋予具备生命周期管理的身份,明确分配角色,严格限定其权限范围,并将工具使用范围限定在预先配置的工具清单或配置之内。
风险会出现在真实实施中。考虑一个常见模式:某团队为智能体配置了一个宽泛的"读取者(Reader)"角色,因为这样很快捷,并且初始用例看起来只是只读的。随后,工作流扩展到包含修复其所发现问题的功能,智能体突然也需要写访问权限。团队没有重新思考角色设计,而是授予了比预期更宽的权限,然后就继续推进了。
权限蔓延是悄然发生、逐步累积且很少被重新审视的。当智能体跨多个工具工作时,相关问题随之出现。一个可以访问电子邮件、文件系统、工单系统以及代码仓库的智能体,在每个单独集成点看起来风险都不高,但组合起来却让它能够跨系统关联数据,并执行没有人作为整体明确授权的动作。跨系统的组合访问所产生的有效权限,可能比单独评估时更为广泛。
在这两种场景之下,存在一个团队始终无法清晰回答的问题:智能体究竟是以自身身份行事,还是在委派用户范围内行事,或是两者的某种混合?这种模糊性很重要,因为它决定了当出现问题时谁应承担责任,以及实际上需要哪些审批。

当答案没有在事前文档化并强制执行时,它会在最糟糕的场景下显现:在事件调查中,日志可能记录了调用了哪个工具,却无法回答关键问题,例如:是谁授权了该动作、基于什么角色,或者该动作是否在预期范围内。如果控制措施没有正确限定范围,敏感数据可能被超出其预期受众的对象检索或汇总。
一个智能体贴心地自动化执行了某项修复步骤,却修改或删除了它本不应该触及的内容。随后调查陷入停滞,并非因为日志缺失,而是因为身份模型从未足够清晰,使其日志具有意义。这使组织陷入被动应对的局面,需要解决领导层无法向客户、媒体或审计人员完全说明的问题。
关于智能体身份和授权设计的最佳实践,实施多重控制的目的在于在合理配置和应用时帮助降低智能体动作的潜在影响,同时使权限决策显式化,并在出现意外或非预期结果时支持问责。

面向团队的推荐实践通常包括建立并文档化以下内容:(1) 一个唯一的、专用的智能体主体,具有指定的所有者和明确的目的;(2) 最小权限的、基于任务的角色,其范围限定于智能体所需的特定资源和数据;(3) 受控的工具访问,旨在将智能体限制在经批准的动作之内;(4) 端到端的可审计性,以便能够快速回答"发生了什么、在什么授权下发生的、以及什么发生了变更"。
在实践中,限时特性通常应应用于权限授予(角色激活、令牌或审批),而不是试图为每个任务创建一个新的身份。大多数真实部署会保持智能体身份的稳定以便进行生命周期管理,同时使用恰时(JIT)提权,仅在特定工作流期间授予严格限定的权限。
首先,将智能体打造为一等主体。创建一个专用的智能体身份(而非共享密钥或复用的服务账号),文档化其目的声明("它被允许做什么以及为什么"),并指派明确的人类所有者负责审批和事件响应。从第一天起就内置生命周期管理:入职检查、凭证轮换、暂停/下线流程,以及能够真正使凭证和令牌失效的快速关闭机制。然后围绕离散任务而非团队或组织架构来设计基于角色的访问控制(RBAC)。
来源信息
来源:Microsoft Security Blog
作者:Yesenia Yser and Toby Kohlenberg

