View a markdown version of this page

Utilisation de proxys de navigateur - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de proxys de navigateur

Le AgentCore navigateur Amazon Bedrock permet d'acheminer le trafic du navigateur via vos propres serveurs proxy externes. Cela permet aux organisations de :

  • Atteignez la stabilité IP en acheminant le trafic via des proxys dont les adresses IP de sortie sont connues, éliminant ainsi les cycles de réauthentification provoqués par la rotation des adresses IP AWS

  • Soutenez la liste des adresses IP autorisées en fournissant des adresses de sortie stables et contrôlables pour les services nécessitant des contrôles d'accès IP-based

  • Intégrez l'infrastructure de l'entreprise en passant par vos serveurs proxy existants pour accéder aux pages Web et aux ressources internes

Vue d’ensemble

Lorsque vous créez une session de navigateur avec une configuration proxy, le AgentCore navigateur configure le navigateur pour acheminer le trafic HTTP et HTTPS via les serveurs proxy que vous avez spécifiés.

Flux de requêtes de proxy de navigateur indiquant le routage du trafic depuis la session du navigateur via un serveur proxy géré par le client vers les sites Web de destination.

Flux de demandes :

  1. Vous appelez StartBrowserSession en proxyConfiguration spécifiant votre serveur proxy.

  2. Si vous utilisez l'authentification, AgentCore récupère les informations d'identification du proxy depuis AWS Secrets Manager.

  3. La session du navigateur démarre avec la configuration de votre proxy appliquée.

  4. Le trafic du navigateur passe par votre serveur proxy en fonction des règles de routage de votre domaine.

  5. Votre serveur proxy transmet les demandes aux sites Web de destination.

Le serveur proxy est l'infrastructure que vous possédez et gérez. AgentCore Le navigateur s'y connecte en tant que client.

La configuration du proxy applique l'--proxy-serverindicateur Chromium à l'instance du navigateur au démarrage, dirigeant le trafic via le proxy spécifié au niveau du navigateur. Pour les scénarios qui nécessitent une application au niveau de la couche réseau, par exemple lorsque les paramètres au niveau du navigateur peuvent être modifiés pendant l'exécution, déployez des sessions de navigateur dans votre propre VPC. Consultez la section Configurer Amazon Bedrock AgentCore Runtime et les outils pour VPC.

Conditions préalables

Avant de configurer les proxys de navigateur, assurez-vous de disposer des éléments suivants :

  • Prérequis généraux du navigateur  : terminez la configuration standard de l'outil de navigation. Consultez la section Commencer à AgentCore utiliser le navigateur.

  • Serveur proxy  : serveur HTTP/HTTPS proxy accessible depuis Internet public (ou accessible depuis votre VPC si vous utilisez une configuration VPC) et qui prend en charge la méthode HTTP CONNECT pour le tunneling du trafic HTTPS.

  • AWS Secret du gestionnaire de secrets (si vous utilisez l'authentification) : secret contenant les informations d'identification du proxy au format JSON avec username des password clés et.

  • Autorisations IAM (si vous utilisez l'authentification) : l'appelant d'identité IAM StartBrowserSession doit disposer d'une secretsmanager:GetSecretValue autorisation pour le secret d'identification.

Prise en main

Cette section présente la configuration la plus simple pour acheminer le trafic du navigateur via un proxy.

Étape 1 : créer un secret d'identification (si vous utilisez l'authentification)

Si votre proxy nécessite une authentification, créez un secret dans AWS Secrets Manager :

aws secretsmanager create-secret \ --name "my-proxy-credentials" \ --secret-string '{"username":"<your-username>","password":"<your-password>"}'

Exigences relatives au format des justificatifs :

Champ Caractères autorisés

username

Alphanumérique plus @ . _ + = -

password

Alphanumérique plus @. _ + = - ! % $ *

Caractères non autorisés : deux-points (:), nouvelles lignes, espaces, guillemets.

Étape 2 : ajouter des autorisations IAM

Ajoutez cette politique à l'identité IAM qui créera des sessions de navigateur :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:AWS Region:AWS account:secret:secret-name*" } ] }

Étape 3 : Création d'une session de navigateur avec proxy

Vous pouvez créer une session de navigateur avec une configuration de proxy à l'aide de l' AWS interface de ligne de commande, du SDK ou de l'API.

Exemple
AWS CLI
  1. Pour démarrer une session de navigateur avec un proxy à l'aide de l' AWS interface de ligne de commande :

    aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "my-proxy-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080, "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }] }'

    Pour les proxys utilisant une liste d'adresses IP autorisées au lieu d'informations d'identification, omettez le champ : credentials

    aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "my-proxy-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080 } }] }'
Boto3
  1. Pour démarrer une session de navigateur avec un proxy à l'aide du AWS SDK pour Python (Boto3) :

    import boto3 client = boto3.client('bedrock-agentcore', region_name='region') response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="my-proxy-session", proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080, "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }] } ) print(f"Session ID: {response['sessionId']}")

    Pour les proxys utilisant une liste d'adresses IP autorisées au lieu d'informations d'identification, omettez le champ : credentials

    proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080 } }] }
API
  1. Pour démarrer une session de navigateur avec un proxy à l'aide de l'API, procédez comme suit :

    PUT /browsers/aws.browser.v1/sessions/start HTTP/1.1 Host: bedrock-agentcore.region.amazonaws.com Content-Type: application/json Authorization: AWS4-HMAC-SHA256 ... { "name": "my-proxy-session", "proxyConfiguration": { "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080, "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }] } }

Options de configuration

Domain-based routage

domainPatternsÀ utiliser pour acheminer des domaines spécifiques via des proxys désignés :

Exemple
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "domain-routing-session" \ --proxy-configuration '{ "proxies": [ { "externalProxy": { "server": "corp-proxy.example.com", "port": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "server": "general-proxy.example.com", "port": 8080 } } ] }'
Boto3
  1. proxyConfiguration={ "proxies": [ { "externalProxy": { "server": "corp-proxy.example.com", "port": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "server": "general-proxy.example.com", "port": 8080 } } ] }
API
  1. { "proxyConfiguration": { "proxies": [ { "externalProxy": { "server": "corp-proxy.example.com", "port": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "server": "general-proxy.example.com", "port": 8080 } } ] } }

Avec cette configuration :

  • Les requêtes adressées à *.company.com et *.internal.corp sont acheminées via corp-proxy.example.com

  • Toutes les autres demandes sont acheminées general-proxy.example.com (par défaut)

Format du modèle de domaine :

Modèle Correspondance Ne correspond pas

.example.com

example.com , www.example.com , api.example.com

notexample.com

example.com

example.com(correspondance exacte uniquement)

www.example.com

Utilisez .example.com (premier point) pour les sous-domaines. N'utilisez pas *.example.com.

Contourner les domaines

bypass.domainPatternsÀ utiliser pour les domaines qui doivent se connecter directement sans proxy :

Exemple
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "bypass-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "proxy.example.com", "port": 8080 } }], "bypass": { "domainPatterns": [".amazonaws.com"] } }'
Boto3
  1. proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "proxy.example.com", "port": 8080 } }], "bypass": { "domainPatterns": [".amazonaws.com"] } }
API
  1. { "proxyConfiguration": { "proxies": [{ "externalProxy": { "server": "proxy.example.com", "port": 8080 } }], "bypass": { "domainPatterns": [".amazonaws.com"] } } }
Note

La configuration du proxy est un paramètre de routage au niveau du navigateur et ne permet pas de contrôler le trafic au niveau du réseau. Pour l'application au niveau de la couche réseau, déployez des sessions de navigateur dans votre VPC. Consultez la section Configurer Amazon Bedrock AgentCore Runtime et les outils pour VPC.

Priorité de routage

Itinéraires de trafic selon cette priorité (de la plus haute à la plus faible) :

  1. Contourner les domaines  : les domaines correspondants bypass.domainPatterns se connectent directement.

  2. Modèles de domaines proxy  : domaines correspondant à l'domainPatternsitinéraire d'un proxy via ce proxy (le premier match gagne en fonction de l'ordre du tableau).

  3. Proxy par défaut  : les domaines sans correspondance sont acheminés via le proxy sansdomainPatterns.

Exemples complets

Les exemples suivants montrent une configuration de proxy complète avec des modèles de domaine, des domaines de contournement et des informations d'authentification.

Exemple
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "proxy-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "proxy-hostname", "port": 8080, "domainPatterns": [".company.com"], "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }], "bypass": { "domainPatterns": [".amazonaws.com"] } }'
Boto3
  1. import boto3 client = boto3.client('bedrock-agentcore', region_name='region') response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="proxy-session", proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "proxy-hostname", "port": 8080, "domainPatterns": [".company.com"], "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }], "bypass": { "domainPatterns": [".amazonaws.com"] } } ) print(f"Session ID: {response['sessionId']}")
API
  1. PUT /browsers/aws.browser.v1/sessions/start HTTP/1.1 Host: bedrock-agentcore.region.amazonaws.com Content-Type: application/json Authorization: AWS4-HMAC-SHA256 ... { "name": "proxy-session", "proxyConfiguration": { "proxies": [{ "externalProxy": { "server": "proxy-hostname", "port": 8080, "domainPatterns": [".company.com"], "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }], "bypass": { "domainPatterns": [".amazonaws.com"] } } }

Cas d’utilisation

Stabilité IP pour les portails basés sur des sessions

Les portails de santé et financiers valident souvent les sessions en fonction de l'adresse IP source. La rotation des adresses AWS IP entraîne de fréquentes réauthentifications. Acheminez le trafic via un proxy avec des adresses IP de sortie stables pour maintenir la continuité des sessions.

Intégration de l'infrastructure d'entreprise

Les organisations qui acheminent le trafic via des proxys d'entreprise peuvent étendre cette pratique aux sessions de AgentCore navigateur, en permettant l'accès aux pages Web internes et aux ressources qui nécessitent une connectivité basée sur un proxy.

Accès au contenu géographique

Accédez à du contenu spécifique à une région ou testez les variations régionales des sites Web en acheminant le trafic via des proxys situés dans des zones géographiques spécifiques.

Accès au réseau des partenaires

Acheminez le trafic spécifique au partenaire via une infrastructure proxy dédiée tout en utilisant des proxys généraux pour le reste du trafic.

Comportement des sessions

Cycle de vie de configuration

  • Définir lors de la création  : la configuration du proxy est définie une fois lors de la création de la session. Les modifications de configuration au moment de l'exécution ne sont pas prises en charge. Créez une nouvelle session pour utiliser différents paramètres.

  • Session-scoped— Chaque session de navigateur possède une configuration de proxy indépendante.

  • Délai d'expiration  : les délais de session standard s'appliquent. La configuration du proxy est supprimée à la fin de la session.

Comportement de connectivité

  • Fail-open— La connectivité du proxy n'est pas validée lors de la création de la session. Les sessions configurées avec des proxys non disponibles afficheront des erreurs lors du chargement des pages.

  • Erreurs d'exécution  : les échecs de connexion apparaissent sous forme de pages d'erreur du navigateur, visibles dans Live View à des fins de dépannage.

  • Aucune nouvelle tentative automatique — Les demandes ayant échoué ne sont pas automatiquement réessayées.

Cross-account accès secret

Si le secret des informations d'identification se trouve dans un autre AWS compte, configurez les éléments suivants :

Politique relative aux ressources secrètes (dans le compte propriétaire du secret) :

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::caller-account-id:root"}, "Action": "secretsmanager:GetSecretValue", "Resource": "*" }] }

Politique de clé KMS (si vous utilisez une clé KMS gérée par le client) :

{ "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::caller-account-id:root"}, "Action": "kms:Decrypt", "Resource": "*" }

Considérations sur la sécurité

Protection des informations d'identification

  • Les informations d'identification sont stockées dans AWS Secrets Manager et récupérées à l'aide de vos informations d'identification IAM.

  • Les informations d'identification ne sont jamais renvoyées dans les réponses de l'API. GetBrowserSessionretours uniquementsecretArn.

  • Les informations d'identification ne sont pas enregistrées dans les journaux.

Contrôle d’accès

  • Les autorisations IAM contrôlent quelles identités peuvent utiliser quels secrets d'identification.

  • Cross-account l'accès nécessite des politiques de ressources explicites.

Considérations relatives aux performances

  • Capacité  : assurez-vous que votre proxy peut gérer le volume de demandes attendu.

  • Contournement  : ajoutez des AWS points de terminaison bypass.domainPatterns pour les appels sensibles à la latence.

  • Proximité — Utilisez des proxys géographiquement proches de votre AWS région.

Contraintes

Contrainte Limite Ajustable

Nombre maximum de proxys par session

5

Oui

Nombre maximal de modèles de domaine par proxy

100

Oui

Modèles de domaine de contournement maximaux

100

Oui

Longueur du nom d'hôte du serveur

253 caractères

Non

Longueur du modèle de domaine

253 caractères

Non

Plage de ports

1 à 65535

Non

Pour demander une augmentation des contraintes ajustables, contactez le AWS support.

Limitations

Avant de configurer les proxys de navigateur, vérifiez ces limites pour vous assurer que la fonctionnalité répond à vos besoins :

Limitation Détails

Acheminement du trafic

La configuration du proxy est un paramètre au niveau du navigateur appliqué au démarrage de la session. Il ne s'agit pas d'un contrôle au niveau du réseau et ne garantit pas que tout le trafic transitera par le proxy. Pour l'application au niveau de la couche réseau, utilisez Configurer Amazon Bedrock AgentCore Runtime et les outils pour VPC.

Protocoles pris en charge

Proxys HTTP et HTTPS uniquement. Les proxys SOCKS4 et SOCKS5 ne sont pas pris en charge.

Authentification

Authentification HTTP de base ou absence d'authentification (liste d'adresses IP autorisées). L'authentification NTLM, Kerberos et basée sur des certificats ne sont pas prises en charge.

Changements de proxy

La configuration du proxy est définie une fois lors de la création de la session. Les modifications de configuration au moment de l'exécution ne sont pas prises en charge. Créez une nouvelle session pour modifier les paramètres du proxy.

Rotation des proxys

La rotation automatique du proxy pour le cyclage IP ou la répartition de la charge n'est pas prise en charge. Créez de nouvelles sessions pour alterner les proxys.

Validation de connexion

La connectivité du proxy n'est pas validée lors de la création de la session. Des erreurs de connexion apparaissent lors de l'exécution.