部署到Microsoft Teams的Azure AI Foundry代理最小权限:规避终端用户Azure AI User角色
关于Azure AI User角色适配终端用户的问题
问题背景
我们正在部署基于Azure AI Foundry构建的机器人/代理,并通过Microsoft Teams向用户开放。目前代理依赖内置的Azure AI User角色访问AI Foundry中的模型和项目工件,以此实现用户通过Teams与代理通信的功能。虽然该配置能正常运行,但存在明显安全隐患:
- Azure AI User角色除了支持用户通过Teams和代理聊天,还附带以下权限:
- 访问Azure AI Foundry项目
- 查看并修改项目配置
- 编辑代理指令及工件
- 我们不希望Teams终端用户拥有查看或编辑AI Foundry项目、指令的权限
- 终端用户仅需具备在Teams中与代理聊天的能力,不需要其他额外权限
核心疑问
Azure AI User角色是否适合终端用户使用,还是仅为开发者/运维人员设计?
回答
Azure AI User角色并不适合终端用户,它本质是为开发者、运维人员这类需要接触AI Foundry项目内部资源的角色设计的。
从权限范围就能看出来,这个角色赋予的项目访问、配置修改、指令编辑权限,完全超出了终端用户仅需聊天的需求,会带来不必要的安全风险——终端用户可能误操作甚至恶意修改项目内容,破坏代理的正常运行。
正确的做法应该是避免直接给终端用户分配Azure AI User角色,而是通过服务主体(Service Principal)让代理自身获取访问AI Foundry资源的权限,终端用户只需要拥有Teams中与代理交互的权限即可,不需要直接关联到Azure AI Foundry的角色权限。
内容的提问来源于stack exchange,提问作者Joshua Duxbury




