View a markdown version of this page

Usando proxies de navegador - Base da Amazônia AgentCore

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando proxies de navegador

O Amazon Bedrock AgentCore Browser suporta o roteamento do tráfego do navegador por meio de seus próprios servidores proxy externos. Isso permite que as organizações:

  • Obtenha estabilidade de IP roteando o tráfego por meio de proxies com IPs de saída conhecidos, eliminando os ciclos de reautenticação causados pela rotação de endereços IP AWS

  • Ofereça suporte à lista de permissões de IP fornecendo endereços de saída estáveis e controláveis para serviços que exigem controles de acesso IP-based

  • Integre-se à infraestrutura corporativa por meio de roteamento por meio de seus servidores proxy existentes para acessar páginas e recursos internos da Web

Visão geral do

Quando você cria uma sessão de navegador com configuração de proxy, o AgentCore Browser configura o navegador para rotear o tráfego HTTP e HTTPS por meio de seus servidores proxy especificados.

O fluxo de solicitações de proxies do navegador mostra o roteamento do tráfego da sessão do navegador por meio de um servidor proxy gerenciado pelo cliente até os sites de destino.

Fluxo de solicitação:

  1. Você liga StartBrowserSession proxyConfiguration especificando seu servidor proxy.

  2. Se estiver usando autenticação, AgentCore recupera as credenciais do proxy do AWS Secrets Manager.

  3. A sessão do navegador começa com sua configuração de proxy aplicada.

  4. O tráfego do navegador passa pelo seu servidor proxy com base nas regras de roteamento do seu domínio.

  5. Seu servidor proxy encaminha solicitações para sites de destino.

O servidor proxy é a infraestrutura que você possui e gerencia. AgentCore O navegador se conecta a ele como um cliente.

A configuração do proxy aplica o --proxy-server sinalizador do Chromium à instância do navegador na inicialização, direcionando o tráfego por meio do proxy especificado no nível do navegador. Para cenários que exigem a aplicação da camada de rede, por exemplo, quando as configurações no nível do navegador podem ser modificadas durante o tempo de execução, implante sessões do navegador em sua própria VPC. Consulte Configurar o Amazon Bedrock AgentCore Runtime e as ferramentas para VPC.

Pré-requisitos

Antes de configurar os proxies do navegador, verifique se você tem:

  • Pré-requisitos gerais do navegador — Conclua a configuração padrão da ferramenta do navegador. Consulte Começar a usar o AgentCore Browser.

  • Servidor proxy — Um servidor HTTP/HTTPS proxy que pode ser acessado pela Internet pública (ou acessível dentro da sua VPC se estiver usando a configuração da VPC) e compatível com o método HTTP CONNECT para tunelamento de tráfego HTTPS.

  • AWS Segredo do Secrets Manager (se estiver usando autenticação) — Um segredo contendo credenciais de proxy no formato JSON com chaves username e. password

  • Permissões do IAM (se estiver usando autenticação) — A chamada de identidade do IAM StartBrowserSession deve ter secretsmanager:GetSecretValue permissão para o segredo da credencial.

Introdução

Esta seção mostra a configuração mais simples para rotear o tráfego do navegador por meio de um proxy.

Etapa 1: criar um segredo de credenciais (se estiver usando autenticação)

Se seu proxy exigir autenticação, crie um segredo no AWS Secrets Manager:

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

Requisitos de formato de credencial:

Campo Caracteres permitidos

username

Alfanumérico mais @ . _ + = -

password

Alfanumérico mais @. _ + = -! # $% *

Caracteres não permitidos: dois pontos (:), novas linhas, espaços, aspas.

Etapa 2: adicionar permissões do IAM

Adicione essa política à identidade do IAM que criará sessões do navegador:

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

Etapa 3: criar uma sessão de navegador com proxy

Você pode criar uma sessão de navegador com configuração de proxy usando a AWS CLI, o SDK ou a API.

exemplo
AWS CLI
  1. Para iniciar uma sessão do navegador com um proxy usando a 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" } } } }] }'

    Para proxies que usam listas de permissões de IP em vez de credenciais, omita o 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 uma sessão de navegador com um proxy usando o 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']}")

    Para proxies que usam listas de permissões de IP em vez de credenciais, omita o campo: credentials

    proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080 } }] }
API
  1. Para iniciar uma sessão do navegador com um proxy usando a 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" } } } }] } }

Opções de configuração

Domain-based roteamento

Use domainPatterns para rotear domínios específicos por meio de proxies designados:

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

Com esta configuração:

  • As solicitações para *.company.com e *.internal.corp são encaminhadas por corp-proxy.example.com

  • Todas as outras solicitações são general-proxy.example.com encaminhadas (padrão)

Formato padrão de domínio:

Padrão Correspondências Não coincide

.example.com

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

notexample.com

example.com

example.com(somente correspondência exata)

www.example.com

Use .example.com (ponto inicial) para subdomínios. Não use *.example.com.

Ignorar domínios

Use bypass.domainPatterns para domínios que devem se conectar diretamente sem nenhum proxy:

exemplo
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

A configuração de proxy é uma configuração de roteamento no nível do navegador e não fornece controle de tráfego no nível da rede. Para impor a camada de rede, implante sessões de navegador em sua VPC. Consulte Configurar o Amazon Bedrock AgentCore Runtime e as ferramentas para VPC.

Precedência de roteamento

Rotas de tráfego de acordo com essa precedência (da mais alta para a mais baixa):

  1. Ignorar domínios — Domínios correspondentes se conectam diretamente. bypass.domainPatterns

  2. Padrões de domínio proxy — Domínios que correspondem à domainPatterns rota de um proxy por meio desse proxy (a primeira correspondência vence com base na ordem da matriz).

  3. Proxy padrão — Domínios incomparáveis são roteados pelo proxy sem. domainPatterns

Exemplos completos

Os exemplos a seguir mostram uma configuração de proxy completa com padrões de domínio, domínios de desvio e credenciais de autenticação.

exemplo
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

Estabilidade de IP para portais baseados em sessões

Os portais financeiros e de saúde geralmente validam as sessões com base no endereço IP de origem. Endereços AWS IP rotativos causam reautenticação frequente. Roteie o tráfego por meio de um proxy com IPs de saída estáveis para manter a continuidade da sessão.

Integração de infraestrutura corporativa

As organizações que direcionam o tráfego por meio de proxies corporativos podem estender essa prática às sessões AgentCore do navegador, permitindo o acesso a páginas da Web e recursos internos que exigem conectividade baseada em proxy.

Acesso ao conteúdo geográfico

Acesse conteúdo específico da região ou teste as variações regionais do site direcionando o tráfego por meio de proxies em localizações geográficas específicas.

Acesso à rede de parceiros

Encaminhe o tráfego específico do parceiro por meio de uma infraestrutura de proxy dedicada enquanto usa proxies gerais para outros tráfegos.

Comportamento da sessão

Ciclo de vida da configuração

  • Definido na criação — A configuração do proxy é definida uma vez na criação da sessão. Não há suporte para alterações de configuração em tempo de execução. Crie uma nova sessão para usar configurações diferentes.

  • Session-scoped— Cada sessão do navegador tem uma configuração de proxy independente.

  • Tempo limite — Os tempos limite de sessão padrão se aplicam. A configuração do proxy é descartada quando a sessão termina.

Comportamento de conectividade

  • Fail-open— A conectividade do proxy não é validada na criação da sessão. As sessões configuradas com proxies indisponíveis mostrarão erros ao carregar páginas.

  • Erros de tempo de execução — As falhas de conexão aparecem como páginas de erro do navegador, visíveis na Visualização dinâmica para solução de problemas.

  • Nenhuma nova tentativa automática — Solicitações com falha não são repetidas automaticamente.

Cross-account acesso secreto

Se o segredo das credenciais estiver em uma AWS conta diferente, configure o seguinte:

Política de recursos secretos (na conta que possui o segredo):

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

Política de chave KMS (se estiver usando uma chave KMS gerenciada pelo cliente):

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

Considerações sobre segurança

Proteção de credenciais

  • As credenciais são armazenadas no AWS Secrets Manager e buscadas usando suas credenciais do IAM.

  • As credenciais nunca são retornadas nas respostas da API. GetBrowserSessionsomente devoluçõessecretArn.

  • As credenciais não são gravadas nos registros.

Controle de acesso

  • As permissões do IAM controlam quais identidades podem usar quais segredos de credencial.

  • Cross-account o acesso requer políticas de recursos explícitas.

Considerações sobre a performance

  • Capacidade — Garanta que seu proxy possa lidar com o volume de solicitações esperado.

  • Ignorar — Adicione AWS endpoints bypass.domainPatterns para chamadas sensíveis à latência.

  • Proximidade — Use proxies geograficamente próximos à sua região. AWS

Restrições

Restrição Limite Ajustável

Máximo de proxies por sessão

5

Sim

Máximo de padrões de domínio por proxy

100

Sim

Padrões máximos de domínio de desvio

100

Sim

Tamanho do nome do host do servidor

253 caracteres

Não

Comprimento do padrão de domínio

253 caracteres

Não

Intervalo de portas

1—65535

Não

Para solicitar um aumento nas restrições ajustáveis, entre em contato com o AWS suporte.

Limitações

Antes de configurar os proxies do navegador, revise essas limitações para garantir que o recurso atenda aos seus requisitos:

Limitação Detalhes

Roteamento de tráfego

A configuração de proxy é uma configuração no nível do navegador aplicada na inicialização da sessão. Não é um controle no nível da rede e não garante que todo o tráfego transitará pelo proxy. Para impor a camada de rede, use o Configure Amazon Bedrock AgentCore Runtime e as ferramentas para VPC.

Protocolos compatíveis

Somente proxies HTTP e HTTPS. Os proxies SOCKS4 e SOCKS5 não são suportados.

Autenticação

HTTP Autenticação básica ou sem autenticação (lista de permissões de IP). Não há suporte para autenticação baseada em NTLM, Kerberos e certificados.

Alterações de proxy

A configuração do proxy é definida uma vez na criação da sessão. Não há suporte para alterações de configuração em tempo de execução. Crie uma nova sessão para alterar as configurações do proxy.

Rotação de proxy

A rotação automática de proxy para ciclos de IP ou distribuição de carga não é suportada. Crie novas sessões para alternar proxies.

Validação de conexão

A conectividade do proxy não é validada na criação da sessão. Os erros de conexão aparecem em tempo de execução.