View a markdown version of this page

AgentCore 付款的先決條件 - Amazon Bedrock AgentCore

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 付款互動:

  1. 安裝 Python 3.10+。

  2. 安裝 AWS SDK: pip install boto3

  3. 確認您的登入資料已設定: aws sts get-caller-identity

如需如何設定和使用 AWS SDK 的詳細資訊,請參閱AWS 建置器工具

付款供應商登入資料

AgentCore 付款會連線至外部付款供應商以進行加密貨幣錢包操作。建立 PaymentConnector 之前,您必須從至少一個支援的提供者取得登入資料。

Coinbase CDP 登入資料

如果您計劃使用 Coinbase CDP 作為開發人員管理錢包的付款提供者,請從 Coinbase 開發人員平台取得下列憑證。GitHub 上的 Coinbase AgentCore 範本提供初始化資金和授予代理程式許可的參考前端。

  1. 建立或登入 Coinbase 開發人員平台帳戶和專案。

  2. 產生 API 金鑰和錢包秘密 (或重複使用現有的金鑰和錢包秘密):

    1. 產生 API 金鑰並記下下列值:

      Credential 說明

      API Key ID

      CDP 專案的公有識別符

      API Key Secret

      用來簽署對 CDP 控制平面之 API 請求的私有秘密

      Coinbase CDP API 金鑰產生
    2. 在專案 > 錢包 > 非自訂錢包 > 安全性下,產生錢包秘密並記下下列值:

      Credential 說明

      Wallet Secret

      密碼編譯錢包操作的特殊秘密,例如衍生地址和簽署交易

      Coinbase CDP 錢包秘密產生
  3. 專案 > 錢包 > 非自訂錢包 > 安全性下,啟用委派簽署

委派的 Coinbase 儀表板

Privy 登入資料

如果您計劃將 Privy 用於使用者擁有的內嵌錢包流程,請從 Privy Dashboard 取得下列登入資料。GitHub 上的 Privy AgentCore 開發套件提供初始化資金和授予代理程式許可的參考前端。

  1. dashboard.privy.io:// 為 AgentCore 操作建立專用 Privy 應用程式。請勿重複使用用於其他目的的 Privy 應用程式。

  2. 從您的應用程式設定複製應用程式 ID應用程式秘密

  3. 在您的 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 金鑰對的私有金鑰,用於簽署錢包操作。

AgentCore 付款的私有金鑰對話方塊

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 建議的輪換頻率

App Secret

每 90 天

Authorization Private Key

每 90 天

App ID

不需要輪換 (公有識別碼)

Authorization ID

當您產生新的金鑰對時, 會自動輪換

若要輪換登入資料:

  1. 在 Privy Dashboard 中產生新的金鑰對或應用程式秘密。

  2. 使用新值更新 AgentCore Identity 中的 PaymentCredentialProvider。

  3. 驗證新的登入資料是否成功執行付款操作。

  4. 在 Privy Dashboard 中撤銷舊憑證。

注意

規劃一段短暫的重疊期間,其中舊憑證和新憑證都處於作用中狀態。這可防止輪換期間的停機時間。

從提供者取得登入資料後,您可以將登入資料存放在 AgentCore Identity 中,做為 PaymentCredentialProvider。如需說明,請參閱設定付款憑證提供者。如需完整的請求和回應結構描述,請參閱 API 參考中的 CreatePaymentCredentialProvider

(選用) JWT 授權的身分提供者

如果您打算使用 JWT 授權來傳入存取 Payment Manager (讓消費者使用非 IAM 身分存取 Payment Manager),請在建立 Payment Manager 之前設定 Amazon Cognito 或您自己的身分提供者:

  1. 建立 Cognito 使用者集區 (或使用您現有的身分提供者)。

  2. 註冊應用程式用戶端並記下用戶端 ID。

  3. 使用使用者名稱和密碼建立測試使用者

或者,您可以在 Payment Manager 建立期間選擇使用 Cognito 快速建立組態,而 AgentCore 付款會代表您建立授權組態。

如需詳細說明,請參閱設定傳入 JWT 授權方