View a markdown version of this page

ウェブボット認証による CAPTCHAs の削減 - Amazon Bedrock AgentCore

ウェブボット認証による CAPTCHAs の削減

注記

Amazon Bedrock AgentCore Browser Web Bot Auth (プレビュー) は、IETF Web Bot Auth プロトコルのドラフトに基づいています。このプロトコルは、仕様が確定に向けて進化するにつれて変更される可能性があります。

+ 現在の実装:

+ * 実装の詳細、API パラメータ、署名メカニズムは、確定したプロトコル仕様に合わせて変更される場合があります。* WAF プロバイダーのサポートとポリシーは異なります。すべてのウェブサイトが署名付きエージェントトラフィックを認識または許可するわけではありません * ドメイン所有者はボットポリシーを完全に制御し、暗号化署名に関係なくエージェントトラフィックをブロック、モニタリング、またはレート制限する可能性があります

+ 最新のプロトコル仕様については、IETF ドラフトを参照してください。

Amazon Bedrock AgentCore Browser は、Web Bot Auth を通じて CAPTCHA の課題を減らします。これは、ウェブサイトやボットコントロールベンダーの AI エージェントを暗号で識別するドラフト IETF プロトコルです。

概要

AI エージェントは、CAPTCHA チャレンジ、レート制限、リクエストブロックなど、ウェブサイトを閲覧するときにボット対策メカニズムに頻繁に遭遇します。これらのセキュリティ対策は、悪意のある自動トラフィックを防ぐように設計されていますが、多くの場合、正当な AI エージェントもブロックします。

ウェブサイトは、正当なエージェントと悪意のあるボットを確実に区別できないため、これらの防御を実装します。IP アドレスや User-Agent 文字列などの従来の識別方法は、簡単になりすましでき、検証可能な ID は提供されません。

Web Bot Auth は、自動トラフィックアーキテクチャドラフトプロトコルの IETF HTTP メッセージ署名を実装することで、この課題に対処します。このプロトコルにより、AI エージェントは HTTP リクエストに暗号で署名し、ウェブサイトにエージェントの ID の検証可能な証拠を提供できます。

Web Bot Auth を有効にすると、Amazon Bedrock AgentCore Browser はプライベートキーを使用して各 HTTP リクエストに自動的に署名し、検証ヘッダーを含めます。ボットコントロールベンダー (Cloudflare、Akamai Technologies、HUMAN Security など) は、パブリックキーディレクトリに対してこれらの署名を検証し、ウェブサイト所有者によって設定された適切なポリシーを適用できます。

このアプローチは、ウェブサイト所有者によるアクセスポリシーの制御を維持しながら、正当な自動化が自身を識別するための標準化された方法を提供します。

仕組み

Web Bot Auth は、IETF HTTP Message Signatures 標準を使用して HTTP リクエストに暗号で署名します。

  1. エージェント登録: Amazon Bedrock AgentCore はボットコントロールベンダー (Cloudflare、reCAPTCHA など) に登録し、検証用のパブリックキーを提供します

  2. リクエスト署名 : 有効にすると、ブラウザツールはプライベートキーを使用して各 HTTP リクエストに自動的に署名します。

  3. 署名ヘッダー: 各リクエストに 3 つのヘッダーが追加されます。

    • Signature : 暗号化署名

    • Signature-Agent : 検証のためにパブリックキーディレクトリを指す

    • Signature-Input : 署名されたコンポーネントを指定します。

  4. 検証: ウェブサイトのボット管理システムがパブリックキーを取得し、署名を検証して、リクエストが Amazon Bedrock AgentCore から送信されたことを確認します。

  5. ポリシーアプリケーション: 検証済みの ID に基づいて、ウェブサイトは適切なポリシーを適用できます。ドメイン所有者は、ボット管理システムを次のように設定できます。

    • すべてのトラフィックをブロックする: 認証に関係なく、すべての自動リクエストを拒否する

    • 署名付きボットのみを許可する: 有効なウェブボット認証署名を持つ検証済みエージェントからのリクエストのみを受け入れる

    • 特定のディレクトリから署名付きボットを許可する: 認証されたエージェントがウェブサイト上の特定のパスまたはリソースにのみアクセスすることを許可する

ウェブボット認証の有効化

Web Bot Auth を有効にするには、ブラウザツールの作成時に Web Bot Auth を設定する必要があります。

AWS CLI
  1. AWS CLI を使用してウェブボット認証を有効にしてブラウザツールを作成するには:

    aws bedrock-agentcore-control create-browser \ --region <Region> \ --name "my-browser-with-auth" \ --description "Browser with Web Bot Auth enabled" \ --network-configuration '{"networkMode": "PUBLIC"}' \ --execution-role-arn "arn:aws:iam::<account-id>:role/<execution-role>" \ --browser-signing '{"enabled": true}'
Boto3
  1. Boto3 を使用してウェブボット認証を有効にしてブラウザツールを作成するには:

    import boto3 client = boto3.client('bedrock-agentcore-control', region_name='us-west-2') response = client.create_browser( name='my-browser-with-auth', description='Browser with Web Bot Auth enabled', networkConfiguration={ 'networkMode': 'PUBLIC' }, executionRoleArn='arn:aws:iam::<account-id>:role/<execution-role>', browserSigning={ 'enabled': True } )
Console
  1. ====== コンソールでウェブボット認証を有効にするには

  2. https://console.aws.amazon.com/bedrock-agentcore/home# で AgentCore コンソールを開きます。

  3. ナビゲーションペインで、組み込みツールを選択します。

  4. ブラウザツールの作成 を選択します。

  5. 一意のツール名とオプションの Description を指定します。

  6. ネットワーク設定 で、パブリックネットワークを選択します。

  7. ウェブボット認証設定セクションで、ウェブボット認証の使用チェックボックスをオンにします。

  8. アクセス許可 で、ブラウザツールがアクセスできる AWS リソースを定義する IAM 実行ロールを指定します。

  9. 必要に応じて他のブラウザ設定を行い、作成を選択します。

重要

Web Bot Auth には、信頼ポリシーを含む実行ロールが必要ですが、管理ポリシーやインラインポリシーは必要ありません。この機能はデフォルトで無効になっており、ブラウザの作成時に明示的に有効にする必要があります。次の信頼ポリシーを実行ロールに追加する必要があります: [source,json,subs"verbatim,attributes"] ---- {"Version"2012-10-17, "Statement": [{ "Sid": "BedrockAgentCoreBuiltInTools", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": {"aws:SourceArn": "arn:aws:bedrock-agentcoreus-east-1:111122223333:*" } } ---

サポートされている Bot Control ベンダー

Amazon Bedrock AgentCore は現在、次のボットコントロールベンダーで Web Bot Auth をサポートしています。

  • Cloudflare

  • 人間のセキュリティ

  • Akamai テクノロジー

  • DataDome

  • F5

パートナーシップが確立されると、追加のボットコントロールベンダーがサポートされます。認証は透過的に機能します。有効にすると、エージェントはこれらのサービスで保護されたウェブサイトをスムーズに参照できます。

考慮事項

  • 透過的なオペレーション: ウェブボット認証は、有効にすると自動的に機能します。エージェントアプリケーションでは、追加のコード変更は必要ありません。

  • パフォーマンスへの影響: リクエストに署名すると、HTTP リクエストのレイテンシーが最小限に抑えられます。

  • ベンダーカバレッジ: この機能は、サポートされているボットコントロールベンダーを使用するウェブサイトでのみ機能します。他のボット対策ソリューションを使用するウェブサイトは、依然として課題を抱えている可能性があります。

  • ポリシー依存: 認証を使用しても、ウェブサイトの所有者がボットポリシーを制御します。一部のサイトでは、特定の要件に基づいてエージェントトラフィックを制限またはモニタリングする場合があります。