英文原标题:Add secure Web Search to Claude Desktop with Amazon Bedrock AgentCore

本文为英文原文的机器翻译摘要,原文见:AWS Machine Learning Blog ↗

本文介绍如何通过 Amazon Bedrock AgentCore Gateway 为 Claude Desktop 添加安全的 Web Search 能力,利用 AWS IAM Identity Center、Amazon Cognito 和 JWT 实现企业级身份认证,使模型能够检索实时信息。

背景与价值

Claude Desktop on Amazon Bedrock 本身无法联网搜索,回答受限于模型训练数据的时间截止点,无法获取最新文档、实时价格或天气等信息。

Amazon Bedrock AgentCore 是一个可扩展的代理构建与连接平台,其 AgentCore Gateway 功能可将 Claude Desktop 连接到 Web Search。Web Search 是兼容 MCP 的全托管搜索能力,基于 Amazon 网页索引,覆盖数百亿文档,所有查询流量保留在 AWS 基础设施内,无需管理外部 API 密钥。

  • Claude Desktop 缺少集成搜索,知识受训练截止时间限制
  • AgentCore Gateway 可连接 Web Search 弥补知识截止缺口
  • Web Search 为全托管、MCP 兼容,查询不离开 AWS 边界

架构与认证流程

企业通常使用 AWS IAM Identity Center 进行 SSO 访问 AWS 账户。本文以 IAM Identity Center 作为 AgentCore Gateway 的认证源,使 Claude Desktop 能通过企业管理的身份流程调用 Web Search,无需额外凭证或第三方身份提供商。

为桥接 IAM Identity Center 与 AgentCore Gateway 的 JWT 认证,使用 Amazon Cognito 作为联合层,采用 OAuth 2.0 授权码流程。IAM Identity Center 通过 SAML 处理用户认证,Cognito 颁发 JWT,Gateway 在每次请求时验证 JWT,整个认证链均在 AWS 内完成。

  • 使用 IAM Identity Center 作为认证源,符合企业身份治理
  • Cognito 作为联合层,采用 OAuth 2.0 授权码流程
  • IAM Identity Center 通过 SAML 认证,Cognito 颁发 JWT,Gateway 验证

前提条件

需要具备创建 IAM 角色和 Amazon Bedrock AgentCore 资源的 AWS 账户权限,以及 AWS Organizations 管理账户的管理员权限(用于配置 IAM Identity Center)。

还需预先配置好 IAM Identity Center SSO、Claude Desktop 已设置 Amazon Bedrock 作为推理提供商、安装 AWS CLI v2、Python 3.10 或更高版本,并更新 Boto3 SDK 至最新版。

Web Search on Amazon Bedrock AgentCore 目前仅在美国东部(弗吉尼亚北部)、欧洲(爱尔兰)和亚太(东京)区域可用,需确保网关创建在这些区域之一。

  • 需要 AWS 账户权限及 Organizations 管理账户管理员权限
  • 需预配置 IAM Identity Center SSO 和 Claude Desktop
  • 需 AWS CLI v2、Python 3.10+、最新 Boto3 SDK
  • Web Search 仅在 us-east-1、eu-west-1、ap-northeast-1 可用

配置步骤概述

配置分为多个步骤:首先在目标账户创建 Amazon Cognito 用户池作为 OIDC 令牌颁发者,并创建用户池域。

然后在 AWS Organizations 管理账户中创建 SAML 应用,与 Cognito 联合,配置 ACS URL 和 Audience,并设置属性映射(Subject 和 Email),分配用户或组。

接着在 Cognito 用户池中注册 IAM Identity Center 为 SAML 身份提供商,并创建带有客户端密钥的 Cognito 应用客户端,用于 Claude Desktop 发起 OAuth 流程获取 JWT。

最后创建 AgentCore Gateway,设置入站认证类型为 JWT,使用 Cognito 用户池 ID 和应用客户端 ID,并通过 Python 脚本配置网关和 IAM 执行角色。

  • 创建 Cognito 用户池和域
  • 在 IAM Identity Center 创建 SAML 应用并配置属性映射
  • 在 Cognito 中注册 SAML IdP 并创建应用客户端
  • 创建 AgentCore Gateway,配置 JWT 入站认证和 IAM 角色

站内导航