

# Nozioni fondamentali
<a name="browser-resource-session-management"></a>

I seguenti argomenti mostrano come funziona Amazon Bedrock AgentCore Browser e come creare le risorse e gestire le sessioni.

**Topics**
+ [Creazione di uno strumento Browser e avvio di una sessione](#browser-create-session)
+ [Gestione delle risorse](#browser-resource-management)
+ [Utilizzo dello strumento Browser](browser-using-tool.md)
+ [Gestione delle sessioni del browser](browser-managing-sessions.md)

## Creazione di uno strumento Browser e avvio di una sessione
<a name="browser-create-session"></a>

1.  **Creare uno strumento per il browser** 

   Quando configuri uno strumento del browser, scegli l'impostazione della rete pubblica, la configurazione di registrazione per la riproduzione della sessione e le autorizzazioni tramite un ruolo di runtime IAM che definisce a quali AWS risorse può accedere lo strumento Browser.

1.  **Avviare una sessione** 

   Il Browser Tool utilizza un modello basato sulla sessione. Dopo aver creato uno strumento Browser, si avvia una sessione con un periodo di timeout configurabile (l'impostazione predefinita è 15 minuti). Le sessioni terminano automaticamente dopo il periodo di timeout. È possibile attivare più sessioni contemporaneamente per un singolo Browser Tool, con ogni sessione che mantiene il proprio stato e ambiente.

1.  **Interagisci con il browser** 

   Una volta avviata una sessione, puoi interagire con il browser utilizzando le API di WebSocket-based streaming. L'endpoint di automazione consente al tuo agente di eseguire azioni del browser come navigare verso siti Web, fare clic su elementi, compilare moduli, acquisire schermate e altro ancora. Librerie come browser-use o Playwright possono essere utilizzate per semplificare queste interazioni.

   Nel frattempo, l'endpoint Live View consente all'utente finale di guardare la sessione del browser in tempo reale e di interagire con essa direttamente tramite il live streaming.

1.  **Interrompi la sessione** 

   Quando hai finito di utilizzare la sessione del browser, dovresti interromperla per liberare risorse ed evitare addebiti inutili. Le sessioni possono essere interrotte manualmente o termineranno automaticamente dopo il periodo di timeout configurato.

### Permissions
<a name="browser-permissions"></a>

Per utilizzare il AgentCore browser Amazon Bedrock, sono necessarie le seguenti autorizzazioni nella tua policy 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 utilizzi la registrazione di sessioni con S3, il ruolo di esecuzione che fornisci durante la creazione di un browser richiede le seguenti autorizzazioni:

```
{
    "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}}"
        }
    }
}
```

Dovresti anche aggiungere la seguente politica di fiducia al ruolo di esecuzione:

```
{
"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:*"
            }
        }
    }]
}
```

### Configurazione del browser per le operazioni API
<a name="browser-setup-api"></a>

Esegui i seguenti comandi per configurare lo strumento Browser, comune a tutte le operazioni API del piano di controllo e del piano dati.

```
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
)
```

## Gestione delle risorse
<a name="browser-resource-management"></a>

Il AgentCore browser fornisce due tipi di risorse:

ARN di sistema  
Gli ARN di sistema sono risorse predefinite precreate per facilitare l'uso. Questi ARN hanno una configurazione predefinita con le opzioni più restrittive e sono disponibili per tutte le regioni in cui è disponibile Amazon Bedrock AgentCore .      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock-agentcore/latest/devguide/browser-resource-session-management.html)

ARN personalizzati  
Gli ARN personalizzati consentono di configurare uno strumento del browser con le proprie impostazioni. Puoi scegliere l'impostazione della rete pubblica, la configurazione della registrazione, le impostazioni di sicurezza e le autorizzazioni tramite un ruolo di runtime IAM che definisce a quali AWS risorse può accedere lo strumento del browser.

### Impostazioni di rete
<a name="browser-network-settings"></a>

Il AgentCore browser supporta la modalità di rete pubblica. Questa modalità consente allo strumento di accedere alle risorse Internet pubbliche. Questa opzione consente l'integrazione con API e servizi esterni.

### Gestione della sessione
<a name="browser-session-management"></a>

Le sessioni AgentCore del browser hanno le seguenti caratteristiche:

Timeout della sessione  
Impostazione predefinita: 900 secondi (15 minuti)  
Configurabile: può essere regolato durante la creazione di sessioni, fino a 8 ore

Registrazione della sessione  
Le sessioni del browser possono essere registrate per una revisione successiva  
Le registrazioni includono il traffico di rete e i registri della console  
Le registrazioni vengono archiviate in un bucket S3 specificato durante la creazione del browser

Visualizzazione dal vivo  
Le sessioni possono essere visualizzate in tempo reale utilizzando la funzione live view  
La visualizzazione dal vivo è disponibile all'indirizzo: streams/aws /browser- .browser. v1/sessions/{session\_id} /live-view

Terminazione automatica  
Le sessioni terminano automaticamente dopo il periodo di timeout configurato

Sessioni multiple  
È possibile attivare più sessioni contemporaneamente per un singolo strumento del browser. Ogni sessione mantiene il proprio stato e il proprio ambiente. Possono esserci fino a un massimo di 500 sessioni.

Politica di conservazione  
La politica di conservazione TTL (time to live) per i dati della sessione è di 30 giorni.

#### Utilizzo di sessioni isolate
<a name="browser-isolated-sessions"></a>

AgentCore Gli strumenti consentono l'isolamento di ogni sessione utente per garantire un riutilizzo sicuro e coerente del contesto tra più chiamate dello strumento. L'isolamento delle sessioni è particolarmente importante per i carichi di lavoro degli agenti AI grazie ai loro modelli di esecuzione dinamici e in più fasi.

Ogni sessione dello strumento viene eseguita in una microVM dedicata con risorse isolate di CPU, memoria e file system. Questa architettura garantisce che la chiamata allo strumento di un utente non possa accedere ai dati della sessione di un altro utente. Al termine della sessione, la MicroVM viene completamente interrotta e la sua memoria viene disinfettata, eliminando così ogni rischio di perdita di dati tra sessioni.