本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
连接远程 A2A 代理
远程代理通过将任务委派给实现 Agent-to-Agent (A2A) 协议的外部代理来扩展 AWS DevOps 代理的调查能力。连接远程代理时, AWS DevOps 代理可以为其分配调查子任务,并将其调查结果纳入整体调查。本指南介绍如何将远程 AWS DevOps 代理连接到代理。
要求
在连接远程代理之前,请确保您的代理满足以下要求:
A2A 协议支持 — 您的代理必须实现 Agent-to-Agent (A2A) 协议
(JSONRPC 或 HTTP+JSON 绑定),并在可访问的网址上提供有效的代理卡。代理卡告诉 AWS DevOps 代理如何与您的代理通信。使用与调用代理相同的身份验证凭据来获取代理卡。以下代理卡字段是必填字段: 名称 — 标识您的代理人的唯一名称
描述 — 对代理能力的描述。 AWS DevOps 代理使用它来确定哪个远程代理最适合给定的子任务
SupportedInterfaces — 声明调用端点 URL、协议绑定(
JSONRPC或HTTP+JSON)和协议版本cap abilities — 一个表示您的代理是否支持流式响应的对象
技能 — 描述代理特定能力的数组。 AWS DevOps 代理使用技能将任务路由到最合适的远程代理
身份验证支持 — 您的远程代理必须支持以下身份验证方法之一:持有者令牌、OAuth 客户端凭证、API 密钥或 AWS 签名版本 4 (SigV4)。
空闲超时 - AWS DevOps 如果远程 A2A 代理在 1 分钟内未发送任何数据,代理将关闭连接。这适用于单一响应和流式响应,因此流媒体代理必须至少每分钟发送一次数据才能保持连接畅通。
安全注意事项
将远程代理连接到 AWS DevOps 代理时,请考虑以下安全方面:
Read-only 代理 — 远程代理应仅设计用于调查和数据收集。确保远程代理不对生产系统执行写入操作或修改。
即时注入风险 -远程代理可能会带来额外的即时注入攻击风险。有关更多信息,请参见即时注入保护: AWS DevOps 客户端安全。
有关即时注入和责任分担模型的更多信息,请参阅AWS DevOps 代理安全。
注意
如果您的远程代理位于专用网络上,请参阅连接到私有托管的工具。
注册远程代理(账户级)
远程代理在 AWS 账户级别注册,并在该账户中的所有代理空间之间共享。
步骤 1:配置远程代理
登录 AWS 管理控制台
导航到 AWS DevOps 代理控制台
转到能力提供者页面(可从侧面导航中访问)
在 “可用提供商” 部分中找到 “远程代理”,然后单击 “注册”
在 “配置远程代理” 页面上,输入代理详细信息:
名称 — 此远程代理的唯一名称
代理卡端点 — 远程代理代理卡的 HTTPS URL。 AWS DevOps 代理获取此 URL 以发现代理的功能并调用端点。
描述(可选)-添加描述以帮助确定代理的用途
选择身份验证方法并输入其详细信息:
API 密钥 — 使用自定义标头中发送的静态 API 密钥进行身份验证:
API 密钥名称 — API 密钥的用户友好名称
API 密钥标头 — 服务期望的标头名称(例如,
x-api-key)API 密钥值 — 用于使用服务进行身份验证的 API 密钥值
持有者令牌 — 使用持有者令牌进行身份验证 (RFC 6750):
代币 — 持有者代币价值
OAuth 客户端凭证 — 使用 OAuth 2.0 客户端凭证授予流程进行身份验证:
客户端 ID — 输入 OAuth 客户端的客户端 ID
客户端密钥 — 输入 OAuth 客户端的客户端密钥
交换 URL — 输入 OAuth 令牌交换端点 URL
添加范围 -为身份验证添加 OAuth 范围
AWS SigV4 — 使用 AWS 签名版本 4 进行身份验证:
配置 IAM 角色 -选择使用现有角色(选择具有允许 AWS DevOps 代理服务委托人代入的信任策略的现有 IAM 角色,如创建用于 SigV4 身份验证的 IAM 角色中所述)或手动创建新角色(按照控制台中显示的说明进行操作)。
AWS 区域 — 输入用于 SigV4 签名的 AWS 区域(例如,)
us-east-1服务名称 — 输入用于 SigV4 签名的 AWS 服务名称(例如,对于 API Gateway,
execute-apibedrock-agentcore对于亚马逊 Bedrock) AgentCore
(可选)如果您使用 API 密钥、持有者令牌或 OAuth 客户端凭证身份验证,请选择使用私有连接连接到端点,以私有方式向远程代理发出请求。如果您不选择它,则通过公共互联网建立连接。此选项不适用于 AWS SigV4 身份验证,后者需要可公开访问的端点。私有连接适用于代理卡端点和代理卡中声明的调用端点。如果您使用 OAuth 客户端凭据身份验证,它也适用于令牌交换端点。确保使用可以将流量路由到这些端点的主机地址配置私有连接。有关更多信息,请参阅 连接到私有托管的工具。选中后,选择以下选项之一:
使用现有的私有连接 -选择一个现有的私有连接。
创建新的私有连接 — 使用 Amazon VPC Lattice 创建新的 VPC 连接。
选择下一步。
第 2 步:查看并注册
查看所有远程代理配置的详细信息
单击 “注册” 完成注册
AWS DevOps 代理将通过获取您的代理卡来验证连接
成功验证后,您的远程代理将在账户级别注册
将远程代理与代理空间相关联
在账户级别注册远程代理后,您可以将其与特定的代理空间关联:
在 AWS DevOps 代理控制台中,选择您的代理空间
转到 “能力” 选项卡
在 “远程代理” 部分,单击 “添加”
选择要连接到该代理空间的已注册远程代理
单击 “添加” 将远程代理与您的代理空间关联
AWS DevOps 代理现在可以在此代理空间中将调查子任务委派给您的远程代理。
管理远程代理连接
查看连接的代理 -要查看连接到代理空间的所有远程代理,请选择您的代理空间,转到 “功能” 选项卡,然后查看 “远程代理” 部分。
删除远程代理连接 -要断开远程代理与代理空间的连接,请在 “远程代理” 部分选择该代理,然后选择删除。要完全删除远程代理注册,请先将其从所有代理空间中删除,然后导航到 Capability Providers,选择远程代理,然后从 “操作” 菜单中选择 “取消注册”。
更新身份验证凭据 -如果需要更新身份验证凭据,则需要重新注册远程代理。导航到 AWS DevOps 代理控制台中的能力提供者页面,找到您的远程代理,移除所有活动关联,然后从 “操作” 菜单中选择 “取消注册”。接下来,使用新的身份验证凭据注册远程代理,并重新创建与代理空间的所有必要关联。