

# Conceitos básicos
<a name="browser-resource-session-management"></a>

Os tópicos a seguir mostram como o Amazon Bedrock AgentCore Browser funciona e como você pode criar os recursos e gerenciar sessões.

**Topics**
+ [Criando uma ferramenta de navegador e iniciando uma sessão](#browser-create-session)
+ [Gerenciamento de recursos](#browser-resource-management)
+ [Usando a ferramenta do navegador](browser-using-tool.md)
+ [Gerenciando sessões do navegador](browser-managing-sessions.md)

## Criando uma ferramenta de navegador e iniciando uma sessão
<a name="browser-create-session"></a>

1.  **Crie uma ferramenta de navegador** 

   Ao configurar uma ferramenta de navegador, escolha a configuração de rede pública, a configuração de gravação para a repetição da sessão e as permissões por meio de uma função de tempo de execução do IAM que define quais AWS recursos a ferramenta do navegador pode acessar.

1.  **Iniciar uma sessão** 

   A ferramenta Browser usa um modelo baseado em sessão. Depois de criar uma ferramenta de navegador, você inicia uma sessão com um período de tempo limite configurável (o padrão é 15 minutos). As sessões terminam automaticamente após o período de tempo limite. Várias sessões podem ser ativas simultaneamente para uma única ferramenta de navegador, com cada sessão mantendo seu próprio estado e ambiente.

1.  **Interaja com o navegador** 

   Depois que uma sessão é iniciada, você pode interagir com o navegador usando APIs WebSocket-based de streaming. O endpoint de automação permite que seu agente execute ações do navegador, como navegar em sites, clicar em elementos, preencher formulários, fazer capturas de tela e muito mais. Bibliotecas como browser-use ou Playwright podem ser usadas para simplificar essas interações.

   Enquanto isso, o endpoint Live View permite que o usuário final assista à sessão do navegador em tempo real e interaja com ela diretamente por meio da transmissão ao vivo.

1.  **Pare a sessão** 

   Ao terminar de usar a sessão do navegador, você deve interrompê-la para liberar recursos e evitar cobranças desnecessárias. As sessões podem ser interrompidas manualmente ou encerradas automaticamente após o período de tempo limite configurado.

### Permissões
<a name="browser-permissions"></a>

Para usar o AgentCore navegador Amazon Bedrock, você precisa das seguintes permissões em sua política do IAM:

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BedrockAgentCoreInBuiltToolsFullAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-agentcore:CreateBrowser",
                "bedrock-agentcore:ListBrowsers",
                "bedrock-agentcore:GetBrowser",
                "bedrock-agentcore:DeleteBrowser",
                "bedrock-agentcore:StartBrowserSession",
                "bedrock-agentcore:ListBrowserSessions",
                "bedrock-agentcore:GetBrowserSession",
                "bedrock-agentcore:StopBrowserSession",
                "bedrock-agentcore:UpdateBrowserStream",
                "bedrock-agentcore:ConnectBrowserAutomationStream",
                "bedrock-agentcore:ConnectBrowserLiveViewStream"
            ],
            "Resource": "arn:aws:bedrock-agentcore:us-east-1:111122223333:browser/*"
        }
    ]
}
```

Se você estiver usando a gravação de sessão com o S3, a função de execução fornecida ao criar um navegador precisará das seguintes permissões:

```
{
    "Sid": "BedrockAgentCoreBuiltInToolsS3Policy",
    "Effect": "Allow",
    "Action": [
        "s3:PutObject",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload"
    ],
    "Resource": "arn:aws:s3:::example-s3-bucket/example-prefix/*",
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "{{accountId}}"
        }
    }
}
```

Você também deve adicionar a seguinte política de confiança à função de execução:

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "BedrockAgentCoreBuiltInTools",
        "Effect": "Allow",
        "Principal": {
            "Service": "bedrock-agentcore.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "111122223333"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:*"
            }
        }
    }]
}
```

### Configuração do navegador para operações de API
<a name="browser-setup-api"></a>

Execute os comandos a seguir para configurar sua ferramenta de navegador, que é comum a todas as operações de API do plano de controle e do plano de dados.

```
import boto3
import uuid

REGION = "<Region>"
CP_ENDPOINT_URL = f"https://bedrock-agentcore-control.{REGION}.amazonaws.com"
DP_ENDPOINT_URL = f"https://bedrock-agentcore.{REGION}.amazonaws.com"

cp_client = boto3.client(
    'bedrock-agentcore-control',
    region_name=REGION,
    endpoint_url=CP_ENDPOINT_URL
)

dp_client = boto3.client(
    'bedrock-agentcore',
    region_name=REGION,
    endpoint_url=DP_ENDPOINT_URL
)
```

## Gerenciamento de recursos
<a name="browser-resource-management"></a>

O AgentCore navegador fornece dois tipos de recursos:

ARNs do sistema  
Os ARNs do sistema são recursos padrão pré-criados para facilitar o uso. Esses ARNs têm configuração padrão com as opções mais restritivas e estão disponíveis para todas as regiões onde o Amazon Bedrock AgentCore está disponível.      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/bedrock-agentcore/latest/devguide/browser-resource-session-management.html)

ARNs personalizados  
Os ARNs personalizados permitem que você configure uma ferramenta de navegador com suas próprias configurações. Você pode escolher a configuração de rede pública, a configuração de gravação, as configurações de segurança e as permissões por meio de uma função de tempo de execução do IAM que define quais AWS recursos a ferramenta do navegador pode acessar.

### Configurações de rede
<a name="browser-network-settings"></a>

O AgentCore navegador suporta o modo de rede pública. Esse modo permite que a ferramenta acesse recursos públicos da Internet. Essa opção permite a integração com APIs e serviços externos.

### Gerenciamento de sessões
<a name="browser-session-management"></a>

As sessões AgentCore do navegador têm as seguintes características:

Tempo limite de sessão  
Padrão: 900 segundos (15 minutos)  
Configurável: pode ser ajustado ao criar sessões, até 8 horas

Gravação da sessão  
As sessões do navegador podem ser gravadas para análise posterior  
As gravações incluem tráfego de rede e registros do console  
As gravações são armazenadas em um bucket do S3 especificado durante a criação do navegador

Visualização ao vivo  
As sessões podem ser visualizadas em tempo real usando o recurso de visualização ao vivo  
A visualização ao vivo está disponível em: streams/aws /browser- .browser. v1/sessions/{session\_id} /visualização ao vivo

Rescisão automática  
As sessões são encerradas automaticamente após o período de tempo limite configurado

Várias sessões  
Várias sessões podem ser ativas simultaneamente para uma única ferramenta de navegador. Cada sessão mantém seu próprio estado e ambiente. Pode haver até um máximo de 500 sessões.

Política de retenção  
A política de retenção de tempo de vida (TTL) para os dados da sessão é de 30 dias.

#### Usando sessões isoladas
<a name="browser-isolated-sessions"></a>

AgentCore As ferramentas permitem o isolamento de cada sessão do usuário para garantir a reutilização segura e consistente do contexto em várias invocações de ferramentas. O isolamento da sessão é especialmente importante para cargas de trabalho de agentes de IA devido aos seus padrões de execução dinâmicos e em várias etapas.

Cada sessão da ferramenta é executada em uma microVM dedicada com recursos isolados de CPU, memória e sistema de arquivos. Essa arquitetura garante que a invocação da ferramenta de um usuário não possa acessar dados da sessão de outro usuário. Após a conclusão da sessão, a microVM é totalmente encerrada e sua memória é higienizada, eliminando assim qualquer risco de vazamento de dados entre sessões.