View a markdown version of this page

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

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AgentCore 付款的先決條件

使用 AgentCore 付款之前,請先完成此頁面的先決條件。

提示

您可以使用 AWS 客服人員工具組中的 AgentCore Payments 技能來自動化此頁面上的步驟。技能是 aws-agents 外掛程式的一部分,可讓 AI 編碼代理程式使用 CLI agentcore 建立您的 Payment Manager、連接器、登入資料提供者、付款工具及工作階段,並將程序付款工具新增至您的代理程式。如需詳細資訊,請參閱 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 範本提供初始化資金和授予代理程式許可的參考前端。

注意

取得本節中的登入資料適用於 Coinbase 手動流程和 Stripe (Privy)。如果您使用 Coinbase Quick create,這是 Coinbase 的建議預設值,您可以略過取得和產生 Coinbase API 金鑰。透過快速建立,您可以透過 Coinbase 授權,而 服務會為您佈建登入資料提供者。

注意

若要使用 Coinbase 做為付款供應商,您還必須在 AWS Marketplace 中訂閱 Coinbase Wallets for AgentCore Payments 清單。無論使用快速建立還是手動流程,Coinbase 都需要此訂閱。這需要 AWS 受管政策 AWSMarketplaceManageSubscriptions。透過此訂閱,您的 Coinbase 錢包使用費會根據 Coinbase 網站上的 Coinbase 定價合併到您的每月 AWS 帳單中。訂閱不收取額外費用或義務。如需詳細資訊,請參閱訂閱 Coinbase Wallets for AgentCore Payments in AWS Marketplace。

  1. 登入 Coinbase 開發人員平台並建立或登入您的帳戶。選取專案。

  2. 導覽至 API Keys 儀表板,選擇建立秘密 API Key,並記下下列值。返回您的專案。

    Credential 說明

    API Key ID

    CDP 專案的公有識別符

    API Key Secret

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

    Coinbase CDP API 金鑰產生
  3. 在產品 > 錢包 > 非自訂錢包 > 安全性下,選擇產生錢包秘密下產生新的 ,並記下下列值:

    Credential 說明

    Wallet Secret

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

    Coinbase CDP 錢包秘密產生
  4. 在產品 > 錢包 > 非自訂錢包 > 安全性下,啟用委派簽署。

委派的 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 授權方。