View a markdown version of this page

Uso de proxies de navegador - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de proxies de navegador

Amazon Bedrock AgentCore Browser permite dirigir el tráfico del navegador a través de sus propios servidores proxy externos. Esto permite a las organizaciones:

  • Logre la estabilidad de la IP al enrutar el tráfico a través de proxies con direcciones IP de salida conocidas, lo que elimina los ciclos de reautenticación provocados por la rotación de las direcciones IP AWS

  • Respalde las listas de direcciones IP permitidas al proporcionar direcciones de salida estables y controlables para los servicios que requieren controles de acceso IP-based

  • Intégrelo con la infraestructura corporativa mediante el enrutamiento a través de sus servidores proxy existentes para acceder a las páginas web y los recursos internos

Descripción general de

Al crear una sesión de navegador con una configuración de proxy, AgentCore Browser configura el navegador para enrutar el tráfico HTTP y HTTPS a través de los servidores proxy especificados.

El flujo de solicitudes de los proxies del navegador muestra el enrutamiento del tráfico desde la sesión del navegador a través de un servidor proxy administrado por el cliente hasta los sitios web de destino.

Flujo de solicitud:

  1. StartBrowserSessionLlamas proxyConfiguration especificando tu servidor proxy.

  2. Si utiliza la autenticación, AgentCore recupera las credenciales de proxy de AWS Secrets Manager.

  3. La sesión del navegador se inicia con la configuración de proxy aplicada.

  4. El tráfico del navegador pasa por su servidor proxy en función de las reglas de enrutamiento de su dominio.

  5. Su servidor proxy reenvía las solicitudes a los sitios web de destino.

El servidor proxy es una infraestructura que usted posee y administra. AgentCore El navegador se conecta a él como cliente.

La configuración del proxy aplica el --proxy-server indicador Chromium a la instancia del navegador al inicio, lo que dirige el tráfico a través del proxy especificado a nivel del navegador. En los casos en los que se requiera la aplicación a nivel de red (por ejemplo, cuando la configuración a nivel del navegador se pueda modificar durante el tiempo de ejecución), implementa las sesiones de navegador en tu propia VPC. Consulte Configurar AgentCore el tiempo de ejecución y las herramientas de Amazon Bedrock para la VPC.

Requisitos previos

Antes de configurar los proxies del navegador, asegúrese de tener:

  • Requisitos previos generales del navegador: complete la configuración estándar de la herramienta de navegador. Consulte Comenzar a usar el AgentCore navegador.

  • Servidor proxy: un servidor HTTP/HTTPS proxy al que se puede acceder desde la Internet pública (o al que se puede acceder desde la VPC si se utiliza la configuración de la VPC) y que admite el método HTTP CONNECT para la tunelización del tráfico HTTPS.

  • AWS Secrets Manager secreto (si se utiliza la autenticación): un secreto que contiene credenciales de proxy en formato JSON con claves y. username password

  • Permisos de IAM (si se utiliza la autenticación): la persona que realiza la llamada de identidad de IAM StartBrowserSession debe tener secretsmanager:GetSecretValue permiso para guardar el secreto de la credencial.

Introducción

En esta sección se muestra la configuración más sencilla para dirigir el tráfico del navegador a través de un proxy.

Paso 1: Cree un secreto de credenciales (si utiliza la autenticación)

Si tu proxy requiere autenticación, crea un secreto en AWS Secrets Manager:

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

Requisitos de formato de credenciales:

Campo Caracteres permitidos

username

Alfanumérico plus @ . _ + = -

password

Alfanumérico más @. _ + = -! # $% *

Caracteres no permitidos: dos puntos (:), líneas nuevas, espacios, comillas.

Paso 2: Añadir permisos de IAM

Agregue esta política a la identidad de IAM que creará sesiones de navegador:

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

Paso 3: Crea una sesión de navegador con un proxy

Puede crear una sesión de navegador con una configuración de proxy mediante la AWS CLI, el SDK o la API.

ejemplo
AWS CLI
  1. Para iniciar una sesión de navegador con un proxy mediante la AWS CLI:

    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" } } } }] }'

    En el caso de los proxies que utilizan listas de direcciones IP permitidas en lugar de credenciales, omita el campo: 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. Para iniciar una sesión de navegador con un proxy mediante el AWS SDK para 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']}")

    En el caso de los servidores proxy que utilizan listas de direcciones IP permitidas en lugar de credenciales, omita el campo: credentials

    proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080 } }] }
API
  1. Para iniciar una sesión de navegador con un proxy mediante la API:

    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" } } } }] } }

Opciones de configuración

Domain-based enrutamiento

domainPatternsUtilícelo para enrutar dominios específicos a través de proxies designados:

ejemplo
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 } } ] } }

Con esta configuración:

  • Las solicitudes a *.company.com y *.internal.corp se envían corp-proxy.example.com

  • Todas las demás solicitudes se redireccionan (predeterminado) general-proxy.example.com

Formato de patrón de dominio:

Patrón Coincide No coincide

.example.com

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

notexample.com

example.com

example.com(solo coincidencias exactas)

www.example.com

Utilice .example.com (punto inicial) para los subdominios. No utilices *.example.com.

Omita los dominios

bypass.domainPatternsUtilízalo para los dominios que deberían conectarse directamente sin ningún proxy:

ejemplo
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"] } } }
nota

La configuración del proxy es una configuración de enrutamiento a nivel del navegador y no proporciona un control del tráfico a nivel de red. Para hacer cumplir la normativa a nivel de red, implemente sesiones de navegador en su VPC. Consulte Configurar el tiempo de AgentCore ejecución y las herramientas de Amazon Bedrock para VPC.

Prioridad de enrutamiento

Rutas de tráfico según esta prioridad (de mayor a menor):

  1. Omitir dominios: los dominios que coinciden se bypass.domainPatterns conectan directamente.

  2. Patrones de dominio proxy: dominios que coinciden con la domainPatterns ruta de un proxy a través de ese proxy (la primera coincidencia gana según el orden de la matriz).

  3. Proxy predeterminado: los dominios que no coinciden pasan por el proxy sin domainPatterns él.

Ejemplos completos

Los siguientes ejemplos muestran una configuración de proxy completa con patrones de dominio, dominios de omisión y credenciales de autenticación.

ejemplo
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"] } } }

Casos de uso

Estabilidad de IP para portales basados en sesiones

Los portales financieros y de atención médica suelen validar las sesiones en función de la dirección IP de origen. AWS La rotación de direcciones IP provoca una reautenticación frecuente. Dirija el tráfico a través de un proxy con direcciones IP de salida estables para mantener la continuidad de la sesión.

Integración de la infraestructura corporativa

Las organizaciones que dirigen el tráfico a través de proxies corporativos pueden extender esta práctica a las sesiones de AgentCore navegador, lo que les permite acceder a páginas web y recursos internos que requieren conectividad basada en proxies.

Acceso al contenido geográfico

Acceda al contenido específico de una región o pruebe las variaciones del sitio web regional dirigiendo el tráfico a través de proxies en ubicaciones geográficas específicas.

Acceso a la red de socios

Dirija el tráfico específico de los socios a través de una infraestructura de proxy dedicada y, al mismo tiempo, utilice proxies generales para el resto del tráfico.

Comportamiento de sesión

Ciclo vital de configuración

  • Se establece en el momento de la creación: la configuración del proxy se establece una vez al crear la sesión. No se admiten los cambios de configuración en tiempo de ejecución. Cree una nueva sesión para usar diferentes ajustes.

  • Session-scoped— Cada sesión del navegador tiene una configuración de proxy independiente.

  • Tiempo de espera: se aplican los tiempos de espera de sesión estándar. La configuración del proxy se descarta cuando finaliza la sesión.

Comportamiento de conectividad

  • Fail-open— La conectividad del proxy no se valida al crear la sesión. Las sesiones configuradas con proxies no disponibles mostrarán errores al cargar las páginas.

  • Errores de tiempo de ejecución: los fallos de conexión aparecen en forma de páginas de error del navegador, visibles en Live View para solucionar problemas.

  • Sin reintento automático: las solicitudes fallidas no se reintentan automáticamente.

Cross-account acceso secreto

Si el secreto de las credenciales está en una AWS cuenta diferente, configure lo siguiente:

Política de recursos secretos (en la cuenta que posee el secreto):

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

Política de claves de KMS (si se usa una clave de KMS administrada por el cliente):

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

Consideraciones de seguridad

Protección de credenciales

  • Las credenciales se almacenan en AWS Secrets Manager y se obtienen con sus credenciales de IAM.

  • Las credenciales nunca se muestran en las respuestas de la API. GetBrowserSessionsolo devolucionessecretArn.

  • Las credenciales no se escriben en los registros.

Control de acceso

  • Los permisos de IAM controlan qué identidades pueden usar qué secretos de credenciales.

  • Cross-account el acceso requiere políticas de recursos explícitas.

Consideraciones sobre el rendimiento

  • Capacidad: asegúrese de que su proxy pueda gestionar el volumen de solicitudes esperado.

  • Omitir: añada AWS terminales bypass.domainPatterns para llamadas sensibles a la latencia.

  • Proximidad: utilice proxies geográficamente cercanos a su región. AWS

Restricciones

Restricción Límite Ajustable

Número máximo de proxies por sesión

5

Sí

Número máximo de patrones de dominio por proxy

100

Sí

Número máximo de patrones de dominio de omisión

100

Sí

Longitud del nombre de host del servidor

253 caracteres

No

Longitud del patrón de dominio

253 caracteres

No

Intervalo de puertos

1—65535

No

Para solicitar un aumento para restricciones ajustables, ponte en contacto con AWS el servicio de asistencia.

Limitaciones

Antes de configurar los proxies del navegador, revise estas limitaciones para asegurarse de que la función cumple con sus requisitos:

Limitación Details

Enrutamiento del tráfico

La configuración del proxy es una configuración a nivel del navegador que se aplica al inicio de la sesión. No se trata de un control a nivel de red y no garantiza que todo el tráfico pase por el proxy. Para hacer cumplir la normativa a nivel de red, utilice Configure Amazon Bedrock AgentCore Runtime y las herramientas para VPC.

Protocolos admitidos

Solo proxies HTTP y HTTPS. Los proxies SOCKS4 y SOCKS5 no son compatibles.

Autenticación

Autenticación HTTP básica o sin autenticación (lista de direcciones IP permitidas). No se admiten NTLM, Kerberos ni la autenticación basada en certificados.

Cambios de proxy

La configuración del proxy se establece una vez al crear la sesión. No se admiten los cambios de configuración durante el tiempo de ejecución. Cree una nueva sesión para cambiar la configuración del proxy.

Rotación de proxy

No se admite la rotación automática del proxy para la distribución cíclica de cargas o ciclos de IP. Cree nuevas sesiones para rotar los proxies.

Validación de la conexión

La conectividad del proxy no se valida al crear la sesión. Los errores de conexión aparecen durante el tiempo de ejecución.