基础知识
以下主题展示了 Amazon Bed AgentCore rock 浏览器的工作原理以及如何创建资源和管理会话。
创建浏览器工具并启动会话
-
创建浏览器工具
配置浏览器工具时,选择公共网络设置、会话重播的录制配置,以及通过定义浏览器工具可以访问哪些 AWS 资源的 IAM 运行时角色获得的权限。
-
启动会话
浏览器工具使用基于会话的模型。创建浏览器工具后,您可以启动具有可配置的超时时间(默认为 15 分钟)的会话。超时时间过后,会话将自动终止。单个浏览器工具可以同时激活多个会话,每个会话都保持自己的状态和环境。
-
与浏览器互动
会话启动后,您可以使用 WebSocket-based 流媒体 API 与浏览器进行交互。Automation 端点使您的代理能够执行浏览器操作,例如导航到网站、点击元素、填写表单、截取屏幕截图等。诸如 browser-use 或 Playwright 之类的库可以用来简化这些交互。
同时,Live View 端点允许最终用户实时观看浏览器会话,并通过直播直接与之交互。
-
停止会话
使用完浏览器会话后,应停止浏览器会话以释放资源并避免不必要的费用。会话可以手动停止,也可以在配置的超时时间后自动终止。
Permissions
要使用 Amazon Bed AgentCore rock 浏览器,您需要在 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 操作的浏览器设置
运行以下命令来设置所有控制平面和数据平面 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 )
资源管理
AgentCore 浏览器提供两种类型的资源:
- 系统 ARN
-
系统 ARN 是为便于使用而预先创建的默认资源。这些 ARN 具有默认配置和最严格的选项,适用于所有提供 Amazon Bedrock AgentCore 的区域。
Field Value ID
aws.browser.v1
进行筛选
arn: aws: bedrock-agentcore: us-east-1: aws: .browser.v1 browser/aws
Name
亚马逊 Bedrock AgentCore 浏览器工具
说明
AWS 用于安全浏览网页的内置浏览器
Status
就绪
- 自定义 ARN
-
自定义 ARN 允许您使用自己的设置配置浏览器工具。您可以通过定义浏览器工具可以访问哪些 AWS 资源的 IAM 运行时角色来选择公用网络设置、录制配置、安全设置和权限。
网络设置
AgentCore 浏览器支持公共网络模式。此模式允许该工具访问公共互联网资源。此选项支持与外部 API 和服务的集成。
会话管理
AgentCore 浏览器会话具有以下特征:
- 会话超时
-
默认值:900 秒(15 分钟)
可配置:可在创建会话时进行调整,最长可达 8 小时
- 会话录制
-
可以记录浏览器会话以供日后查看
录制内容包括网络流量和控制台日志
录音存储在浏览器创建期间指定的 S3 存储桶中
- 实时取景
-
使用实时预览功能可以实时查看会话
实时视图可在以下网址获得:/browser-.browser streams/aws。 v1/sessions/{session_id} /live-view
- 自动终止
-
会话在配置的超时时间后自动终止
- 多个会话
-
单个浏览器工具可以同时激活多个会话。每个会话都保持自己的状态和环境。最多可以有 500 个会话。
- 保留政策
-
会话数据的生存时间 (TTL) 保留政策为 30 天。
使用隔离会话
AgentCore 工具可以隔离每个用户会话,以确保在多个工具调用中安全、一致地重复使用上下文。由于 AI 代理工作负载具有动态和多步执行模式,因此会话隔离对于 AI 代理工作负载尤其重要。
每个工具会话都在具有隔离的 CPU、内存和文件系统资源的专用 microVM 中运行。这种架构可确保一个用户的工具调用无法访问另一个用户的会话中的数据。会话完成后,microVM 将完全终止并清理其内存,从而消除跨会话数据泄露的任何风险。