View a markdown version of this page

AgentCore 支払いの前提条件 - Amazon Bedrock AgentCore

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 支払いをプログラムで操作する場合:

  1. Python 3.10 以降をインストールします

  2. AWS SDK をインストールします。 pip install boto3

  3. 認証情報が設定されていることを確認します。 aws sts get-caller-identity

AWS SDK をセットアップして使用する方法の詳細については、AWS 「 ビルダーツール」を参照してください。

支払いプロバイダーの認証情報

AgentCore 支払いは、暗号通貨ウォレットオペレーションのために外部支払いプロバイダーに接続します。PaymentConnector を作成する前に、少なくとも 1 つのサポートされているプロバイダーから認証情報を取得する必要があります。

Coinbase CDP 認証情報

Coinbase CDP をデベロッパーマネージドウォレットの支払いプロバイダーとして使用する場合は、Coinbase デベロッパープラットフォームから次の認証情報を取得します。GitHub の Coinbase AgentCore テンプレートは、資金をオランピングし、エージェントにアクセス許可を付与するためのリファレンスフロントエンドを提供します。

  1. Coinbase 開発者プラットフォームアカウントとプロジェクトを作成またはログインします。

  2. API キーとウォレットシークレットを生成する (または既存のキーを再利用する)。

    1. API キーを生成し、次の値を書き留めます。

      [認証情報] 説明

      API Key ID

      CDP プロジェクトのパブリック識別子

      API Key Secret

      CDP コントロールプレーンへの API リクエストの署名に使用されるプライベートシークレット

      Coinbase CDP API キーの生成
    2. プロジェクト > ウォレット > 非カスタムウォレット > セキュリティで、ウォレットシークレットを生成し、次の値を書き留めます。

      [認証情報] 説明

      Wallet Secret

      アドレスの取得やトランザクションの署名などの暗号化ウォレットオペレーション専用のシークレット

      Coinbase CDP ウォレットシークレットの生成
  3. Project > Wallets > Non-custodial Wallet > Security で、委任署名を有効にします。

委任用の Coinbase ダッシュボード

プライベート認証情報

ユーザー所有の埋め込みウォレットフローに Privy を使用する場合は、Privy Dashboard から次の認証情報を取得します。GitHub の Privy AgentCore SDK は、資金をオランピングし、エージェントにアクセス許可を付与するためのリファレンスフロントエンドを提供します。

  1. dashboard.privy.io で AgentCore オペレーション専用の Privy アプリを作成します。他の目的を果たす Privy アプリを再利用しないでください。

  2. アプリ設定からアプリ IDアプリシークレットをコピーします。

  3. Privy アプリで、Wallet Infrastructure > Authorization に移動し、New Key を選択して P-256 キーペアを生成します。次の値に注意してください。

    [認証情報] 説明

    App ID

    API コールでprivy-app-idヘッダーとして送信される Privy アプリケーション識別子

    App Secret

    server-to-server基本認証に使用されるアプリ ID とペアになったシークレット認証情報

    Authorization ID (署名者 ID)

    生成された P-256 キーペアからのパブリックキー識別子

    Authorization Private Key

    生成された P-256 キーペアからのプライベートキー。ウォレットオペレーションの署名に使用されます。

AgentCore 支払いのプライベートキーダイアログ

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 認証情報を定期的にローテーションして、侵害されたシークレットの露出ウィンドウを減らします。

[認証情報] 推奨ローテーション頻度

App Secret

90 日ごと

Authorization Private Key

90 日ごと

App ID

ローテーションが不要 (パブリック識別子)

Authorization ID

新しいキーペアを生成すると自動的にローテーションされます

認証情報をローテーションするには:

  1. プライベートダッシュボードで新しいキーペアまたはアプリシークレットを生成します。

  2. AgentCore Identity の PaymentCredentialProvider を新しい値で更新します。

  3. 支払いオペレーションが新しい認証情報で成功することを確認します。

  4. Privy Dashboard で古い認証情報を取り消します。

注記

古い認証情報と新しい認証情報の両方がアクティブになる短い重複期間を計画します。これにより、ローテーション中のダウンタイムを回避できます。

プロバイダーから認証情報を取得したら、PaymentCredentialProvider として AgentCore Identity に保存します。手順については、「支払い認証情報プロバイダーの設定」を参照してください。リクエストとレスポンスの完全なスキーマについては、 API リファレンスのCreatePaymentCredentialProvider」を参照してください。

(オプション) JWT 認可の ID プロバイダー

Payment Manager へのインバウンドアクセスに JWT 認可を使用する (コンシューマーが IAM 以外の ID を使用して Payment Manager にアクセスできるようにする) 場合は、 Payment Manager を作成する前に Amazon Cognito または独自の ID プロバイダーを設定します。

  1. Cognito ユーザープールを作成する (または既存の ID プロバイダーを使用する)。

  2. アプリクライアントを登録し、クライアント ID を書き留めます。

  3. ユーザー名とパスワードを使用してテストユーザーを作成します

または、Payment Manager の作成時に Cognito を使用したクイック作成設定を選択でき、AgentCore 支払いがユーザーに代わって認可設定を作成します。

詳細な手順については、「インバウンド JWT オーソライザーの設定」を参照してください。