View a markdown version of this page

Réduire les CAPTCHA grâce à l'authentification par robot Web - Amazon Bedrock AgentCore

Réduire les CAPTCHA grâce à l'authentification par robot Web

Note

Amazon Bedrock AgentCore Browser Web Bot Auth (version préliminaire) est basé sur le projet de protocole IETF Web Bot Auth, qui est susceptible d'être modifié au fur et à mesure que la spécification évolue vers sa finalisation.

+ Mise en œuvre actuelle :

+ * Les détails de mise en œuvre, les paramètres de l'API et les mécanismes de signature peuvent changer à mesure que nous nous alignons sur la spécification finalisée du protocole. * Le support et les politiques des fournisseurs WAF varient. Tous les sites Web ne reconnaissent pas ou n'autorisent pas le trafic d'agents signés* Les propriétaires de domaines conservent le contrôle total de leurs politiques relatives aux bots et peuvent bloquer, surveiller ou limiter le trafic des agents indépendamment des signatures cryptographiques

+ Pour la dernière spécification du protocole, consultez le projet de l'IETF.

Amazon Bedrock AgentCore Browser réduit les problèmes liés aux CAPTCHA grâce à Web Bot Auth, un projet de protocole IETF qui identifie de manière cryptographique les agents d'intelligence artificielle auprès des sites Web et des fournisseurs de contrôle des robots.

Présentation de

Les agents d'intelligence artificielle sont fréquemment confrontés à des mécanismes anti-bots lorsqu'ils naviguent sur des sites Web, notamment les défis CAPTCHA, la limitation du débit et le blocage des requêtes. Ces mesures de sécurité sont conçues pour empêcher le trafic automatisé malveillant, mais bloquent également souvent les agents IA légitimes.

Les sites Web mettent en œuvre ces défenses car ils ne peuvent pas faire la distinction de manière fiable entre les agents légitimes et les robots malveillants. Les méthodes d'identification traditionnelles telles que les adresses IP ou User-Agent les chaînes de caractères peuvent être facilement falsifiées et ne fournissent pas d'identité vérifiable.

Web Bot Auth répond à ce défi en implémentant le projet de protocole IETF HTTP Message Signatures for Automated Traffic Architecture. Ce protocole permet aux agents d'intelligence artificielle de signer cryptographiquement leurs requêtes HTTP, fournissant ainsi aux sites Web une preuve vérifiable de l'identité de l'agent.

Lorsque l'authentification Web Bot est activée, le AgentCore navigateur Amazon Bedrock signe automatiquement chaque requête HTTP avec une clé privée et inclut des en-têtes de vérification. Les fournisseurs de solutions de contrôle des bots (tels que Cloudflare, Akamai Technologies et HUMAN Security) peuvent vérifier ces signatures par rapport aux annuaires à clés publiques et appliquer les politiques appropriées configurées par les propriétaires de sites Web.

Cette approche fournit une méthode standardisée permettant à l'automatisation légitime de s'identifier tout en préservant le contrôle des propriétaires de sites Web sur les politiques d'accès.

Comment ça marche

Web Bot Auth utilise la norme de signature de message HTTP de l'IETF pour signer cryptographiquement les requêtes HTTP :

  1. Enregistrement de l'agent : Amazon Bedrock AgentCore s'enregistre auprès des fournisseurs de contrôle des bots (Cloudflare, reCAPTCHA, etc.) et fournit des clés publiques à des fins de vérification

  2. Signature des demandes : lorsqu'il est activé, l'outil de navigation signe automatiquement chaque requête HTTP à l'aide d'une clé privée

  3. En-têtes de signature : Trois en-têtes sont ajoutés à chaque demande :

    • Signature: La signature cryptographique

    • Signature-Agent: pointe vers le répertoire des clés publiques à des fins de vérification

    • Signature-Input: Spécifie quels composants ont été signés

  4. Vérification : le système de contrôle des bots du site Web récupère la clé publique et vérifie la signature pour confirmer que la demande provient d'Amazon Bedrock AgentCore

  5. Application des politiques : Sur la base de l'identité vérifiée, le site Web peut appliquer les politiques appropriées. Les propriétaires de domaines peuvent configurer leurs systèmes de contrôle des bots pour :

    • Bloquer tout le trafic : rejeter toutes les demandes automatisées indépendamment de l'authentification

    • Autoriser uniquement les robots signés : acceptez uniquement les demandes provenant d'agents vérifiés avec des signatures d'authentification Web Bot valides

    • Autoriser les robots signés provenant de répertoires spécifiques : autoriser les agents authentifiés à accéder uniquement à certains chemins ou ressources du site Web

Activation de l'authentification par le Web Bot

Pour activer l'authentification Web Bot, vous devez la configurer lors de la création d'un outil de navigateur :

Exemple
AWS CLI
  1. Pour créer un outil de navigateur avec l'authentification Web Bot activée à l'aide de la 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. Pour créer un outil de navigateur avec l'authentification Web Bot activée à l'aide de 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. ====== Pour activer l'authentification Web Bot dans la console

  2. Ouvrez la AgentCore console à l'adresse https://console.aws.amazon.com/bedrock-agentcore/home#.

  3. Dans le volet de navigation, sélectionnez Built-in Outils.

  4. Choisissez Créer un outil de navigateur.

  5. Indiquez un nom d'outil unique et une description facultative.

  6. Sous Paramètres réseau, sélectionnez Réseau public.

  7. Dans la section Configuration de l'authentification du robot Web, cochez la case Utiliser l'authentification du robot Web.

  8. Sous Autorisations, spécifiez un rôle d'exécution IAM qui définit les AWS ressources auxquelles l'outil de navigation peut accéder.

  9. Configurez les autres paramètres du navigateur selon vos besoins, puis choisissez Créer.

Important

Web Bot Auth nécessite un rôle d'exécution avec une politique de confiance, mais ne nécessite aucune politique gérée ou intégrée. La fonctionnalité est désactivée par défaut et doit être explicitement activée lors de la création du navigateur. Vous devez ajouter la politique de confiance suivante au rôle d'exécution : [source, json, subs="verbatim, attributes "] ---- {« Version » 2012-10-17", « Statement » : [{« Sid » : "«, « Effect » : « Allow », « Principal » : {BedrockAgentCoreBuiltInTools« Service » : « bedrock-agentcore.amazonaws.com »}, « Action » : « sts : «, « Condition » : {": {« aws : « : « 111122223333"}," StringEquals « : {AssumeRole« aws : SourceAccount « arn:aws:bedrock-agentcore:us-east- 1:111122223333 :* »}}}}} ---- ArnLike SourceArn

Fournisseurs de systèmes de contrôle des robots compatibles

Amazon Bedrock prend AgentCore actuellement en charge l'authentification par bot Web auprès des fournisseurs de contrôle des robots suivants :

  • Cloudflare

  • SÉCURITÉ HUMAINE

  • Technologies d'Akamai

  • DataDome

  • F5

D'autres fournisseurs de systèmes de contrôle des robots seront soutenus au fur et à mesure que des partenariats seront établis. L'authentification fonctionne de manière transparente : une fois activée, vos agents peuvent naviguer sur des sites Web protégés par ces services avec moins de friction.

Considérations

  • Fonctionnement transparent : Web Bot Auth fonctionne automatiquement une fois activé. Aucune modification de code supplémentaire n'est requise dans vos applications d'agent.

  • Impact sur les performances : la signature des demandes ajoute une latence minimale aux requêtes HTTP.

  • Couverture des fournisseurs : cette fonctionnalité ne fonctionne qu'avec les sites Web qui utilisent des fournisseurs de contrôle des robots compatibles. Les sites Web utilisant d'autres solutions anti-bots peuvent toujours présenter des défis.

  • Dépendant de la politique : même avec l'authentification, les propriétaires de sites Web contrôlent leurs politiques relatives aux bots. Certains sites peuvent toujours restreindre ou surveiller le trafic des agents en fonction de leurs besoins spécifiques.