本文にスキップ
AI News HubLIVE
サイト内リライト6 分で読了

Amazon Bedrock AgentCore Payments の組み込みガードレールで安全なエージェント支払いを実現

記事の要約

この記事では、エージェント支払いシステムの設計における主要なリスク(支出の暴走、ユーザーの同意不足、認証情報の漏洩、支払い手段の露出など)を検討し、Amazon Bedrock AgentCore Payments がインフラ層のガードレールによってこれらの課題をどのように解決するかを説明します。

ソースAWS Machine Learning Blog著者: Joshua Smith
Amazon Bedrock AgentCore Payments の組み込みガードレールで安全なエージェント支払いを実現
誤りを報告

訂正窓口はまだ利用できません。記事情報をコピーして保存できます。

訂正案内
本文へ

エージェントがユーザーに代わってツールの選択、Webブラウジング、MCPサーバーの呼び出しを自律的に行うにつれ、有料リソースにアクセスする際に支払い手段がないと行き詰まってしまいます。Amazon Bedrock AgentCore Payments(CoinbaseおよびStripe/Privyとの提携でプレビュー提供)は、エージェントがユーザーに代わって有料リソースにアクセスできるようにすることで、このギャップを埋めます。しかし、自律システムに実際の資金を任せることには新たなリスクが伴います。長時間のセッションでの自律行動、モデルの非決定性、エージェントコードとユーザーの資金との間の広い露出面などです。この記事では、それらのリスクと、AgentCore Payments が組み込むガードレールについて詳しく説明します。

AgentCore Payments は現在、米国東部(バージニア北部)、米国西部(オレゴン)、欧州(フランクフルト)、アジアパシフィック(シドニー)リージョンでプレビュー提供されており、機能とAPIは一般公開前に変更される可能性があります。

エージェント支払いの安全性リスク

エージェント支払いの設計にはいくつかの重要なリスクがあります。

支出の暴走:エージェントは自律的かつ長時間動作し、セッションごとに多くの決定を下し、人間が関与しないまま動作し続けます。明示的なガードレールがない場合、誤ったプロンプトや侵害されたエージェントが支出を暴走させる可能性があります。大規模言語モデル(LLM)は非決定的であるため、応答を支出の承認と誤解したり、予期しない再試行で支払いを繰り返す可能性があります。したがって、支出制限はモデル外部のインフラ層で定義・強制する必要があります。

ユーザーの同意と委任の欠如:エージェントは自律的に支払いを行えますが、エンドユーザーは最終的な制御を保持する必要があります。ユーザーは支出権限をいつ委任するか、ウォレットにいつチャージするか、資金をいつ引き出すかを決定します。エージェントは包括的な許可ではなく、明確に範囲が定められた許可に基づいて動作し、ユーザーはいつでもその許可を取り消せます。

開発者キーとウォレットトークンの漏洩:ユーザーに代わって取引するエージェントは2種類の機密情報を扱います。1つはAgentCore PaymentsがウォレットプロバイダのAPIを呼び出すための開発者認証情報(APIキー、シークレット、認証キー)、もう1つはユーザーの組み込みウォレットキー(ウォレットプロバイダが自己管理で保持)です。両方ともエージェントコードから隔離されなければなりません。これらの認証情報がエージェントコードや環境変数にインラインで保存されると、侵害されたエージェントがそれらを暴露します。エージェントはこれらの認証情報を直接扱うべきではなく、システムが個別の支払いのために発行する認証情報は短命で特定のセッションにバインドされるべきです。

ユーザーの支払い手段の露出:ユーザーのカード番号、CVV、その他の個人支払い詳細は決してエージェントのコンテキストに入るべきではありません。クレジットカードにアクセスできるエージェントは、アクセスできないエージェントよりもはるかに大きな露出面を持ち、PCI標準の範囲もそれに応じて拡大します。エージェントの視野は「ユーザー所有のウォレットから支出する許可」で止まり、それ以上先には及ばないようにすべきです。

監査可能性の欠如:予期しない請求、支払い拒否、またはセキュリティや財務チームが何が起こったのか質問する場合など、何か問題が発生したときには、エージェントが何を、誰のために、どの制限に対して、どのマーチャントに対して行ったかについて、完全で信頼性の高い記録が必要です。その記録は自動的に生成されなければなりません。エージェントコードが自身のアクションをログに記録するだけでは不十分です。

AgentCoreサービスと制御によるリスクへの対処

AgentCore Payments は Amazon Bedrock AgentCore の他の部分と統合してこれらの課題に対処します。

支払い制限とツールアクセスポリシー:すべての取引は支払いセッション(単一のエージェントインタラクションのための範囲指定された支払いコンテキスト)内で実行されます。支払いセッションには2つの設定可能な上限があります:指定通貨での最大支出額と有効期限です。支払いの署名前に、AgentCore Payments はリクエストをセッション予算と照合し、上限を超えるリクエストは拒否します。署名が失敗した場合、サービスが予算から既に差し引いていればロールバックするため、失敗した取引は予算を消費しません。このチェックは決定論的でインフラ層で実行され、プロンプトインジェクションでは上限を回避できません。開発者はワークロードに合った制限を設定し、AgentCore Payments がすべての呼び出しで強制します。小さい予算から始め、エージェントが本番環境で実績を積んだら引き上げることを推奨します。

ツールレベルの認可については、Amazon Bedrock AgentCore Gateway 経由で有料エンドポイントを公開することを推奨します。Gateway を経由するすべての呼び出しは、Policy in AgentCore(Cedarベースのエンジン)によってインターセプトされ、リクエスト(エージェントのID、ツール名、パラメータ)を評価して許可するかどうかを決定します。2つの制御は異なる決定をカバーします。Policy は誰がどの有料ツールをどのパラメータで呼び出せるかを決定し、AgentCore Payments はその呼び出しがいくらまで、どれだけの期間使用できるかを決定します。これらは直交する制御を提供します。

セッション予算とTTLの設定による支払いセッションの作成手順については、Amazon Bedrock AgentCore 開発者ガイドの「Creating a payment session」を参照してください。エージェントの役割やユーザーグループごとにツールアクセスを範囲指定するCedarポリシーの例については、開発者ガイドの「Policy in AgentCore」を参照してください。

ユーザー制御、資金調達、委任:エンドユーザーは最初にウォレットに資金を入れ、その後エージェントに支出許可を明示的に付与します。資金調達は帯外アクションであり、ユーザーはウォレットプロバイダのポータル(Coinbase WalletHub または Stripe Privy フロントエンド)内で完了し、エージェントはそのフローにAPIもUIも持ちません。資金が到着した後でも、ユーザーがウォレットプロバイダの許可プリミティブ(Coinbase Spend Permissions または Privy Delegated Actions)を通じて明示的に委任するまで、エージェントは取引できません。資金調達とエージェントの承認は、ユーザーがウォレットプロバイダのポータル内で行う2つの別個の決定です。ウォレット自体(Coinbase Developer Platform 組み込みウォレットまたは Stripe Privy 組み込みウォレット)はユーザーに属し、ユーザーが鍵を保持します。AWSも開発者も保持しません。ユーザーはいつでも委任を取り消せ、ウォレットから自分の管理するアドレスに資金を引き出すことができます。

AgentCore Identity と Secrets Manager による認証情報保存:AgentCore Identity は4つの層でセキュリティを処理します。

  1. インバウンド認証:IAM または SigV4 を設定。サービスに付属する4役割IAMパターンは、コントロールプレーン(AgentCore Payments を管理・設定するAPI)とデータプレーン(取引を実行するAPI)を分離します。コントロールプレーンでは ControlPlaneRole がサービスを管理し、ManagementRole が支払いマネージャーとセッションを設定します。ManagementRole は ProcessPayment に対して明示的な拒否を持つため、支払い設定に使用する認証情報で取引を実行することはできません。データプレーンでは ProcessPaymentRole が支払いを実行し、サービス自体が ResourceRetrievalRole を引き受けてランタイムにセッションと認証情報の状態を取得します。単一の役割で予算を引き上げて支出することはできません。
  1. ウォレットプロバイダ呼び出しの開発者認証情報:AgentCore Payments が Coinbase Developer Platform または Stripe Privy を呼び出す際は、Coinbase Developer Platform APIキー、Stripe Privy アプリ認証情報、Privy 認証キーなどの開発者認証情報を使用します。AgentCore Identity はこれらをトークン保管庫に保存し、AWS KMS で転送中と保存時に暗号化します。保管庫は AWS Secrets Manager とネイティブ統合されており、開発者はセキュリティチームが既に使用しているツールでローテーションやアクセスポリシーを管理できます。エージェントコードはこれらの開発者認証情報を直接扱いません。
  1. ユーザーのウォレットアドレスはウォレットプロバイダに保持:前述の開発者認証情報とは別に、各ユーザーは自己管理型ウォレットアドレスを持つ組み込みウォレット(Coinbase Developer Platform ウォレットまたは Stripe Privy ウォレット)を保有します。そのウォレットアドレスと制御鍵はユーザーとウォレットプロバイダに留まり、AWSも開発者も保持しません。AgentCore Payments は鍵ではなくハンドルでウォレットを参照します。
  1. 各支払いのジャストインタイムトークン:AgentCore Payments が支払いを実行する必要がある場合、GetResourcePaymentToken API を通じて Identity にスコープ付きトークンを要求します。トークンはランタイムで発行され、支払いセッションにバインドされ、その1回の操作のみに使用されます。長期間有効な支払いチャネルはありません。セッションのTTLまたは予算が尽きるとランタイムは以降の取引を拒否し、ウォレットプロバイダの呼び出しに使用されるトークンは操作が必要な間のみ存在します。

帯外チャージによりエージェントを機密データから隔離:ユーザーがウォレットにチャージする際、Coinbase WalletHub または Stripe Privy フロントエンドのウォレットプロバイダがホストするオンランプでクレジットカード、デビットカード、銀行口座の詳細を入力します。これらの画面はウォレットプロバイダが運用し、PCI範囲内です。エージェントはAPIもUIもアクセスできません。カード番号、有効期限、CVV、ACH詳細はエージェントコード、プロンプトコンテキスト、開発者が運用するAWSサービスに触れません。この隔離は爆発半径を制限するために重要です:プロンプトインジェクション、毒されたツール応答、モデルの誤動作によって侵害されたエージェントは、そもそもアクセス権のないシステムからカード番号を抽出できません。PCIの負担はウォレットプロバイダに留まります。エージェントが操作するのは、ユーザーの組み込みウォレットからステーブルコインや法定通貨を支出するためのスコープ付きで取消可能な許可のみであり、その許可も前述のセッション制限によって制限されます。コンプライアンスの観点から、この設計により開発者は自身のシステムをPCI範囲に含めることなくエージェント支払いフローをリリースできます。エージェントの攻撃面と開発者のコンプライアンス範囲は意図的に小さく抑えられています。AWS自体は資金フローに関与せず、資金はユーザーの組み込みウォレットとマーチャントの間で直接移動します。

要点と分析を開く

記事インテリジェンス

エンジニア中級

要点

  • AgentCore Payments(CoinbaseおよびStripe/Privyとの提携でプレビュー提供)により、エージェントはユーザーに代わって有料リソースにアクセスできます。
  • リスクには、支出の暴走、ユーザーによる制御不足、開発者キーとウォレットトークンの漏洩、支払い手段の露出が含まれます。
  • ガードレールは、セッション予算とTTL、Cedarベースのツールアクセスポリシー、AgentCore Identityによる安全な認証情報保存、ジャストインタイムトークンで構成されます。
  • ユーザーはウォレットプロバイダのポータル経由でオフライン入金し、機密情報をエージェントコードから隔離します。

要点と分析は自動生成され、誤りを含む場合があります。原典をご確認ください。

Amazon Bedrock AgentCore Payments の組み込みガードレールで安全なエージェント支払いを実現 | AI News Hub