View a markdown version of this page

Usando perfis de navegador - Amazon Bedrock AgentCore

Usando perfis de navegador

Os perfis do navegador permitem que você persista e reutilize os dados do perfil do navegador em várias sessões do navegador. Um perfil de navegador armazena informações da sessão, incluindo cookies e armazenamento local.

Por exemplo, você pode se autenticar em um site uma vez em uma sessão do navegador e salvar os dados do perfil no recurso de perfil do navegador. Quando você inicia uma nova sessão do navegador com esse perfil salvo, seu estado de autenticação é preservado e você permanece conectado. Isso permite que os agentes realizem tarefas em sites autenticados sem a necessidade de intervenção manual.

Visão geral do

Os perfis de navegador no Amazon Bedrock AgentCore funcionam da seguinte forma:

  1. Crie um recurso de perfil do navegador que será reutilizado nas sessões do navegador

  2. Inicie uma sessão do navegador e execute ações (como fazer login em um site ou colocar um item no carrinho de compras) que preenchem cookies e armazenamento local

  3. Salve os dados do perfil da sessão atual do navegador no recurso de perfil do navegador

  4. Inicie novas sessões do navegador usando o perfil salvo para restaurar o estado anterior

Pré-requisitos

Antes de usar perfis de navegador, verifique se você tem:

  • Concluiu os pré-requisitos gerais do navegador

  • Permissões do IAM para gerenciar recursos do perfil. Adicione as seguintes permissões à sua política do IAM:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockAgentCoreBrowserProfileManagementAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateBrowserProfile", "bedrock-agentcore:ListBrowserProfiles", "bedrock-agentcore:GetBrowserProfile", "bedrock-agentcore:DeleteBrowserProfile" ], "Resource": "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-profile/*" } ] }
  • Permissões do IAM para salvar e carregar perfis. Adicione as seguintes permissões à sua política do IAM:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockAgentCoreBrowserProfileUsageAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:SaveBrowserSessionProfile" ], "Resource": [ "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-profile/*", "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-custom/*", "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser/*" ] } ] }

Introdução aos perfis de navegador

Esta seção explica como criar um perfil de navegador, salvar os dados da sessão nele e reutilizar o perfil em sessões subsequentes.

Etapa 1: criar um perfil de navegador

Crie um recurso de perfil do navegador para armazenar dados da sessão.

exemplo
AWS CLI
  1. Para criar um perfil de navegador usando a AWS CLI:

    aws bedrock-agentcore-control create-browser-profile \ --region <Region> \ --name "profile_demo" \ --description "example profile"
Boto3
  1. Para criar um perfil de navegador usando o AWS SDK para Python (Boto3):

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore-control', region_name=region) response = client.create_browser_profile( name="profile_demo", description="example profile" ) profile_id = response['profileId'] print(f"Created profile: {profile_id}")
API
  1. Para criar um perfil de navegador usando a API:

    awscurl -X PUT \ "https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles" \ -H "Content-Type: application/json" \ --service bedrock-agentcore-control \ --region <Region> \ -d '{ "name": "profile_demo", "description": "example profile", "clientToken": "FC21DD1F-FA7B-40EC-8D3A-12E029A1BFF3" }'

Etapa 2: iniciar uma sessão do navegador e executar ações

Inicie uma sessão do navegador e execute ações como fazer login em um site. O estado da sessão, incluindo cookies e armazenamento local, será capturado.

exemplo
AWS CLI
  1. Para iniciar uma sessão do navegador usando a AWS CLI:

    aws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --name "my-session" \ --session-timeout-seconds 3600

    Use o ID de sessão retornado para interagir com o navegador e realizar as ações desejadas (por exemplo, fazer login em um site).

Boto3
  1. Para iniciar uma sessão do navegador usando o Boto3:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore', region_name=region) response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="my-session", sessionTimeoutSeconds=3600 ) session_id = response['sessionId'] print(f"Session ID: {session_id}") # Use the session to perform actions (e.g., login to a website) # ... your browser automation code here ...
API
  1. Para iniciar uma sessão do navegador usando a API:

    awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "name": "my-session", "sessionTimeoutSeconds": 3600 }'

Etapa 3: salvar a sessão em um perfil

Depois de realizar ações na sessão do navegador, salve o estado atual no perfil do seu navegador. Isso captura cookies, armazenamento local e outros dados da sessão.

exemplo
AWS CLI
  1. Para salvar uma sessão do navegador em um perfil usando a AWS CLI:

    aws bedrock-agentcore save-browser-session-profile \ --region <Region> \ --profile-identifier "<ProfileId>" \ --browser-identifier "aws.browser.v1" \ --session-id "<SessionId>"
Boto3
  1. Para salvar uma sessão do navegador em um perfil usando o Boto3:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore', region_name=region) response = client.save_browser_session_profile( profileIdentifier=profile_id, # From Step 1 browserIdentifier="aws.browser.v1", sessionId=session_id # From Step 2 ) print(f"Profile saved successfully")
API
  1. Para salvar uma sessão do navegador em um perfil usando a API:

    awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browser-profiles/<ProfileId>/save" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "browserIdentifier": "aws.browser.v1", "sessionId": "<SessionId>", "clientToken": "52866F95-4468-4B6C-920C-09A00D36F04E" }'

Etapa 4: iniciar uma nova sessão com o perfil

Inicie uma nova sessão do navegador usando o perfil salvo. A sessão será inicializada com o estado salvo, incluindo cookies de autenticação e armazenamento local.

exemplo
AWS CLI
  1. Para iniciar uma sessão do navegador com um perfil usando a AWS CLI:

    aws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --name "session-with-profile" \ --session-timeout-seconds 3600 \ --profile-configuration '{ "profileIdentifier":"<ProfileId>" }'
Boto3
  1. Para iniciar uma sessão do navegador com um perfil usando o Boto3:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore', region_name=region) response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="session-with-profile", sessionTimeoutSeconds=3600, profileConfiguration={ "profileIdentifier": profile_id # From Step 1 } ) new_session_id = response['sessionId'] print(f"New session started with profile: {new_session_id}") print("Session is now authenticated with saved cookies and state")
API
  1. Para iniciar uma sessão do navegador com um perfil usando a API:

    awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "name": "session-with-profile", "sessionTimeoutSeconds": 3600, "profileConfiguration": { "profileIdentifier": "<ProfileId>" }, "clientToken": "8FAAFF7F-7803-4C40-A7BD-139C6D008646" }'

Operações de perfil do navegador

Esta seção descreve operações adicionais para gerenciar perfis de navegador.

Listando perfis de navegador

Você pode listar todos os perfis de navegador em sua conta.

exemplo
AWS CLI
  1. Para listar perfis de navegador usando a AWS CLI:

    aws bedrock-agentcore-control list-browser-profiles \ --region <Region>
Boto3
  1. Para listar perfis de navegador usando o Boto3:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore-control', region_name=region) response = client.list_browser_profiles() for profile in response.get('items', []): print(f"Profile ID: {profile['profileId']}") print(f"Name: {profile['name']}") print(f"Status: {profile['status']}") print("---")
API
  1. Para listar perfis de navegador usando a API:

    awscurl -X POST \ "https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/list" \ -H "Content-Type: application/json" \ --service bedrock-agentcore-control \ --region <Region>

Obter detalhes do perfil do navegador

Você pode recuperar detalhes sobre um perfil de navegador específico.

exemplo
AWS CLI
  1. Para obter detalhes do perfil do navegador usando a AWS CLI:

    aws bedrock-agentcore-control get-browser-profile \ --region <Region> \ --profile-id "<ProfileId>"
Boto3
  1. Para obter detalhes do perfil do navegador usando o Boto3:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore-control', region_name=region) response = client.get_browser_profile( profileId=profile_id ) print(f"Profile ID: {response['profileId']}") print(f"Name: {response['name']}") print(f"Description: {response.get('description', 'N/A')}") print(f"Status: {response['status']}") print(f"Created: {response['createdAt']}")
API
  1. Para obter detalhes do perfil do navegador usando a API:

    awscurl -X GET \ "https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/<ProfileId>" \ -H "Content-Type: application/json" \ --service bedrock-agentcore-control \ --region <Region>

Excluindo um perfil do navegador

Quando você não precisar mais de um perfil de navegador, poderá excluí-lo para liberar recursos.

exemplo
AWS CLI
  1. Para excluir um perfil de navegador usando a AWS CLI:

    aws bedrock-agentcore-control delete-browser-profile \ --region <Region> \ --profile-id "<ProfileId>"
Boto3
  1. Para excluir um perfil do navegador usando o Boto3:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore-control', region_name=region) response = client.delete_browser_profile( profileId=profile_id ) print(f"Profile deleted successfully")
API
  1. Para excluir um perfil de navegador usando a API:

    awscurl -X DELETE \ "https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/<ProfileId>" \ -H "Content-Type: application/json" \ --service bedrock-agentcore-control \ --region <Region>

Casos de uso

Os perfis do navegador são úteis para:

  • Autenticação persistente: mantenha as sessões de login em várias invocações do navegador sem precisar se autenticar novamente a cada vez

  • Multi-step fluxos de trabalho: execute fluxos de trabalho complexos que abrangem várias sessões, preservando o estado e o contexto (em cookies ou armazenamento local)

  • Tarefas automatizadas: permita que agentes de IA realizem tarefas em sites autenticados sem intervenção manual

Considerações

  • Persistência do perfil: os dados do perfil são salvos quando você chama explicitamente a operação de salvamento. Certifique-se de salvar o perfil antes de encerrar a sessão para preservar o estado.

  • Isolamento de sessão: cada sessão do navegador usando um perfil opera de forma independente. As alterações feitas em uma sessão não são visíveis em outras sessões simultâneas.

  • Carregamento do perfil: as alterações salvas do perfil só se aplicam às novas sessões. As sessões ativas continuam usando o estado do perfil de quando foram iniciadas e não refletirão as atualizações feitas no perfil após o início da sessão.

  • Segurança: os perfis do navegador podem conter dados confidenciais, como cookies de autenticação. Garanta que as políticas adequadas do IAM estejam em vigor para restringir o acesso aos recursos do perfil.

  • Atualizações de perfil: quando você salva uma sessão em um perfil, ela substitui os dados do perfil anterior. Considere seu fluxo de trabalho com cuidado para evitar a perda de informações importantes sobre o estado.

  • Expiração do cookie: os cookies têm seus próprios prazos de expiração definidos pelos sites. Os perfis do navegador preservam os cookies, mas os cookies expirados são automaticamente removidos pelo navegador de acordo com suas datas de expiração.