AgentCore 支払いの前提条件
AgentCore 支払いを使用する前に、このページの前提条件を完了してください。
ヒント
エージェント AWS ツールキットの AgentCore Payments スキルを使用して、このページのステップを自動化できます。このスキルは aws-agents プラグインの一部であり、AI コーディングエージェントが agentcore CLI を使用して Payment Manager、コネクタ、認証情報プロバイダー、支払い手段、セッションを作成し、x402 支払いツールをエージェントに追加できるようにします。詳細については、GitHub のクイックスタートとエージェントツールキットを参照してください。 AWS GitHub
AWS アカウントと認証情報
認証情報が設定された AWS アカウントが必要です。認証情報を設定するには、「 AWS CLI の開始方法」の手順に従って AWS コマンドラインインターフェイスをインストールして使用します。
# Verify installation aws --version # Should show version 2.x
Python と AWS SDK
AWS 認証情報にアクセスして SDKs」の手順に従います。 AWSPython SDK (Boto3) AWS を使用して AgentCore 支払いをプログラムで操作する場合:
-
Python 3.10 以降をインストールします。
-
AWS SDK をインストールします。
pip install boto3 -
認証情報が設定されていることを確認します。
aws sts get-caller-identity
AWS SDK をセットアップして使用する方法の詳細については、AWS 「 ビルダーツール
支払いプロバイダーの認証情報
AgentCore 支払いは、暗号通貨ウォレットオペレーションのために外部支払いプロバイダーに接続します。PaymentConnector を作成する前に、少なくとも 1 つのサポートされているプロバイダーから認証情報を取得する必要があります。
Coinbase CDP 認証情報
Coinbase CDP をデベロッパーマネージドウォレットの支払いプロバイダーとして使用する場合は、Coinbase デベロッパープラットフォーム
-
Coinbase 開発者プラットフォームアカウントとプロジェクトを作成またはログインします。
-
API キーとウォレットシークレットを生成する (または既存のキーを再利用する)。
-
API キーを生成し、次の値を書き留めます。
[認証情報] 説明 API Key IDCDP プロジェクトのパブリック識別子
API Key SecretCDP コントロールプレーンへの API リクエストの署名に使用されるプライベートシークレット
-
プロジェクト > ウォレット > 非カスタムウォレット > セキュリティで、ウォレットシークレットを生成し、次の値を書き留めます。
[認証情報] 説明 Wallet Secretアドレスの取得やトランザクションの署名などの暗号化ウォレットオペレーション専用のシークレット
-
-
Project > Wallets > Non-custodial Wallet > Security で、委任署名を有効にします。
プライベート認証情報
ユーザー所有の埋め込みウォレットフローに Privy を使用する場合は、Privy Dashboard
-
dashboard.privy.io
で AgentCore オペレーション専用の Privy アプリを作成します。他の目的を果たす Privy アプリを再利用しないでください。 -
アプリ設定からアプリ ID とアプリシークレットをコピーします。
-
Privy アプリで、Wallet Infrastructure > Authorization に移動し、New Key を選択して P-256 キーペアを生成します。次の値に注意してください。
[認証情報] 説明 App IDAPI コールで
privy-app-idヘッダーとして送信される Privy アプリケーション識別子App Secretserver-to-server基本認証に使用されるアプリ ID とペアになったシークレット認証情報
Authorization ID(署名者 ID)生成された P-256 キーペアからのパブリックキー識別子
Authorization Private Key生成された P-256 キーペアからのプライベートキー。ウォレットオペレーションの署名に使用されます。
Privy 認証情報のセキュリティのベストプラクティス
AgentCore 専用の Privy アプリを作成する
AgentCore の支払い専用に使用される別の Privy アプリを作成します。これにより、認証情報の範囲が縮小され、ウォレットオペレーションの監査が簡素化されます。
AgentCore サービスへのシークレットアクセスを制限する
プライベートを PaymentCredentialProvider として App Secret AgentCore Identity に保存する場合は、AgentCore 支払いサービスロールのみがシークレットを取得できることを確認してください。 PaymentCredentialProvider 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" } } } ] }
警告
AgentCore サービスロール以外のプリンシパルが Privy シークレットにアクセスできる場合、侵害された IAM ID はシークレットを取得し、AgentCore の予算適用および監査コントロール外で不正なウォレットオペレーションを実行する可能性があります。
シークレットを定期的にローテーションする
Privy 認証情報を定期的にローテーションして、侵害されたシークレットの露出ウィンドウを減らします。
| [認証情報] | 推奨ローテーション頻度 |
|---|---|
|
|
90 日ごと |
|
|
90 日ごと |
|
|
ローテーションが不要 (パブリック識別子) |
|
|
新しいキーペアを生成すると自動的にローテーションされます |
認証情報をローテーションするには:
-
プライベートダッシュボードで新しいキーペアまたはアプリシークレットを生成します。
-
AgentCore Identity の PaymentCredentialProvider を新しい値で更新します。
-
支払いオペレーションが新しい認証情報で成功することを確認します。
-
Privy Dashboard で古い認証情報を取り消します。
注記
古い認証情報と新しい認証情報の両方がアクティブになる短い重複期間を計画します。これにより、ローテーション中のダウンタイムを回避できます。
プロバイダーから認証情報を取得したら、PaymentCredentialProvider として AgentCore Identity に保存します。手順については、「支払い認証情報プロバイダーの設定」を参照してください。リクエストとレスポンスの完全なスキーマについては、 API リファレンスのCreatePaymentCredentialProvider」を参照してください。
(オプション) JWT 認可の ID プロバイダー
Payment Manager へのインバウンドアクセスに JWT 認可を使用する (コンシューマーが IAM 以外の ID を使用して Payment Manager にアクセスできるようにする) 場合は、 Payment Manager を作成する前に Amazon Cognito または独自の ID プロバイダーを設定します。
-
Cognito ユーザープールを作成する (または既存の ID プロバイダーを使用する)。
-
アプリクライアントを登録し、クライアント ID を書き留めます。
-
ユーザー名とパスワードを使用してテストユーザーを作成します。
または、Payment Manager の作成時に Cognito を使用したクイック作成設定を選択でき、AgentCore 支払いがユーザーに代わって認可設定を作成します。
詳細な手順については、「インバウンド JWT オーソライザーの設定」を参照してください。