

# 基本概念
<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.  **建立瀏覽器工具** 

   設定瀏覽器工具時，請選擇公有網路設定、記錄工作階段重播的組態，以及透過定義瀏覽器工具可存取之 AWS 資源的 IAM 執行期角色的許可。

1.  **開始工作階段** 

   瀏覽器工具使用工作階段型模型。建立瀏覽器工具後，您會以可設定的逾時期間 （預設為 15 分鐘） 啟動工作階段。工作階段會在逾時期間後自動終止。單一瀏覽器工具可以同時啟用多個工作階段，每個工作階段都會維持自己的狀態和環境。

1.  **與瀏覽器互動** 

   工作階段啟動後，您可以使用 WebSocket 型串流 APIs 與瀏覽器互動。自動化端點可讓您的代理程式執行瀏覽器動作，例如導覽至網站、按一下元素、填寫表單、擷取螢幕擷取畫面等。瀏覽器使用或 Playwright 等程式庫可用來簡化這些互動。

   同時，即時檢視端點可讓最終使用者即時觀看瀏覽器工作階段，並透過即時串流直接與其互動。

1.  **停止工作階段** 

   使用完瀏覽器工作階段後，您應該停止它以釋出資源並避免不必要的費用。工作階段可以手動停止，或在設定的逾時期間後自動終止。

### 許可
<a name="browser-permissions"></a>

若要使用 Amazon 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 瀏覽器提供兩種類型的資源：

系統 ARNs  
系統 ARNs是為方便使用而預先建立的預設資源。這些 ARNs具有具有最嚴格選項的預設組態，可用於可使用 Amazon Bedrock AgentCore 的所有區域。      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/bedrock-agentcore/latest/devguide/browser-resource-session-management.html)

自訂 ARNs  
自訂 ARNs 可讓您使用自己的設定來設定瀏覽器工具。您可以透過定義瀏覽器工具可存取之 AWS 資源的 IAM 執行期角色，選擇公有網路設定、記錄組態、安全設定和許可。

### 網路設定
<a name="browser-network-settings"></a>

AgentCore 瀏覽器支援公有網路模式。此模式允許工具存取公有網際網路資源。此選項可整合外部 APIs和服務。

### 工作階段管理
<a name="browser-session-management"></a>

AgentCore 瀏覽器工作階段具有下列特性：

工作階段逾時  
預設：900 秒 (15 分鐘）  
可設定：可在建立工作階段時調整，最長可達 8 小時

工作階段錄製  
可以記錄瀏覽器工作階段以供日後檢閱  
錄製包括網路流量和主控台日誌  
錄製會存放在瀏覽器建立期間指定的 S3 儲存貯體中

即時檢視  
您可以使用即時檢視功能即時檢視工作階段  
即時檢視可在以下位置取得：/browser-streams/aws.browser.v1/sessions/ { session\_id}/live-view

自動終止  
工作階段會在設定的逾時期間後自動終止

多個工作階段  
單一瀏覽器工具可以同時啟用多個工作階段。每個工作階段都會維護自己的狀態和環境。最多可以有 500 個工作階段。

保留政策  
工作階段資料的存留時間 (TTL) 保留政策為 30 天。

#### 使用隔離的工作階段
<a name="browser-isolated-sessions"></a>

AgentCore 工具可隔離每個使用者工作階段，以確保跨多個工具調用安全地且一致地重複使用內容。工作階段隔離對於 AI 代理程式工作負載特別重要，因為其動態和多步驟執行模式。

每個工具工作階段都會在具有隔離 CPU、記憶體和檔案系統資源的專用 microVM 中執行。此架構保證一個使用者的工具叫用無法存取另一個使用者工作階段的資料。工作階段完成後，microVM會完全終止，且其記憶體會經過清理，進而消除跨工作階段資料外洩的任何風險。