View a markdown version of this page

CAPTCHAs mit Web Bot Auth reduzieren - Amazon Grundgestein AgentCore

CAPTCHAs mit Web Bot Auth reduzieren

Anmerkung

Amazon Bedrock AgentCore Browser Web Bot Auth (Preview) basiert auf dem Entwurf des IETF Web Bot Auth-Protokolls, das sich ändern kann, wenn sich die Spezifikation der Fertigstellung nähert.

+ Aktuelle Implementierung:

+ * Implementierungsdetails, API-Parameter und Signaturmechanismen können sich ändern, da wir uns an die endgültige Protokollspezifikation anpassen. * Die Unterstützung und die Richtlinien der WAF-Anbieter variieren. Nicht alle Websites werden signierten Agentenverkehr erkennen oder zulassen. * Domaininhaber behalten die volle Kontrolle über ihre Bot-Richtlinien und können den Agentenverkehr unabhängig von kryptografischen Signaturen blockieren, überwachen oder einschränken

+ Die neueste Protokollspezifikation finden Sie im IETF-Entwurf.

Amazon Bedrock AgentCore Browser reduziert CAPTCHA-Herausforderungen durch Web Bot Auth, einen Entwurf eines IETF-Protokolls, das KI-Agenten gegenüber Websites und Anbietern von Bot-Kontrolle kryptografisch identifiziert.

-Übersicht

KI-Agenten stoßen beim Surfen auf Websites häufig auf Anti-Bot-Mechanismen, darunter CAPTCHA-Herausforderungen, Ratenbegrenzung und Blockierung von Anfragen. Diese Sicherheitsmaßnahmen sollen böswilligen automatisierten Datenverkehr verhindern, blockieren aber häufig auch legitime KI-Agenten.

Websites implementieren diese Schutzmaßnahmen, da sie nicht zuverlässig zwischen legitimen Agenten und böswilligen Bots unterscheiden können. Herkömmliche Identifikationsmethoden wie IP-Adressen oder User-Agent Zeichenketten können leicht gefälscht werden und bieten keine überprüfbare Identität.

Web Bot Auth begegnet dieser Herausforderung durch die Implementierung des Entwurfsprotokolls IETF HTTP Message Signatures for Automated Traffic Architecture. Dieses Protokoll ermöglicht es KI-Agenten, ihre HTTP-Anfragen kryptografisch zu signieren, sodass Websites einen verifizierbaren Identitätsnachweis erhalten.

Wenn Web Bot Auth aktiviert ist, signiert Amazon Bedrock AgentCore Browser automatisch jede HTTP-Anfrage mit einem privaten Schlüssel und enthält Bestätigungs-Header. Anbieter von Bot-Kontrollsystemen (wie Cloudflare, Akamai Technologies und HUMAN Security) können diese Signaturen anhand von Verzeichnissen mit öffentlichen Schlüsseln überprüfen und die entsprechenden, von den Eigentümern der Website konfigurierten Richtlinien anwenden.

Dieser Ansatz bietet eine standardisierte Methode für legitime Automatisierung, um sich selbst zu identifizieren und gleichzeitig die Kontrolle der Website-Besitzer über die Zugriffsrichtlinien zu behalten.

Funktionsweise

Web Bot Auth verwendet den IETF-Standard HTTP Message Signatures, um HTTP-Anfragen kryptografisch zu signieren:

  1. Agentenregistrierung: Amazon Bedrock AgentCore registriert sich bei Anbietern von Bot-Kontrolle (Cloudflare, reCAPTCHA usw.) und stellt öffentliche Schlüssel zur Überprüfung bereit

  2. Signierung von Anfragen: Wenn diese Option aktiviert ist, signiert das Browser-Tool automatisch jede HTTP-Anfrage mit einem privaten Schlüssel

  3. Signatur-Header: Jeder Anfrage werden drei Header hinzugefügt:

    • Signature: Die kryptografische Signatur

    • Signature-Agent: Verweist zur Überprüfung auf das Verzeichnis mit öffentlichen Schlüsseln

    • Signature-Input: Gibt an, welche Komponenten signiert wurden

  4. Überprüfung: Das Bot-Kontrollsystem der Website ruft den öffentlichen Schlüssel ab und überprüft die Signatur, um zu bestätigen, dass die Anfrage von Amazon Bedrock stammt AgentCore

  5. Anwendung der Richtlinie: Auf der Grundlage der verifizierten Identität kann die Website entsprechende Richtlinien anwenden. Domaininhaber können ihre Bot-Kontrollsysteme so konfigurieren, dass sie:

    • Gesamten Datenverkehr blockieren: Lehnen Sie alle automatisierten Anfragen unabhängig von der Authentifizierung ab

    • Nur signierte Bots zulassen: Akzeptiere nur Anfragen von verifizierten Agenten mit gültigen Web Bot Auth-Signaturen

    • Signierte Bots aus bestimmten Verzeichnissen zulassen: Erlauben Sie authentifizierten Agenten, nur auf bestimmte Pfade oder Ressourcen auf der Website zuzugreifen

Web Bot Auth aktivieren

Um Web Bot Auth zu aktivieren, müssen Sie es bei der Erstellung eines Browser-Tools konfigurieren:

Beispiel
AWS CLI
  1. So erstellen Sie ein Browser-Tool mit aktivierter Web Bot Auth mithilfe der 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. So erstellen Sie mit Boto3 ein Browser-Tool mit aktivierter Web Bot Auth:

    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. ====== Um Web Bot Auth in der Konsole zu aktivieren

  2. Öffnen Sie die AgentCore Konsole unter #. https://console.aws.amazon.com/bedrock-agentcore/home

  3. Wählen Sie im Navigationsbereich Built-in Tools aus.

  4. Wählen Sie Browser-Tool erstellen aus.

  5. Geben Sie einen eindeutigen Namen für das Tool und optional eine Beschreibung ein.

  6. Wählen Sie unter Netzwerkeinstellungen die Option Öffentliches Netzwerk aus.

  7. Aktivieren Sie im Abschnitt Konfiguration der Web-Bot-Authentifizierung das Kontrollkästchen Web-Bot-Authentifizierung verwenden.

  8. Geben Sie unter Berechtigungen eine IAM-Ausführungsrolle an, die definiert, auf welche AWS Ressourcen das Browser-Tool zugreifen kann.

  9. Konfigurieren Sie nach Bedarf weitere Browsereinstellungen und wählen Sie Create.

Wichtig

Web Bot Auth erfordert eine Ausführungsrolle mit einer Vertrauensrichtlinie, erfordert jedoch keine verwalteten oder integrierten Richtlinien. Die Funktion ist standardmäßig deaktiviert und muss bei der Browsererstellung explizit aktiviert werden. Sie sollten der Ausführungsrolle die folgende Vertrauensrichtlinie hinzufügen: [source, json, subs="verbatim, attributes "] ---- {„Version“ :"2012-10-17", „Statement“: [{„Sid“: "„, „Effect“: „Allow“, BedrockAgentCoreBuiltInTools „Principal“: {„Service“: „bedrock-agentcore.amazonaws.com“}, „Action“: „sts: „, „Condition“: {"„: {„aws: AssumeRole „: „111122223333"}," StringEquals „: {„aws: SourceAccount „: „arn:aws:bedrock-agentcore:us-east- 1:111122223333: SourceArn *“}}}]} ---- ArnLike

Unterstützte Anbieter von Bot-Control

Amazon Bedrock unterstützt AgentCore derzeit Web Bot Auth mit den folgenden Anbietern von Bot-Kontrolle:

  • Cloudflare

  • MENSCHLICHE SICHERHEIT

  • Akamai-Technologien

  • DataDome

  • F5

Weitere Anbieter von Bot-Control werden unterstützt, sobald Partnerschaften geschlossen werden. Die Authentifizierung funktioniert transparent. Sobald sie aktiviert ist, können Ihre Agenten problemlos auf Websites zugreifen, die durch diese Dienste geschützt sind.

Überlegungen

  • Transparenter Betrieb: Web Bot Auth funktioniert automatisch, sobald es aktiviert ist. In Ihren Agentenanwendungen sind keine zusätzlichen Codeänderungen erforderlich.

  • Auswirkungen auf die Leistung: Durch das Signieren von Anfragen wird die Latenz von HTTP-Anfragen minimiert.

  • Abdeckung durch Anbieter: Die Funktion funktioniert nur mit Websites, die unterstützte Anbieter für Bot-Control verwenden. Websites, die andere Anti-Bot-Lösungen verwenden, können immer noch Herausforderungen mit sich bringen.

  • Abhängig von den Richtlinien: Auch bei der Authentifizierung haben Webseitenbesitzer die Kontrolle über ihre Bot-Richtlinien. Einige Websites können den Agentenverkehr immer noch auf der Grundlage ihrer spezifischen Anforderungen einschränken oder überwachen.