MCP的零接触OAuth
摘要
MCP的企业管理授权扩展现已稳定,使组织能够集中管理MCP服务器的授权,并为最终用户启用零接触OAuth。已被Anthropic、Microsoft和Okta采用。
暂无内容
查看缓存全文
缓存时间: 2026/06/18 23:51
# 企业托管授权:MCP 的零干预 OAuth
来源:https://blog.modelcontextprotocol.io/posts/enterprise-managed-auth/
*企业托管授权扩展现已稳定。组织可以集中管理 MCP 服务器的授权,最终用户只需登录一次即可访问所有已连接的 MCP 服务器。该扩展正被 Anthropic、Microsoft、Okta 以及越来越多的 MCP 服务器采用。*
企业托管授权 (EMA) 扩展(https://modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization)现已稳定。我们听到社区反馈,在管理企业环境中的连接性时,来自已连接 MCP 服务器的授权和重复同意提示是最主要的痛点之一。该扩展有助于解决这一问题。
EMA 允许组织通过其信任的身份提供商集中控制 MCP 服务器访问。对最终用户而言,这意味着一套零干预设置:他们需要的 MCP 服务器在首次登录时即自动连接,无需逐个应用进行 OAuth 配置,也无需任何一次性配置。
标准 MCP 授权要求逐一验证每个服务器。企业托管授权则通过你的身份提供商进行一次验证,管理员已授权的每个服务器都会自动连接,并根据用户的组和角色进行权限范围界定。
## 按用户授权是高速摩擦
标准 MCP 授权模型设计为用户范围,并遵循传统的交互式授权约定。虽然这对个体决定谁接触其数据的通用消费场景可能效果不错,但在企业部署中难以扩展:
- **每位员工必须单独授权每个服务器**:入职意味着需要手动逐个连接服务。
- **安全团队无法强制执行一致的策略**:访问权限取决于每个用户授权的内容,没有集中控制或审计跟踪。
- **工作账户与个人账户混在一起**:无法要求强制使用企业身份,导致用户可能将个人账户连接到工作工具上。
这些因素叠加起来拖慢了 MCP 的采用,并促使人们采用脆弱的变通方案。由于没有通用标准来保持共享授权状态,每个人都发明了自己的定制方案。数据和工具已然就绪,但按用户授权的负担让大部分功能处于关闭状态。
企业托管授权(https://modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization)使组织的 IdP 成为 MCP 服务器访问的权威决策者。管理员一次性定义策略,用户可以使用其现有身份在 MCP 主机上进行身份验证。IdP 可以根据组成员身份、角色和条件访问规则授予或拒绝访问。
在底层,客户端在单点登录期间从 IdP 获取一个**身份断言 JWT 授权许可 (ID-JAG)**(https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/),并将其交换为来自 MCP 服务器授权服务器的访问令牌。用户永远不会被重定向到每个服务器的同意屏幕。该流程产生了三个特性:
- **一次授权,全局继承**:管理员为组织启用一个服务器。用户自动获得该服务器,并基于其已有的组和角色进行权限范围界定。
- **集中策略与审计**:访问决策位于 IdP 管理控制台中,并为每个连接器提供一个统一的审计轨迹。
- **消除个人/企业混用**:通过移除交互式账户选择步骤,可以更轻松地防止数据因错误或泄露在个人账户和企业账户之间流动。
我们认为这是 MCP 在企业领域的全新基线。当用户登录时,他们的客户端应直接连接到他们被授权使用的工具和数据,无需中间任何额外步骤。
## 早期采用者
此次发布汇聚了三个密切合作以实现该解决方案的群体:
- **身份提供商**:Okta 是首个受支持的身份提供商。使用 Okta 的组织可以通过任何受支持的客户端,利用 Okta 的**跨应用访问 (XAA)**(https://www.okta.com/identity-101/cross-app-access-securing-ai-agent-and-app-to-app-connections/)为受支持的服务器预配 MCP 访问权限。
- **客户端**:Anthropic 已经在其用于 Claude 的共享 MCP 层中实现了该扩展(https://claude.com/blog/enterprise-managed-auth)。管理员可以为 Claude、Claude Code 和 Cowork 中的用户授权 MCP 服务器。此外,**Visual Studio Code** 也在其 IDE 中增加了对 EMA 的支持(https://code.visualstudio.com/updates/v1_123#_enterprise-managed-mcp-authentication-preview)。
- **服务器**:Asana、Atlassian、Canva、Figma、Granola、Linear 和 Supabase 现已支持 EMA,Slack 等更多产品正在积极添加支持。
我们期待更多身份提供商、客户端和服务器采用企业托管授权,以帮助减少与授权相关的疲劳,并显著提升实施者的安全性和可观测性。
> “MCP 的势头令人难以置信,但随着我们迈向互联的 AI 劳动力,安全性不能事后考虑。通过将跨应用访问协议嵌入到 MCP 中作为企业托管授权扩展,我们将身份转化为集中治理层,为安全团队提供严格的合规控制,并为用户提供无缝、安全的体验。” — **Aaron Parecki,Okta 身份标准总监**
> “Figma MCP 将代码和画布的力量结合在一起,使团队能够更快行动、探索更多,并交付脱颖而出的产品。随着 MCP 采用率的增长,XAA 使企业能够在不拖慢团队的前提下,安全地扩展其 MCP 部署。” — **Devdatta Akhawe,Figma 工程副总裁**
> “只需登录一次,所有 MCP 连接器就自动设置好了,这相当神奇。” — **Tom Moor,Linear 工程主管**
## 参与其中
与所有其他 MCP 扩展、功能和增强一样,我们欢迎您的意见。我们鼓励客户端、服务器和身份平台查看扩展规范,并将新标准支持集成到其产品中:
- **阅读要求**:**企业托管授权页面**(https://modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization)记录了客户端、服务器和授权服务器的流程。
- **源码与草案规范**:查看 **ext-auth 仓库**(https://github.com/modelcontextprotocol/ext-auth)和 **草案规范**(https://github.com/modelcontextprotocol/ext-auth/blob/main/specification/draft/enterprise-managed-authorization.mdx)以了解 EMA 的最新进展,以及所有有助于您入门的支持材料。
如果您有兴趣讨论该扩展、分享兼容性报告或迭代扩展,请加入 **EMA 兴趣小组**(https://modelcontextprotocol.io/community/interest-groups/enterprise-managed-authorization)。
## 致谢
企业托管授权是 MCP 社区的成果:感谢 SEP-990 的作者、**ext-auth 仓库**(https://github.com/modelcontextprotocol/ext-auth)的维护者,以及早期实现测试并推动规范向前发展的身份提供商和 MCP 提供商。感谢每一位贡献者。
相似文章
GetMCP:AI 代理的零信任
GetMCP 是一个可自托管的开源工具,通过提供每请求审计、每代理撤销、策略执行和 API 调用的人工介入审批,为 AI 代理带来零信任安全。它根据 OpenAPI 规范生成 MCP 服务器,并作为具有防篡改审计日志的流式代理运行。
我不会推广 - 您在使用MCP时遇到了哪些跨服务器授权问题?
这篇文章探讨了当多个MCP服务器(例如Gmail、Github、Slack)在同一AI代理会话中一起使用时,所面临的跨服务器授权挑战,并提出是否需要除了每个服务器的OAuth之外的专用授权层。
MCP 欢迎页面
作者描述了一个 MCP 服务器的常见用户引导问题——用户在浏览器中访问端点时看到 401 错误——并分享了一个简单的技巧:返回一个 HTML 页面,解释如何正确地将服务器添加到 LLM 客户端,从而大幅减少了支持工单。
2026-07-28 MCP 规范发布候选版(阅读时间9分钟)
2026-07-28 的 MCP 规范发布候选版引入了无状态核心、MCP Apps 和 Tasks 等扩展、改进的授权机制以及正式的弃用策略,从而支持无需粘性会话的可扩展 HTTP 基础设施。
我构建了一个零代码可视化客户端,可即时测试远程 MCP 服务器(已用 Cloudflare 的免费 MCP 测试通过)
一位开发者在 AgentSwarms 中构建了一个零代码可视化 MCP 客户端,允许直接在浏览器中测试远程 MCP 服务器,并通过 Cloudflare 的免费 MCP 服务器进行了演示,用于文档查询。