Microsoft 365 Copilot 架构
Microsoft 365 Copilot 是唯一无法遵循常规模式的集成。编码代理只需拿到服务器地址并被告知进行身份验证即可,而 Copilot 不行。它只与已发布到您的 Microsoft 365 租户中的代理通信,并且会将登录交还给 Microsoft,使用固定的重定向地址。
这一限制决定了本页的一切内容。如需逐步点击的安装说明,请参见 Microsoft 365 Copilot;本页解释这些步骤实际上在做什么。
为什么这是特例
Section titled “为什么这是特例”| Microsoft 施加的限制 | PlaidCloud 的应对方式 |
|---|---|
| Copilot 只运行已发布在您的 M365 应用目录中的代理 | 提供声明式代理包(一个 .zip),由您从控制平面下载,再由 Teams 管理员上传 |
| 登录必须返回到固定的 Microsoft 重定向地址 | 为每个租户配置一个专用的机密 OAuth 客户端,并预先注册该地址 |
| 默认阻止自定义应用 | 需要开启“上传自定义应用”设置策略,这是与全局管理员身份分开的另一个开关 |
| Copilot 按自己的计划重新进行身份验证 | 延长刷新窗口,使登录可持续大约一个月,而不是两三天 |
该包按工作区生成,并以该工作区命名。安装它并不等于授予访问权限,访问权限是下一节的内容,也是人们最容易出错的地方。
已安装代理并成功登录的用户,在管理员为其分配访问级别之前,仍然无法获得任何数据。代理会连接、验证身份,并回答“尚未授予任何访问权限”,这是系统在正常工作,而不是错误。
级别由服务器端根据管理员所做的分配来解析,而不是根据传入令牌声明的任何内容。令牌无法自行提升到更高的级别。
| 级别 | 代理可以… | 典型用途 |
|---|---|---|
| 只读 | 列出并描述项目和表、读取表数据、列出维度成员、解释分摊 | 大多数人,安全的默认选择 |
| 读取和写入 | 上述全部,外加该用户已被允许进行的写入 | 维护数据的分析师 |
| 完整 (已弃用,将于 2027 年 1 月 15 日移除) | 该用户的完整工具集,包括可写入的原始 SQL | 高级用户和构建者 |
另有两条规则:
- 取最宽松者。 如果某人因某种原因拥有多个级别,则适用最高的级别。
- 级别只是上限,而不是授权。 在该上限之内,用户自己的 PlaidCloud 角色和 ACL 仍然适用,因此代理永远不会呈现用户本来无法打开的数据。
永远禁止访问
Section titled “永远禁止访问”无论级别如何,也无论用户自己的权限如何,Copilot 都永远无法访问:
- 连接和凭据设置、谁拥有或可以访问某个连接,或文档账户凭据和访问控制
- 成员管理、分组和角色分配、分发列表、密码重置
- 项目访问控制、项目的 ERP 过账模式以及发布
- 用户定义函数代码和应用部署
这些都是不可逆或涉及凭据的操作,一旦提示词注入导致误触发,代价很高,而且它们很少属于分析工作的一部分。它们始终只能由人工完成。
一个问题的路径
Section titled “一个问题的路径”-
用户在 Teams、Outlook 或 Microsoft 365 聊天中向代理提问。
-
Copilot 调用代理,代理需要 PlaidCloud 身份:首次使用时,它会通过 Microsoft 自己的窗口提示登录,并保存结果。
-
请求携带该用户的令牌到达 PlaidCloud MCP 端点。
-
服务器根据管理员的分配解析其访问级别。没有级别,就没有数据。
-
每次工具调用都会根据级别、用户自己的范围和 ACL 以及拒绝列表进行检查。
-
答案来自真实的查询,并附带置信度信号和注意事项,而不是猜测。
由于每个请求都会实时检查级别,授予访问权限会在该用户的下一条消息时立即生效,无需注销或重新安装。
Copilot 与编码代理对比
Section titled “Copilot 与编码代理对比”两者连接到同一个 MCP 服务器,并遵循相同的强制执行规则,但面向的人群不同:
| Microsoft 365 Copilot | AI 编码代理 | |
|---|---|---|
| 面向谁 | 整个团队,非技术人员 | 分析师和开发人员 |
| 在哪里使用 | Teams、Outlook、M365 聊天 | IDE 或桌面客户端 |
| 设置 | 管理员发布一次包 | 每个人连接自己的客户端 |
| 访问模型 | 分配的级别,默认拒绝 | 用户自己的权限 |
- Microsoft 365 Copilot:设置指南
- 分析路径:让每个人以相同的方式询问同一张表
- 可信赖的答案:置信度和注意事项
- AI 与 LLM 架构:共用的受管控路径