本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AgentCore 付款的先决条件
在使用 AgentCore 付款之前,请先完成此页面上的先决条件。
提示
AWS 账户和证书
您需要一个配置了凭据的 AWS 账户。要配置凭证,请按照 AWS CLI 入门中的步骤安装和使用 AWS 命令行界面。
# Verify installation aws --version # Should show version 2.x
Python 和 AWS SDK
要访问您的 AWS 证书并将其配置为与 SD AWS K 一起使用,请按照使用 IAM 身份中心对软件开发工具包和工具进行身份验证中的步骤进行操作。如果你计划使用 AWS Python SDK (Boto3) 以编程方式与 AgentCore 支付进行交互:
-
安装 Python 3.10+ 。
-
安装 S AWS DK:
pip install boto3 -
验证您的证书是否已配置:
aws sts get-caller-identity
有关如何设置和使用 AWS SDK 的更多信息,请参阅AWS 生成器工具
支付提供商证书
AgentCore 支付连接到外部支付提供商进行加密货币钱包业务。在创建之前,必须从至少一个支持的提供商处获取证书 PaymentConnector。
Coinbase CDP 凭证
如果您计划使用Coinbase CDP作为开发者管理的钱包的支付提供商,请从Coinbase开发者平台获取以下证书。https://docs.cdp.coinbase.com/api-reference/v2/authentication
注意
获取本节中的证书适用于Coinbase的手册流程和Stripe(Privy)。如果你使用Coinbase 快速创建(这是Coinbase的推荐默认设置),你可以跳过获取和生成CoinbaseAPI密钥的过程。使用快速创建,您可以通过Coinbase进行授权,该服务会为您提供凭证提供商。
注意
要使用Coinbase作为支付提供商,您还必须订阅市场中的 AWS Coinbase AgentCore 付款钱包列表。无论您使用快速创建还是手动流程,Coinbase都需要此订阅。这需要 AWS 托管策略AWSMarketplaceManageSubscriptions。通过此订阅,您的Coinbase钱包使用费将根据Coinbase在Coinbase网站上的
-
登录到 Coinbase开发者平台
并创建或登录您的帐户。选择项目。 -
导航到您的 API 密钥
控制面板,选择创建机密 API 密钥,然后记下以下值。回到你的项目。 凭证 说明 API Key ID您的 CDP 项目的公共标识符
API Key Secret用于签署发给 CDP 控制平面的 API 请求的私钥
-
在 “产品” > “钱包” > “Non-custodial 钱包” > “安全” 下,选择 “生成新钱包密钥”,并记下以下值:
凭证 说明 Wallet Secret用于加密钱包操作(例如派生地址和签署交易)的专用机密
-
在 “产品” > “钱包” > “Non-custodial 钱包” > “安全” 下,启用委托签名。
隐私凭证
如果您计划使用Privy处理用户拥有的嵌入式钱包流量,请从 Privy控制面板获取以下证书。
-
在 dash
board.p rivy.io 上创建专用 Privy 应用程序进行 AgentCore 操作。不要重复使用用于其他目的的 Privy 应用程序。 -
从您的应用程序设置中复制应用程序 ID 和应用程序密钥。
-
在您的 Privy 应用程序中,导航到钱包基础架构 > 授权,然后选择新密钥以生成 P-256 密钥对。请注意以下值:
凭证 说明 App ID您的 Privy 应用程序标识符,作为 API 调用的
privy-app-id标头发送App Secret与应用程序 ID 配对的密钥凭证,用于服务器到服务器的基本身份验证
Authorization ID(签名者 ID)生成的密钥对中的公 P-256 钥标识符
Authorization Private Key生成的密钥对中的私 P-256 钥,用于对钱包操作进行签名。
Privy 凭证的安全最佳实践
为以下对象创建专用 Privy 应用程序 AgentCore
创建单独的 Privy 应用程序,专门用于 AgentCore 付款。这缩小了凭证范围并简化了对钱包操作的审计。
限制对 AgentCore 服务的秘密访问
当您将 Privy 存储App Secret在 I AgentCore dentity 中时 PaymentCredentialProvider,请确保只有 AgentCore 付款服务角色才能检索密钥。请勿向任何其他 IAM 委托人授予对密 AWS 钥管理器中底层密钥的访问权限。以下密钥资源策略限制了对 AgentCore 服务角色的访问权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalArn": "arn:aws:iam::111122223333:role/AgentCorePaymentsResourceRetrievalRole" } } } ] }
警告
如果 AgentCore 服务角色以外的委托人可以访问隐私机密,则受损的 IAM 身份可能会检索机密并在预算执行和审计控制之外执行未经授权 AgentCore的钱包操作。
定期轮换密钥
定期轮换您的 Privy 凭证,以减少任何泄露机密的泄露窗口。
| 凭证 | 推荐的旋转频率 |
|---|---|
|
|
每 90 天一次 |
|
|
每 90 天一次 |
|
|
不需要轮换(公共标识符) |
|
|
生成新的密钥对时会自动旋转 |
要轮换证书,请:
-
在 Privy 控制面板中生成新的密钥对或应用程序密钥。
-
使用新值 PaymentCredentialProvider 更新 AgentCore In Identity。
-
使用新凭证验证付款操作是否成功。
-
在 Privy 控制面板中撤销旧证书。
注意
规划一个短暂的重叠期,使新旧证书均处于活动状态。这样可以防止轮换期间出现停机。
从提供商处获取凭证后,将其存储在 AgentCore Identity 中 PaymentCredentialProvider。有关说明,请参阅配置付款凭证提供商。有关完整的请求和响应架构,请参阅 API 参考CreatePaymentCredentialProvider中的。
(可选)JWT 授权的身份提供商
如果您计划使用 JWT 授权对您的支付管理器进行入站访问(使消费者能够使用非 IAM 身份访问支付管理器),请在创建支付管理器之前设置 Amazon Cognito 或您自己的身份提供商:
-
创建 Cognito 用户池(或使用您现有的身份提供商)。
-
注册应用程序客户端并记下客户端 ID。
-
使用用户名和密码创建测试用户。
或者,您可以在创建支付管理器时选择使用 Cognito 快速创建配置, AgentCore 付款代表您创建授权配置。
有关详细说明,请参阅配置入站 JWT 授权器。