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:
-
Crie um recurso de perfil do navegador que será reutilizado nas sessões do navegador
-
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
-
Salve os dados do perfil da sessão atual do navegador no recurso de perfil do navegador
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
Para listar perfis de navegador usando a AWS CLI:
aws bedrock-agentcore-control list-browser-profiles \
--region <Region>
- Boto3
-
-
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
-
-
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
-
-
Para obter detalhes do perfil do navegador usando a AWS CLI:
aws bedrock-agentcore-control get-browser-profile \
--region <Region> \
--profile-id "<ProfileId>"
- Boto3
-
-
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
-
-
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
-
-
Para excluir um perfil de navegador usando a AWS CLI:
aws bedrock-agentcore-control delete-browser-profile \
--region <Region> \
--profile-id "<ProfileId>"
- Boto3
-
-
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
-
-
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.