SheepNav
新上线2天前0 投票

连接跨账户知识库:Amazon Bedrock AgentCore 实践指南

在企业级 AI 应用中,多账户架构常被用来划分工作负载边界,但跨账户数据访问往往成为集成痛点。近期,AWS 发布了一篇技术博客,详细介绍了如何让 Amazon Bedrock AgentCore 智能体在无需复制源数据的情况下,从另一个账户的 Amazon Redshift Serverless 知识库中获取答案。该方案基于 Amazon Bedrock Knowledge Bases 的跨账户资源策略,并提供了两种编排模型:基于代码的 Strands 代理和声明式 AgentCore 工具。

核心挑战

许多组织使用 Amazon Bedrock 构建 AI 代理,同时将结构化数据存储在 Amazon Redshift Serverless 中。出于安全与合规考虑,这些数据账户往往与 AI 代理账户分离。虽然 Bedrock Knowledge Bases 支持跨账户的 RetrieveGetDocumentContent 操作,但不支持 RetrieveAndGenerate,而后者恰恰是生成自然语言答案的关键。

为此,方案设计了一个窄权限的 IAM 角色,由代理在调用 API 前通过 AWS STS 临时承担该角色,从而在不复制数据的前提下,实现跨账户的检索增强生成。

两种实现方式

方案提供了两种部署方式,均采用相同的数据访问边界:

  • Strands 代理(基于代码):将 Strands 代理部署到 AgentCore 运行时,适合需要精细控制代理逻辑的开发团队。
  • 声明式 AgentCore 工具:通过声明式配置实现,降低了开发门槛,适合快速部署与维护。

两种方式都遵循最小权限原则,确保代理仅能访问必要的知识库数据。

架构与安全边界

架构上,代理账户与数据账户通过 IAM 角色信任关系建立安全通道。代理先通过 STS 假设数据账户中的专用角色,再调用 RetrieveAndGenerate API。这一设计既保持了账户隔离,又避免了源数据的复制,符合企业级安全合规要求。

实践价值

该方案为多账户架构下的 AI 代理提供了可复用的集成范式。对于需要严格数据隔离的行业(如金融、医疗),这一模式尤为重要。开发者可以参考 GitHub 上的示例代码,快速在自身环境中复现。

提示:文中提到的两种编排模型均已正式可用(GA),企业可根据自身技术栈选择合适的方式。

延伸阅读

  1. 视频星期五:认识 Microduck
  2. Meta智能眼镜更新:限制非自愿录制,降低“偷拍”嫌疑
  3. AI 让人类医生自问:我们还能做什么?
查看原文