前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯10183
  • 把代码审查教训写进 Claude Code 记忆
  • 语音 RAG 用检索阈值和证据链约束回答
  • 用 Claude 迭代即时战略游戏,还能声波联机
  • ElevenLabs 推出实时语音对话模型
  • DeepSeek 开源 V4.1-Flash 背后推理框架
  • 谷歌推出 PyTorch 跨硬件迁移工具
  • Antigravity 接入 Claude 5.5,支持会话内换模
  • 用AgentCore串联供应链数据与对话查询
  • GPT-OSS多语言微调:如何选择SFT与GRPO
  • Strata 借系统内存让消费级显卡跑大模型
  • 20亿文档检索如何守住租户边界
  • Model Explorer 支持自定义编译图调试
  • 百行 Python 工具记录 MCP 服务通信
  • 用 pgvector 构建语义检索的取舍与陷阱
  • MCP 渐进式工具发现的实现与成本
  • Mistral 发布实时语音栈 Voxtral 3
  • 加拿大开发者可跨区调用Bedrock GPT模型
  • GPT 系列旧语言能力提升,迁移评测受关注
  • 用 AWS 注册表实现 Agent 动态工具发现
  • 用 X.509 为多 Agent 建立可验证身份
  • Eon 用统一 MCP 网关简化多云排障
  • 给企业Agent搭建带权限的统一语义层
  • AWS 智能体跨库查询如何落实用户级权限
  • 提示注入检测为何被同义改写绕过
  • Synapse 打通编程助手的记忆与配置
  • vLLM 与 SGLang 新增 TPU 原生后端
  • 给水印检测加门控,减少误选与修复风险
  • 用本地语音组件搭建可打断的 AI 助手
  • Claude Code 误删复盘:命令钩子的盲区
  • Mac 跨应用文本助手如何读取界面
  • 用 AI 编程智能体清理电视广告与预装应用
  • DeepSeek开放生产推理框架DeepInfer
  • 京东大促期间暂停外部安全测试
  • Coral NPU补齐矩阵单元与开源编译链
  • 向量检索与知识图谱如何协同支撑 RAG
  • 让编程助手接入浏览器完成调试闭环
  • 先验证分类器,再让 AI 排查运行轨迹
  • 录制模型响应,隔离评测代码与模型变动
  • 审查 AI 生成 PR,先核对任务边界
  • 用有效吞吐压测确定模型接口并发上限
  • Agent 改一个字段,如何证明操作正确
  • 用多任务决策模型自动分流 CVE 漏洞
  • 逐步核算 Token,定位 Agent 的结构性浪费
  • Agent 生成 SQL,如何控制重跑漂移
  • 审核超时后的任务释放与计费隔离
  • DeepSeek 开源大规模推理框架 DeepInfer
  • DeepInfer 开源,公开大规模推理部署能力
  • Cloudflare预览低价结构化抽取模型
  • Headroom 在本地压缩智能体上下文
  • 智能体改记忆,如何验证没有误伤
  • llama-server 工具控制与停止条件现兼容问题
  • 已加载 51 / 10183
8.0
热点
AI SCORE
技术实践2026-10-20 23:57

Eon 用统一 MCP 网关简化多云排障

AWS ML Blog#MCP#多云#智能体
Editor brief · 编辑速览

Eon 通过 Amazon Bedrock AgentCore 网关统一接入 AWS、GCP 和 Azure 的生产调查工具,替代分散凭证和本地 MCP 进程。该方案服务超过百名开发者及自主智能体,据介绍将新工程师接入时间从两天缩短至两分钟。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

本文由 Eon 的 Roei Zavida 共同撰写,是一篇客座文章。

构建 AI 产品的独立软件供应商(ISV),需要让 Agent 和人类用户连接到跨云的数十种运维工具,而这些工具各有不同的认证模型、网络边界和访问策略。当这些工具同时分布在 AWS、GCP 和 Azure 上时,集成的复杂度也会成倍增加。

本文介绍 Eon 如何使用 Amazon Bedrock AgentCore。这个平台支持使用任意框架或模型,大规模构建、连接和优化 Agent。Eon 用一个统一认证的网关,替代了各工具独立的凭证和本地 Model Context Protocol(MCP)进程,让开发者和自主 Agent 能够统一访问三个云平台上的排障工具。新工程师现在只需大约两分钟,就能访问所有排障工具;此前,配置凭证和本地 MCP 服务器需要两天。

Eon 为 AI 时代提供 Autonomous Data Foundation(自主数据基础)。该平台能够发现并分类 AWS、Azure 和 GCP 上的云资源,提供持续、去重的备份。根据 Eon 的内部测量,这能将存储成本最多降低 50%。它还可以检测勒索软件和失控 Agent 造成的破坏,并为 AI Agent 提供实时、有据可依的上下文。所有这些能力只需要一个只读的 AWS Identity and Access Management(IAM)角色,数据以 Apache Parquet 和 Apache Iceberg 格式存储。Eon 由前 AWS 工程师创立,其软件即服务(SaaS)基础设施运行在 AWS 上。

Eon 的内部工程团队需要跨多个云平台和数十个运维系统排查生产事故。一个 Kubernetes pod 崩溃后,工程师需要在同一个会话中检查容器日志、Grafana 指标、此次部署对应的 GitHub pull request(PR),以及云服务商的健康状态。

Eon 需要解决几个关键问题:

  • 凭证整合——每增加一种工具,就多一项需要配置、保护和轮换凭证的集成。随着工具数量增加,要保持一致性也越来越难。
  • 消除本地 MCP 进程——每位开发者都在本地运行多个 MCP 服务器,很难统一标准并保持更新。
  • 身份隔离——工程师通过基于角色的权限访问各个系统,但缺少一个统一入口,来决定每个人或 Agent 可以调用哪些工具。
  • 避免跨账户访问带来的额外网络工作——在多个 AWS 账户中托管 MCP 服务器,需要为每个账户配置虚拟私有云(VPC)对等连接或 AWS PrivateLink,导致运维成本和配置时间成倍增加。
  • 开发者入职配置——新工程师大约要花 2 天配置凭证和本地 MCP 服务器,才能开始排查第一个事故。
  • Agent 访问——Eon 的自主站点可靠性工程(SRE)Agent 使用 Amazon Bedrock 上的 Claude,需要访问与人类相同的工具,但权限必须有所区别。

工程团队人数不断增长,AI 工具和 MCP 的数量也迅速增加,维护凭证和本地 MCP 服务器的成本越来越高。这推动 Eon 转向集中式方案。

考虑过的方案

在基于 AgentCore 构建之前,Eon 评估了以下替代方案:

方案 1:使用自定义认证的集中式代理

每个 Agent 运行环境都有自己的代理配置,其中包含所有目标。这个方案通过一个反向代理聚合所有工具,并配上自定义认证层。它能解决凭证整合问题,但只支持远程 MCP,而且工具协议转换、会话管理和授权逻辑都需要从头构建并持续维护,实现和维护负担很重。

方案 2:Amazon Bedrock AgentCore Gateway

Amazon Bedrock AgentCore Gateway 是 Amazon Bedrock AgentCore 的一项能力。它提供托管网关,内置身份联合、基于 Cedar 的授权策略,并通过 Runtime 托管将本地 MCP 服务器转换为远程 HTTP 端点。无需自建基础设施,就能满足所有要求。

Eon 选择了方案 2,因为身份隔离、跨账户连接和策略执行都由托管能力提供,无需自己编写和维护相关代码。当时参与比较的只有这两个方案。

Eon 部署了完整的 Amazon Bedrock AgentCore 技术栈:AgentCore Gateway、Policy in Amazon Bedrock AgentCore、AgentCore Runtime 和 AgentCore Identity,它们都是 Amazon Bedrock AgentCore 的组成能力。下图展示了客户端请求如何经过认证层,进入统一网关。网关随后将获得授权的工具调用,路由到托管在多个 AWS 账户的 AgentCore Runtime 上的目标。

图 1:Eon 基于 Amazon Bedrock AgentCore 的集中式网关架构

该架构分为五层:

  1. 使用 Claude Code、Cursor 或 OpenAI Codex 的开发者连接到同一个 MCP URL。运行在 Amazon Bedrock 上、使用 Claude 的自主 SRE Agent,也连接到同一个网关,但使用不同的身份。
  2. 企业单点登录(SSO)通过 Amazon Cognito 进行身份联合,由 Cognito 签发 JSON Web Token(JWT)并交给网关。Amazon API Gateway 位于前端,作为人类用户的 OAuth 入口,代理 MCP 会话。Agent 则使用 Cognito 的 client_credentials 授权方式,直接向网关认证。

一个网关,最小权限访问

  1. 一个 AgentCore MCP Gateway 充当全公司的统一入口。处于 ENFORCE 模式的 Cedar 策略控制哪些主体可以调用哪些工具。读取操作只对指定用户组开放,并非所有通过认证的用户都能使用。写入操作仅限于影响较小的协作行为,例如在 PR 或工单下发表评论;生产工具则只允许读取。

Policy in Amazon Bedrock AgentCore

  1. Cedar 策略将每个主体映射到其获准使用的工具。写入操作仅限于影响较小的协作行为,例如在 PR 或工单下发表评论;生产工具则只允许读取。网关会在将请求转发给目标之前,通过 Cedar 评估每一个 tools/call 请求。
  2. 数十个目标 MCP 服务器通过同一个网关提供数百种工具,由分布在多个 AWS 账户中的 AgentCore Runtime 承载。每个 Runtime 都会将基于本地 stdio 的 MCP 服务器,转换为可以通过网关访问的 Streamable HTTP 端点。

开发者打开集成开发环境(IDE),配置一个 MCP URL,通过企业 SSO 完成认证,网关就会将数百种工具聚合到一个 tools/list 响应中。无需本地配置,也无需为每种工具准备单独的 token。

身份与访问隔离

核心安全决策是:在网关层通过 Cedar 策略,强制执行读写权限边界。

单一网关,通过策略强制隔离

网关同时接受 JWT token(人类用户通过企业 SSO 和 Cognito 获取)和 client_credentials token(供 Agent 使用)。Cedar 策略决定每个主体可以执行哪些操作。获准用户组中的人类用户拥有读取权限。写入操作需要 Cedar 显式授权,而且这种授权只授予特定的 Agent 身份。

Cedar 进一步将权限控制细化到每个工具:

// Agent "sre-bot" can add comments on GitHub PRs
permit(
    principal == Agent::"sre-bot",
    action == Action::"tools/call",
    resource == Tool::"github_add_pr_comment"
);

// No human principal can invoke mutation tools
forbid(
    principal in Group::"humans",
    action == Action::"tools/call",
    resource in ResourceGroup::"write-tools"
);

Cedar 策略作为代码,通过 GitHub PR 和评审评论进行管理,让每一次权限变更都有版本记录和审计轨迹。

在网关内部,Cedar 策略按 SSO 用户组限定工具访问范围,用户组则与岗位角色对应。工程师默认可以访问开发和测试环境。生产访问遵循 Eon 的安全与合规控制:仅允许读取,通过审批流程即时授予,并保留审计记录。新团队成员的用户组也按同样的方式划定权限,依据的是角色,而非他们恰好负责哪个服务。由于每个 Agent 操作都会经过 ENFORCE 模式下的 Cedar 检查,且被限制在遵循最小权限原则的工具集合内,自主 Agent 始终在明确、安全的边界内运行。它只能调用其身份被显式授权使用的特定工具。

“以前,我们的内部 Agent 无法访问开发者使用的那些排障工具。现在,它通过自己的身份访问同一个 Gateway,使用范围更严格的工具集。”

——Roei Zavida,Eon 高级 DevOps 工程师

跨账户连接

Eon 将 Runtime 部署在多个 AWS 账户中,按照环境或服务边界组织。AgentCore Gateway 通过 IAM 跨账户角色代入访问各个 Runtime。账户 B 中的 Runtime 通过标准 IAM 信任策略,信任账户 A 中的 AgentCore Gateway 执行角色。

这消除了以下工作和成本:

  • 多个 AWS 账户之间的 VPC 对等连接配置和路由表管理。
  • 每个账户的 PrivateLink 端点费用。
  • 账户之间的安全组协调。
  • 每增加一个账户就需要数天的配置工作,取而代之的是一条几分钟内即可部署的 IAM 信任策略。

目标接入模式

根据各工具的认证和托管模型,Eon 主要使用两种接入模式。下表汇总了每种模式的适用场景,并给出了示例。

大多数目标使用 Runtime + IAM。只有在需要精简远程 MCP 的工具目录,或注入网关无法直接提供的凭证时,Eon 才会为远程 MCP 增加包装层。

排障会话流程

下面的流程展示了一位开发者如何排查生产事故:

  1. **认证。**开发者打开 Claude Code(或 Cursor/Codex),连接到网关的 MCP URL。IDE 通过企业 SSO 发起 OAuth 流程。Cognito 签发 JWT,其中包含开发者身份及其所属用户组。
  2. **工具发现。**网关从数十个已连接目标聚合 tools/list,向 IDE 返回包含数百种工具的统一清单。开发者可以在一个列表中看到所有可用的排障工具。
  3. **工具调用。**开发者提出请求:“给我看看过去一小时 payments 服务错误率突增的情况。”IDE 中的 Agent 选择 Grafana 查询工具,并发送一个 tools/call 请求。
  4. **策略评估。**网关使用 Cedar 评估请求。开发者所属用户组拥有 Grafana 工具的访问权限,请求通过检查。
  5. **Runtime 执行。**网关将请求转发到托管 Grafana MCP 服务器的 Runtime,该 Runtime 运行在另一个 AWS 账户中。Runtime 使用存储在 AgentCore Identity 凭证库中的服务凭证向 Grafana 认证,执行查询并返回结果。
  6. **跨工具关联。**Agent 继续检查 Kubernetes 部署状态及相关 GitHub PR,这些请求分别被路由到不同的 Runtime。开发者无需切换工具或重新认证,就能看到相互关联的结果。

规模化应用中的经验

部署覆盖 100 多位开发者、累计约 10,000 次会话后,一些生产环境中的挑战浮现出来:

管理 Cedar 策略大小

网关预先索引的每个工具 schema,都会增加 Cedar 策略的大小。数十个目标暴露了庞大的工具清单,使 Eon 的策略大小逐渐接近配额上限。解决办法是:对工具数量较多的目标使用 DYNAMIC 列表模式。在 DYNAMIC 模式下,网关会在请求发生时,将 tools/list 调用转发给 MCP 服务器,而非预先索引 schema,因此不会给策略增加任何字节。

代价是,DYNAMIC 目标无法使用语义工具搜索。Eon 采用混合配置:需要按用户进行 OAuth 授权的目标使用 DEFAULT 模式,这类目标的工具数量较少,且授权同意流程需要预先索引的 schema;工具目录较大的目标则使用 DYNAMIC 模式。

标准 MCP 客户端的 OAuth 会话绑定

Claude Code、Cursor 和 Codex 期望使用 OAuth 的 state 参数来防范跨站请求伪造(CSRF)。AgentCore 则采用 session-URI 绑定。Eon 构建了一个 Amazon API Gateway 适配层,在两种协议之间进行转换,让标准 MCP 客户端无需修改就能完成 OAuth 流程。

筛选对外暴露的工具

某些 MCP 服务器会暴露数百种工具,但每位开发者只需要其中与自己服务相关的一部分。Eon 构建了一个 Runtime 包装层,在 Runtime 层筛选工具清单,减少 tools/list 响应中的干扰信息,并防止误调用无关操作。这种方式还可以让这些目标继续使用 DEFAULT 模式,保留 DYNAMIC 模式会失去的语义搜索和内嵌功能。

这套单网关架构已经在 Eon 内部工程团队的生产环境中运行了数月。最明显的成效体现在开发者入职配置上:获得完整工具集访问权限所需的时间,从大约两天的凭证和本地 MCP 服务器配置,缩短到大约两分钟。新工程师只需连接一个网关 URL,通过企业 SSO 完成认证,就能立即看到其角色获准使用的工具。

节省的时间大部分来自内部 Agent:它能通过网关获得更多上下文,从而提高排障准确性。工程师也省去了此前配置 AI 工具的时间,因为现在只需要连接网关 URL。

Eon 正在探索如何将同样的模式用于自身产品中的 AI 能力。

“AgentCore 给了我们一个统一认证的 MCP Gateway,替代了每种工具各自的 token 和本地 MCP 进程。现在,开发者和我们的内部 Agent 通过一个 URL,就能访问 Kubernetes、Grafana、GitHub 和我们的云账户。”

——Roei Zavida,Eon 高级 DevOps 工程师

本文介绍了 Eon 如何使用一个 Amazon Bedrock AgentCore MCP Gateway,替代各工具独立的凭证和本地 MCP 进程。最终,它实现了基于 Cedar 的身份隔离、无需 VPC 对等连接的跨账户连接,并为 100 多位开发者及自主 Agent 提供跨三个云平台的统一工具访问。对于需要让 Agent 和开发者连接多个云平台工具的 ISV,单网关架构、Cedar 最小权限执行,以及 DEFAULT 与 DYNAMIC 混合策略模式,都是可以复用的方案。

如需进一步了解如何基于 Amazon Bedrock AgentCore 构建,请参阅以下资源:

  • Amazon Bedrock AgentCore Gateway 文档。
  • Amazon Bedrock AgentCore Runtime 文档。
  • Getting Started with Amazon Bedrock AgentCore Workshop。
Original source

本文由 AI 翻译整理自 AWS ML Blog,原文版权归原作者所有。

阅读英文原文
上一篇
用 X.509 为多 Agent 建立可验证身份
下一篇
给企业Agent搭建带权限的统一语义层