使用授权码流程将受 OAuth 保护的 MCP 服务器接入 Amazon Bedrock AgentCore Gateway
AWS Machine Learning Blog2026/04/06 22:41机翻/自动摘要/自动分类
1 阅读
内容评分
技术含量
8/10
营销水分
4/10
摘要
本文介绍了在 Amazon Bedrock AgentCore Gateway 中使用 OAuth 授权码流程连接受保护的 MCP 服务器(以 GitHub 为例)的两种方法:在目标创建时进行隐式同步或直接提供工具架构。通过统一的网关,团队可集中管理身份验证、策略和可观测性,实现对多 MCP 的安全、无缝访问。文中提供了前置条件、详细步骤和代码示例,帮助开发者快速落地。
正文
Amazon Bedrock AgentCore Gateway 为 AI 代理提供统一的管理入口,集中处理身份验证、可观测性和策略执行,免去对每个 MCP 服务器单独配置和加固的需求。本文详细演示了两种通过授权码(Authorization Code)流程将受 OAuth 保护的 MCP 服务器(以 GitHub 为例)接入 AgentCore Gateway 的方法。
1. 背景与需求
- 随着组织规模扩大,AI 代理需要访问的 MCP 服务器数量激增,传统在 IDE 中逐一配置连接的方式难以维护。
- 第三方 MCP(AWS、GitHub、Salesforce、Databricks 等)普遍采用联合身份认证或自建授权服务器,导致凭证管理分散。
- AgentCore Gateway 通过单一端点统一路由、认证和策略,实现对多 MCP 的集中治理。
2. 授权码流程概述
AgentCore Gateway 支持两种创建目标的方式:
- 隐式同步:在创建/更新 MCP 目标时,管理员完成 OAuth 授权码交互,Gateway 自动向 MCP 拉取工具清单并缓存。
- 提供工具架构:管理员在创建目标时直接提交工具的 JSON 架构,Gateway 不再向 MCP 动态查询,适用于无法人工干预的自动化场景。
3. 实践步骤(以 GitHub 为例)
前置条件
- 在 GitHub 创建 OAuth App,记录 Client ID、Client Secret、Authorization callback URL。
- 拥有足够的 IAM 权限以创建/管理 AgentCore 资源。
- 克隆并部署
awslabs/agentcore-samples中的示例代码。
方法一:隐式同步
- 在 AgentCore 控制台或通过 API 发起 CreateMcpServerTarget 请求,指定
auth_type = AUTHORIZATION_CODE。 - 系统返回授权 URL,管理员在浏览器中完成 GitHub 登录并授权,GitHub 将授权码回调至预设的 callback URL。
- AgentCore 使用授权码换取访问令牌(access ),随后调用 GitHub 的
tools/list接口获取工具列表并缓存。 - 开发者即可通过 AgentCore 的统一端点发送
tools/list、tools/call等请求,背后由 Gateway 完成身份验证和路由。
方法二:提供工具架构
- 预先在本地或 CI/CD 流程中生成 GitHub 工具的 JSON 架构(参考 GitHub OpenAPI)。
- 在创建目标时将该架构作为
tool_schema参数提交,auth_type仍设为AUTHORIZATION_CODE,但不触发实时同步。 - 运行时,AgentCore 直接使用提供的架构进行工具发现和调用,适合无交互式授权的批量部署。
代码示例
import boto3
client = boto3.client('bedrock-agentcore')
response = client.create_mcp_server_target(
name='GitHubMCP',
auth_type='AUTHORIZATION_CODE',
oauth_config={
'client_id': 'YOUR_CLIENT_ID',
'client_secret': 'YOUR_CLIENT_SECRET',
'authorization_url': 'https://github.com/login/oauth/authorize',
'token_url': 'https://github.com/login/oauth/access_token'
},
tool_schema=tool_schema_json # 方法二可选
)
完整示例代码与部署脚本位于 https://github.com/awslabs/agentcore-samples/tree/main/01-tutorials/02-AgentCore-gateway/05-mcp-server-as-a-target/03-authorization-code-flow/。
4. 关键技术点
- OAuth 2.0 Authorization Code Flow:安全获取长期访问令牌,支持刷新 。
- 工具缓存:AgentCore 在首次同步后将工具清单持久化,后续调用无需再次访问 MCP。
- 策略绑定:可在 Gateway 层面为不同团队或模型绑定访问策略,统一审计。
5. 小结
本文展示了通过授权码流程将受 OAuth 保护的 MCP 服务器(GitHub 示例)接入 Amazon Bedrock AgentCore Gateway 的完整路径。利用隐式同步或预先提供工具架构两种方式,企业可以在保证凭证安全的前提下,实现对多种第三方工具的统一、可观测、可治理的访问。