AgentCore 付款的先決條件
使用 AgentCore 付款之前,請先完成此頁面的先決條件。
提示
您可以使用 AWS 客服人員工具組中的 AgentCore Payments 技能來自動化此頁面上的步驟。技能是 aws-agents 外掛程式的一部分,可讓 AI 編碼代理程式使用 CLI agentcore 建立您的 Payment Manager、連接器、登入資料提供者、付款工具及工作階段,並將 x402 付款工具新增至您的代理程式。如需詳細資訊,請參閱 GitHub 上的快速入門和客服人員工具組。 AWS GitHub
AWS 帳戶和登入資料
您需要已設定登入資料的 AWS 帳戶。若要設定登入資料,請依照 CLI AWS 入門中的步驟安裝和使用 AWS 命令列界面。
# Verify installation aws --version # Should show version 2.x
Python 和 AWS SDK
若要存取您的 AWS 登入資料並將其設定為與 SDKs 搭配使用,請依照使用 IAM Identity Center 中的步驟來驗證 AWS SDK 和工具。如果您計劃使用 AWS Python SDK (Boto3) 以程式設計方式與 AgentCore 付款互動:
-
安裝 Python 3.10+。
-
安裝 AWS SDK:
pip install boto3 -
確認您的登入資料已設定:
aws sts get-caller-identity
如需如何設定和使用 AWS SDK 的詳細資訊,請參閱AWS 建置器工具
付款供應商登入資料
AgentCore 付款會連線至外部付款供應商以進行加密貨幣錢包操作。建立 PaymentConnector 之前,您必須從至少一個支援的提供者取得登入資料。
Coinbase CDP 登入資料
如果您計劃使用 Coinbase CDP 作為開發人員管理錢包的付款提供者,請從 Coinbase 開發人員平台
-
建立或登入 Coinbase 開發人員平台帳戶和專案。
-
產生 API 金鑰和錢包秘密 (或重複使用現有的金鑰和錢包秘密):
-
產生 API 金鑰並記下下列值:
Credential 說明 API Key IDCDP 專案的公有識別符
API Key Secret用來簽署對 CDP 控制平面之 API 請求的私有秘密
-
在專案 > 錢包 > 非自訂錢包 > 安全性下,產生錢包秘密並記下下列值:
Credential 說明 Wallet Secret密碼編譯錢包操作的特殊秘密,例如衍生地址和簽署交易
-
-
在專案 > 錢包 > 非自訂錢包 > 安全性下,啟用委派簽署。
Privy 登入資料
如果您計劃將 Privy 用於使用者擁有的內嵌錢包流程,請從 Privy Dashboard
-
在 dashboard.privy.io
:// 為 AgentCore 操作建立專用 Privy 應用程式。請勿重複使用用於其他目的的 Privy 應用程式。 -
從您的應用程式設定複製應用程式 ID 和應用程式秘密。
-
在您的 Privy 應用程式中,導覽至錢包基礎設施 > 授權,然後選擇新金鑰以產生 P-256 金鑰對。請注意下列值:
Credential 說明 App ID您的 Privy 應用程式識別符,在 API 呼叫時以
privy-app-id標頭傳送App Secret與應用程式 ID 配對的私密憑證,用於server-to-server的基本驗證
Authorization ID(簽署者 ID)來自產生的 P-256 金鑰對的公有金鑰識別符
Authorization Private Key來自產生的 P-256 金鑰對的私有金鑰,用於簽署錢包操作。
Privy 登入資料的安全最佳實務
為 AgentCore 建立專用 Privy 應用程式
建立專門用於 AgentCore 付款的個別 Privy 應用程式。這可減少登入資料的範圍,並簡化錢包操作的稽核。
限制對 AgentCore 服務的私密存取
當您App Secret將 Privy 存放在 AgentCore Identity 中做為 PaymentCredentialProvider 時,請確定只有 AgentCore 付款服務角色可以擷取秘密。請勿將 AWS Secrets Manager 中基礎秘密的存取權授予任何其他 IAM 主體。下列有關秘密的資源政策會限制對 AgentCore 服務角色的存取:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalArn": "arn:aws:iam::111122223333:role/AgentCorePaymentsResourceRetrievalRole" } } } ] }
警告
如果 Privy 秘密可供 AgentCore 服務角色以外的主體存取,遭入侵的 IAM 身分可能會擷取秘密,並在 AgentCore 預算強制執行和稽核控制之外執行未經授權的錢包操作。
定期輪換秘密
定期輪換您的 Privy 登入資料,以減少任何洩露秘密的暴露時間。
| Credential | 建議的輪換頻率 |
|---|---|
|
|
每 90 天 |
|
|
每 90 天 |
|
|
不需要輪換 (公有識別碼) |
|
|
當您產生新的金鑰對時, 會自動輪換 |
若要輪換登入資料:
-
在 Privy Dashboard 中產生新的金鑰對或應用程式秘密。
-
使用新值更新 AgentCore Identity 中的 PaymentCredentialProvider。
-
驗證新的登入資料是否成功執行付款操作。
-
在 Privy Dashboard 中撤銷舊憑證。
注意
規劃一段短暫的重疊期間,其中舊憑證和新憑證都處於作用中狀態。這可防止輪換期間的停機時間。
從提供者取得登入資料後,您可以將登入資料存放在 AgentCore Identity 中,做為 PaymentCredentialProvider。如需說明,請參閱設定付款憑證提供者。如需完整的請求和回應結構描述,請參閱 API 參考中的 CreatePaymentCredentialProvider。
(選用) JWT 授權的身分提供者
如果您打算使用 JWT 授權來傳入存取 Payment Manager (讓消費者使用非 IAM 身分存取 Payment Manager),請在建立 Payment Manager 之前設定 Amazon Cognito 或您自己的身分提供者:
-
建立 Cognito 使用者集區 (或使用您現有的身分提供者)。
-
註冊應用程式用戶端並記下用戶端 ID。
-
使用使用者名稱和密碼建立測試使用者。
或者,您可以在 Payment Manager 建立期間選擇使用 Cognito 快速建立組態,而 AgentCore 付款會代表您建立授權組態。
如需詳細說明,請參閱設定傳入 JWT 授權方。