Copilot Studio Client S2S深度解析Microsoft 365 Agents SDK如何通过D2E API免Bot Service直连【免费下载链接】AgentsThe Microsoft 365 Agent SDK simplifies building full stack, multichannel, trusted agents for platforms including M365, Teams, Copilot Studio, and Webchat.项目地址: https://gitcode.com/gh_mirrors/agents/Agents本文带你完整理解 Copilot Studio Client S2S 直连机制微软开源的 Microsoft 365 Agents SDKGitHub 加速计划 / agents / Agents 项目基于 D2EDirect-to-EngineAPI让你的应用跳过 Azure Bot Service凭 Entra ID 令牌直接调用已发布的 Copilot Studio 智能体。这是目前构建跨后端、多通道、可信任 Agent 应用的关键能力全文将用最简步骤带你跑通第一条对话。 什么是 S2S 直连一张表看懂 D2E 与 DirectLine 的区别传统上程序化调用 Copilot Studio 智能体需要走 DirectLine 通道中间必须经过一次 Azure Bot ServiceABS中转。而 S2SServer-to-Server直连模式下请求路径被大幅缩短对比维度DirectLineD2E 直连S2S请求路径客户端 → Azure Bot Service → MCS客户端 → PPAPI 网关 → MCS身份认证DirectLine secret/token自定义仅支持 Entra IDAADJWT通信协议Activity ProtocolActivity Protocol时延表现较高多一跳 ABS更低无 ABS 中转S2S 支持需自定义流程原生支持 App-only 或 OBO 令牌PPAPI是位于 D2E 控制器之前的前门负责校验 JWT 签名下游所有服务直接信任网关已验证的声明因此直连链路依然安全可控。该能力目前处于Private Preview阶段按环境/租户粒度开启官方完整说明见 docs/copilot-studio-client-s2s-doc.md。⚡ 两种集成模式App-only 与用户委托OBO怎么选模式令牌类型用户上下文适用场景True S2S应用上下文客户端凭据流程获取的 App-only 令牌无后端到后端、调度/代理类应用、匿名智能体Agent 需设为 No Authentication 模式用户委托 S2SOBO委托令牌On-Behalf-Of有应用代表用户发起调用、已启用身份认证的智能体OBO 模式的访问规则应用代理至少拥有 Agent 的 viewer 权限且用户本人也具备访问权owner / viewer / editor两者缺一不可。 快速上手四步完成 Copilot Studio Client S2S 连接第一步在 Copilot Studio 创建并发布 Agent在 Copilot Studio 中创建 Agent 并发布然后进入Settings → Advanced → Metadata记下三个关键值Schema Name、Environment Id、Tenant Id。若使用 True S2S 模式还需将智能体认证设为No Authentication。第二步在 Entra ID 创建应用注册并授权在 Azure 门户创建新的 App Registration添加Power Platform API的CopilotStudio.Copilots.Invoke权限按场景选择 Delegated 或 Application由租户管理员授予管理员同意生成 Client Secret或接入托管身份/联合凭据。第三步将 Agent 共享给应用身份在 Copilot Studio 打开 Agent点击右上角 … →Share搜索并选中你的应用身份授予 viewer 权限并确认共享列表中已出现该应用。这一步是运行时 ACL 校验的前提。第四步配置并运行 Copilot Studio Client核心配置项如下.NET 示例取自samples/dotnet/copilotstudio-client/appsettings.json配置项说明EnvironmentId/SchemaName/TenantId来自 Agent 元数据三件套定位目标智能体也可直接提供DirectConnectUrl替代AppClientId应用注册的 Client IDAppClientSecret仅 True S2S 需要UseS2SConnectiontrue 应用上下文false 用户委托OBO项目为三大语言提供了官方客户端示例均可直接参考.NET 示例samples/dotnet/copilotstudio-client/核心代码 Program.cs、S2S 令牌处理 AddTokenHandlerS2S.csNode.js 示例samples/nodejs/copilotstudio-client/Python 示例samples/python/copilotstudio-client/运行前按各示例中的 env/appsettings 模板填入凭据启动后即可获得控制台对话界面完成与已发布 Agent 的第一轮对话。 三道安全护栏防止跨轮次会话劫持S2S 直连虽然免去了 Bot Service但安全校验并未减少。系统会在每轮请求中执行三项身份一致性检查检查项行为失败时错误码应用身份一致性应用发起的会话只能由同一应用相同 ObjectId继续CallerIdentityMismatch用户身份一致性用户委托会话只能由同一用户继续CallerIdentityMismatch身份类型一致性App-only 会话不能被委托身份继续反之亦然CallerIdentityTypeMismatch这些检查叠加在 PPAPI 网关 JWT 校验、每 Agent 共享 ACL 以及不可变的 ConversationInfo 记录之上。此外请牢记两条硬约束仅限同租户调用方应用必须与 Agent 在同一租户以及True S2S 要求匿名模式应用上下文中无用户用户级认证的工具与连接不可用。官方建议在启用 S2S 时通过 DLP数据防泄漏策略限制智能体通道仅保留明确用于 S2S 的入口以符合企业安全治理要求。 延伸阅读与项目资源S2S 官方设计文档含 Hello World 全流程、测试场景清单docs/copilot-studio-client-s2s-doc.md.NET S2S 客户端示例samples/dotnet/copilotstudio-client/Node.js 客户端示例samples/nodejs/copilotstudio-client/Python 客户端示例samples/python/copilotstudio-client/OBO 授权完整示例用户委托 S2S 的进阶参考samples/dotnet/obo-authorization/错误码速查AgentErrorCodes.md、AgentErrorCodesJS.md一句话总结只需完成应用注册 共享授权 客户端配置三步Microsoft 365 Agents SDK 的 Copilot Studio Client 即可通过 D2E API 免 Bot Service 直连你的智能体——更低时延、原生 Entra 认证、企业级 ACL 护栏一次搞定。【免费下载链接】AgentsThe Microsoft 365 Agent SDK simplifies building full stack, multichannel, trusted agents for platforms including M365, Teams, Copilot Studio, and Webchat.项目地址: https://gitcode.com/gh_mirrors/agents/Agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考