

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 基础知识
<a name="browser-resource-session-management"></a>

以下主题展示了 Amazon Bedrock AgentCore 浏览器的工作原理以及如何创建资源和管理会话。

**Topics**
+ [创建浏览器工具并启动会话](#browser-create-session)
+ [资源管理](#browser-resource-management)
+ [使用浏览器工具](browser-using-tool.md)
+ [管理浏览器会话](browser-managing-sessions.md)

## 创建浏览器工具并启动会话
<a name="browser-create-session"></a>

1.  **创建浏览器工具 ** 

   配置浏览器工具时，通过定义浏览器工具可以访问的 Amazon 资源的 IAM 运行时角色选择公共网络设置、会话重放的录制配置以及权限。

1.  **启动会话** 

   浏览器工具使用基于会话的模型。创建浏览器工具后，您可以使用可配置的超时时间（默认值为 15 分钟）启动会话。会话在超时期后自动终止。一个浏览器工具可以同时激活多个会话，每个会话保持自己的状态和环境。

1.  **与浏览器互动 ** 

   会话启动后，您可以使用 WebSocket-based 流式传输 API 与浏览器进行交互。Automation 端点使您的代理能够执行浏览器操作，例如导航到网站、点击元素、填写表单、截取屏幕截图等。浏览器使用或 Playwright 等库可用于简化这些交互。

   同时，实时视图端点允许最终用户实时观看浏览器会话，并直接通过直播与之互动。

1.  **停止会话 ** 

   当你使用完浏览器会话后，你应该停止它以释放资源并避免不必要的费用。会话可以手动停止，也可以在配置的超时时间后自动终止。

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

要使用亚马逊 Bedrock AgentCore 浏览器，您需要在 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/*"
        }
    ]
}
```

如果您在 S3 中使用会话录制，则您在创建浏览器时提供的执行角色需要以下权限：

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

您还应向执行角色添加以下信任策略：

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

### API 操作的浏览器设置
<a name="browser-setup-api"></a>

运行以下命令来设置浏览器工具，该工具适用于所有控制平面和数据平面 API 操作。

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

## 资源管理
<a name="browser-resource-management"></a>

 AgentCore 浏览器提供两种类型的资源：

系统 ARN  
系统 ARN 是为便于使用而预先创建的默认资源。这些 ARN 采用默认配置和最严格的选项，适用于所有 Amazon Bedrock AgentCore 可用的地区。  


<table>
<thead>
  <tr><th>Field</th><th>Value</th></tr>
</thead>
<tbody>
  <tr><td>ID</td><td>aws.browser.v1</td></tr>
  <tr><td>进行筛选</td><td>arn: aws: bedrock-agentcore: us-east-1: aws: .browser.v1 browser/aws</td></tr>
  <tr><td>Name</td><td>亚马逊 Bedrock AgentCore 浏览器工具</td></tr>
  <tr><td>说明</td><td> Amazon 内置浏览器，用于安全的网页浏览</td></tr>
  <tr><td>Status</td><td>就绪</td></tr>
</tbody>
</table>


自定义 ARN  
自定义 ARN 允许您使用自己的设置配置浏览器工具。您可以通过 IAM 运行时角色选择公共网络设置、录制配置、安全设置和权限，该角色定义了浏览器工具可以访问的 Amazon 资源。

### 网络设置
<a name="browser-network-settings"></a>

 AgentCore 浏览器支持公共网络模式。此模式允许该工具访问公共互联网资源。此选项允许与外部 API 和服务集成。

### 会话管理
<a name="browser-session-management"></a>

 AgentCore 浏览器会话具有以下特征：

会话超时  
默认值：900 秒（15 分钟）  
可配置：可在创建会话时进行调整，最长可达 8 小时

会话录制  
可以记录浏览器会话以供日后查看  
记录包括网络流量和控制台日志  
录制文件存储在浏览器创建期间指定的 S3 存储桶中

实时取景  
可以使用实时预览功能实时查看会话  
实时视图可在以下网址获得：/browser-.browser streams/aws。v1/sessions/{session\_id} /实时预览

自动终止  
会话在配置的超时时间段后自动终止

多个会话  
单个浏览器工具可以同时激活多个会话。每个会话都维护自己的状态和环境。最多可以有 500 个会话。

保留政策  
会话数据的生存时间 (TTL) 保留政策为 30 天。

#### 使用隔离会话
<a name="browser-isolated-sessions"></a>

AgentCore 工具可以隔离每个用户会话，以确保在多个工具调用中安全一致地重用上下文。由于其动态和多步执行模式，会话隔离对于 AI 代理工作负载尤其重要。

每个工具会话都在具有独立的 CPU、内存和文件系统资源的专用 microVM 中运行。这种架构保证一个用户的工具调用无法访问另一个用户会话中的数据。会话完成后，microVM 将完全终止并对其内存进行消毒，从而消除了跨会话数据泄露的任何风险。