View a markdown version of this page

AgentCore 付款的先决条件 - Amazon Bedrock AgentCore

AgentCore 付款的先决条件

在使用 AgentCore 付款之前,请完成此页面上的先决条件。

提示

您可以使用 AWS 代理工具包中的 “ AgentCore 付款” 技能自动执行此页面上的步骤。该技能是 aws- agents 插件的一部分,它允许 AI 编码代理使用 CL agentcore I 创建您的支付管理器、连接器、凭证提供商、支付工具和会话,并向您的代理添加 x402 支付工具。有关详细信息,请参阅上的快速入门和AWS 代理工具包。 GitHub

AWS 账户和凭证

您需要一个配置了凭据的 AWS 账户。要配置凭据,请按照 AWS CLI 入门中的步骤安装和使用 AWS 命令行界面。

# Verify installation aws --version # Should show version 2.x

Python 和 AWS SDK

要访问您的 AWS 证书并将其配置为与软件开发工具包一起使用,请按照使用 IAM Identity Center 对 AWS SDK 和工具进行身份验证中的步骤进行操作。如果您计划使用 AWS Python 软件开发工具包 (Boto3) 以编程方式与 AgentCore 付款进行交互,请执行以下操作:

  1. 安装 Python 3.10+

  2. 安装 AWS 软件开发工具包:pip install boto3

  3. 验证您的凭证是否已配置:aws sts get-caller-identity

有关如何设置和使用 AWS SDK 的更多信息,请参阅AWS 生成器工具

支付提供商凭证

AgentCore payments 连接到外部支付提供商以进行加密货币钱包操作。在创建之前,您必须从至少一个支持的提供商那里获取证书 PaymentConnector。

Coinbase CDP 凭证

如果您计划使用Coinbase CDP作为开发者管理的钱包的支付提供商,请从Coinbase开发者平台获取以下凭证。上的Coinbase AgentCore 模板为筹集资金和授予代理权限 GitHub提供了参考前端。

  1. 创建或登录 Coinbase 开发者平台账户和项目。

  2. 生成 API 密钥和钱包密钥(或重复使用现有密钥):

    1. 生成 API 密钥并记下以下值:

      凭证 说明

      API Key ID

      您的 CDP 项目的公共标识符

      API Key Secret

      用于向 CDP 控制平面签署 API 请求的私钥

      Coinbase CDP API 密钥生成
    2. 在 “项目” > “钱包” > “ Non-custodial 钱包” > “安全” 下,生成一个钱包密钥并记下以下值:

      凭证 说明

      Wallet Secret

      用于加密钱包操作的专门秘密,例如获取地址和签署交易

      Coinbase CDP 钱包秘密生成
  3. 在 “项目” > “钱包” > “Non-custodial 钱包” > “安全” 下,启用委托签名

用于授权的 Coinbase 控制面

私密凭证

如果您计划将 Privy 用于用户拥有的嵌入式钱包流,请从 Priv y 控制面板获取以下凭证。上的 Privy AgentCore SDK 为筹集资金和授予代理权限 GitHub提供了参考前端。

  1. 在 d ash board.privy.io 上创建用于 AgentCore 操作的用 Privy 应用程序。请勿重复使用用于其他目的的 Privy 应用程序。

  2. 从您的应用程序设置中复制应用程序 ID 和应用程序密钥

  3. 在您的 Privy 应用程序中,导航至 “钱包基础架构” > “授权”,然后选择 “新密钥” 以生成 P-256 密钥对。请注意以下值:

    凭证 说明

    App ID

    您的 Privy 应用程序标识符,作为 API 调用的privy-app-id标头发送

    App Secret

    与应用程序 ID 配对的秘密凭证,用于服务器到服务器的基本身份验证

    Authorization ID(签名者 ID)

    生成的 key pair 中的公 P-256 钥标识符

    Authorization Private Key

    生成的 key pair 中的私 P-256 钥,用于对钱包操作进行签名。

用于 AgentCore 付款的私钥对话框

Privy 凭证的安全最佳实践

为其创建专用 Privy 应用程序 AgentCore

创建一个单独的 Privy 应用程序,专门用于 AgentCore 付款。这缩小了凭证的范围并简化了对钱包操作的审计。

限制对 AgentCore 服务的秘密访问

当您将 Privy 存储App Secret在 AgentCore Identity 中时 PaymentCredentialProvider,请确保只有 AgentCore 支付服务角色才能检索密钥。请勿向任何其他 IAM 委托人授予对 Secr AWS ets Manager 中底层密钥的访问权限。以下关于密钥的资源策略限制了对 AgentCore 服务角色的访问:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalArn": "arn:aws:iam::111122223333:role/AgentCorePaymentsResourceRetrievalRole" } } } ] }
警告

如果 AgentCore 服务角色以外的委托人可以访问 Privy 机密,则受损的 IAM 身份可能会检索秘密并在预算执法和审计控制之外执行未经授权 AgentCore的钱包操作。

定期轮换机密

定期轮换您的 Privy 凭证,以减少任何泄露秘密的窗口。

凭证 推荐的旋转频率

App Secret

每 90 天一次

Authorization Private Key

每 90 天一次

App ID

不需要轮换(公共标识符)

Authorization ID

生成新的 key pair 时会自动轮换

要轮换凭证:

  1. 在 Privy 控制面板中生成新的密钥对或应用密钥。

  2. 使用新值更新 In Id AgentCore entity PaymentCredentialProvider 中的。

  3. 使用新凭证验证付款操作是否成功。

  4. 在 Privy 控制面板中撤销旧证书。

注意

计划一段短暂的重叠期,届时新旧凭证均处于活动状态。这样可以防止旋转期间出现停机。

从提供商那里获取凭证后,可以将其存储在 Ident AgentCore ity 中 PaymentCredentialProvider。有关说明,请参阅配置付款凭证提供商。有关完整的请求和响应架构,请参阅 API 参考CreatePaymentCredentialProvider中的。

(可选)用于 JWT 授权的身份提供商

如果您计划使用 JWT 授权来入站访问您的付款管理器(使消费者能够使用非 IAM 身份访问支付管理器),请在创建付款管理器之前设置 Amazon Cognito 或您自己的身份提供商:

  1. 创建 Cognito 用户池(或使用您现有的身份提供商)。

  2. 注册应用程序客户端并记下客户端 ID。

  3. 使用@@ 用户名和密码创建测试用户

或者,您可以在创建付款管理器期间选择使用 Cognito 快速创建配置,然后 AgentCore 付款代表您创建授权配置。

有关详细说明,请参阅配置入站 JWT 授权方