ブラウザプロファイルの使用
ブラウザプロファイルを使用すると、複数のブラウザセッションでブラウザプロファイルデータを永続化および再利用できます。ブラウザプロファイルは、Cookie やローカルストレージなどのセッション情報を保存します。
たとえば、ブラウザセッションで 1 回ウェブサイトに認証し、プロファイルデータをブラウザプロファイルリソースに保存できます。その保存されたプロファイルで新しいブラウザセッションを開始すると、認証状態は保持され、ログインしたままになります。これにより、エージェントは手動での介入を必要とせずに、認証されたウェブサイトでタスクを実行できます。
概要
Amazon Bedrock AgentCore のブラウザプロファイルは、次のように機能します。
-
ブラウザセッション間で再利用されるブラウザプロファイルリソースを作成する
-
ブラウザセッションを開始し、Cookie とローカルストレージに入力するアクションを実行する (ウェブサイトのログインやショッピングカートへの商品の配置など)
-
現在のブラウザセッションからブラウザプロファイルリソースにプロファイルデータを保存する
-
保存したプロファイルを使用して新しいブラウザセッションを開始し、以前の状態を復元する
前提条件
ブラウザプロファイルを使用する前に、以下を確認してください。
-
一般的なブラウザの前提条件を完了しました
-
プロファイルリソースを管理するための IAM アクセス許可。IAM ポリシーに次のアクセス許可を追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockAgentCoreBrowserProfileManagementAccess",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:CreateBrowserProfile",
"bedrock-agentcore:ListBrowserProfiles",
"bedrock-agentcore:GetBrowserProfile",
"bedrock-agentcore:DeleteBrowserProfile"
],
"Resource": "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-profile/*"
}
]
}
-
プロファイルを保存およびロードするための IAM アクセス許可。IAM ポリシーに次のアクセス許可を追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockAgentCoreBrowserProfileUsageAccess",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:StartBrowserSession",
"bedrock-agentcore:SaveBrowserSessionProfile"
],
"Resource": [
"arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-profile/*",
"arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-custom/*",
"arn:aws:bedrock-agentcore:<Region>:<account_id>:browser/*"
]
}
]
}
ブラウザプロファイルの開始方法
このセクションでは、ブラウザプロファイルの作成、セッションデータの保存、後続のセッションでのプロファイルの再利用について説明します。
ステップ 1: ブラウザプロファイルを作成する
セッションデータを保存するブラウザプロファイルリソースを作成します。
例
- AWS CLI
-
-
CLI AWS を使用してブラウザプロファイルを作成するには:
aws bedrock-agentcore-control create-browser-profile \
--region <Region> \
--name "profile_demo" \
--description "example profile"
- Boto3
-
-
AWS SDK for Python (Boto3) を使用してブラウザプロファイルを作成するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.create_browser_profile(
name="profile_demo",
description="example profile"
)
profile_id = response['profileId']
print(f"Created profile: {profile_id}")
- API
-
-
API を使用してブラウザプロファイルを作成するには:
awscurl -X PUT \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region> \
-d '{
"name": "profile_demo",
"description": "example profile",
"clientToken": "FC21DD1F-FA7B-40EC-8D3A-12E029A1BFF3"
}'
ステップ 2: ブラウザセッションを開始し、アクションを実行する
ブラウザセッションを開始し、ウェブサイトのログインなどのアクションを実行します。Cookie やローカルストレージなどのセッション状態がキャプチャされます。
例
- AWS CLI
-
-
CLI AWS を使用してブラウザセッションを開始するには:
aws bedrock-agentcore start-browser-session \
--region <Region> \
--browser-identifier "aws.browser.v1" \
--name "my-session" \
--session-timeout-seconds 3600
返されたセッション ID を使用してブラウザを操作し、必要なアクションを実行します (ウェブサイトにログインするなど)。
- Boto3
-
-
Boto3 を使用してブラウザセッションを開始するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore', region_name=region)
response = client.start_browser_session(
browserIdentifier="aws.browser.v1",
name="my-session",
sessionTimeoutSeconds=3600
)
session_id = response['sessionId']
print(f"Session ID: {session_id}")
# Use the session to perform actions (e.g., login to a website)
# ... your browser automation code here ...
- API
-
-
API を使用してブラウザセッションを開始するには:
awscurl -X PUT \
"https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--service bedrock-agentcore \
--region <Region> \
-d '{
"name": "my-session",
"sessionTimeoutSeconds": 3600
}'
ステップ 3: セッションをプロファイルに保存する
ブラウザセッションでアクションを実行したら、現在の状態をブラウザプロファイルに保存します。これにより、Cookie、ローカルストレージ、およびその他のセッションデータがキャプチャされます。
例
- AWS CLI
-
-
AWS CLI を使用してブラウザセッションをプロファイルに保存するには:
aws bedrock-agentcore save-browser-session-profile \
--region <Region> \
--profile-identifier "<ProfileId>" \
--browser-identifier "aws.browser.v1" \
--session-id "<SessionId>"
- Boto3
-
-
Boto3 を使用してブラウザセッションをプロファイルに保存するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore', region_name=region)
response = client.save_browser_session_profile(
profileIdentifier=profile_id, # From Step 1
browserIdentifier="aws.browser.v1",
sessionId=session_id # From Step 2
)
print(f"Profile saved successfully")
- API
-
-
API を使用してブラウザセッションをプロファイルに保存するには:
awscurl -X PUT \
"https://bedrock-agentcore.<Region>.amazonaws.com/browser-profiles/<ProfileId>/save" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--service bedrock-agentcore \
--region <Region> \
-d '{
"browserIdentifier": "aws.browser.v1",
"sessionId": "<SessionId>",
"clientToken": "52866F95-4468-4B6C-920C-09A00D36F04E"
}'
ステップ 4: プロファイルを使用して新しいセッションを開始する
保存したプロファイルを使用して新しいブラウザセッションを開始します。セッションは、認証 Cookie やローカルストレージなど、保存された状態で初期化されます。
例
- AWS CLI
-
-
AWS CLI を使用してプロファイルでブラウザセッションを開始するには:
aws bedrock-agentcore start-browser-session \
--region <Region> \
--browser-identifier "aws.browser.v1" \
--name "session-with-profile" \
--session-timeout-seconds 3600 \
--profile-configuration '{
"profileIdentifier":"<ProfileId>"
}'
- Boto3
-
-
Boto3 を使用してプロファイルでブラウザセッションを開始するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore', region_name=region)
response = client.start_browser_session(
browserIdentifier="aws.browser.v1",
name="session-with-profile",
sessionTimeoutSeconds=3600,
profileConfiguration={
"profileIdentifier": profile_id # From Step 1
}
)
new_session_id = response['sessionId']
print(f"New session started with profile: {new_session_id}")
print("Session is now authenticated with saved cookies and state")
- API
-
-
API を使用してプロファイルでブラウザセッションを開始するには:
awscurl -X PUT \
"https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--service bedrock-agentcore \
--region <Region> \
-d '{
"name": "session-with-profile",
"sessionTimeoutSeconds": 3600,
"profileConfiguration": {
"profileIdentifier": "<ProfileId>"
},
"clientToken": "8FAAFF7F-7803-4C40-A7BD-139C6D008646"
}'
ブラウザプロファイルオペレーション
このセクションでは、ブラウザプロファイルを管理するための追加のオペレーションについて説明します。
ブラウザプロファイルの一覧表示
アカウント内のすべてのブラウザプロファイルを一覧表示できます。
例
- AWS CLI
-
-
CLI AWS を使用してブラウザプロファイルを一覧表示するには:
aws bedrock-agentcore-control list-browser-profiles \
--region <Region>
- Boto3
-
-
Boto3 を使用してブラウザプロファイルを一覧表示するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.list_browser_profiles()
for profile in response.get('items', []):
print(f"Profile ID: {profile['profileId']}")
print(f"Name: {profile['name']}")
print(f"Status: {profile['status']}")
print("---")
- API
-
-
API を使用してブラウザプロファイルを一覧表示するには:
awscurl -X POST \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/list" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region>
ブラウザプロファイルの詳細の取得
特定のブラウザプロファイルに関する詳細を取得できます。
例
- AWS CLI
-
-
CLI AWS を使用してブラウザプロファイルの詳細を取得するには:
aws bedrock-agentcore-control get-browser-profile \
--region <Region> \
--profile-id "<ProfileId>"
- Boto3
-
-
Boto3 を使用してブラウザプロファイルの詳細を取得するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.get_browser_profile(
profileId=profile_id
)
print(f"Profile ID: {response['profileId']}")
print(f"Name: {response['name']}")
print(f"Description: {response.get('description', 'N/A')}")
print(f"Status: {response['status']}")
print(f"Created: {response['createdAt']}")
- API
-
-
API を使用してブラウザプロファイルの詳細を取得するには:
awscurl -X GET \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/<ProfileId>" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region>
ブラウザプロファイルの削除
ブラウザプロファイルが不要になった場合は、削除してリソースを解放できます。
例
- AWS CLI
-
-
CLI AWS を使用してブラウザプロファイルを削除するには:
aws bedrock-agentcore-control delete-browser-profile \
--region <Region> \
--profile-id "<ProfileId>"
- Boto3
-
-
Boto3 を使用してブラウザプロファイルを削除するには:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.delete_browser_profile(
profileId=profile_id
)
print(f"Profile deleted successfully")
- API
-
-
API を使用してブラウザプロファイルを削除するには:
awscurl -X DELETE \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/<ProfileId>" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region>
ユースケース
ブラウザプロファイルは、次の場合に便利です。
-
永続的認証: 毎回再認証することなく、複数のブラウザ呼び出しでログインセッションを維持します。
-
マルチステップワークフロー: 状態とコンテキストを保持しながら複数のセッションにまたがる複雑なワークフローを実行する (Cookie またはローカルストレージ内)
-
自動タスク: AI エージェントは、手動による介入なしで認証されたウェブサイトでタスクを実行できます。
考慮事項
-
プロファイルの永続性: 保存オペレーションを明示的に呼び出すと、プロファイルデータが保存されます。状態を維持するために、セッションを終了する前に必ずプロファイルを保存してください。
-
セッションの分離: プロファイルを使用する各ブラウザセッションは独立して動作します。1 つのセッションで行われた変更は、他の同時セッションでは表示されません。
-
プロファイルのロード: 保存されたプロファイルの変更は、新しいセッションにのみ適用されます。アクティブなセッションは、開始された時点からプロファイル状態を使用し続け、セッション開始後にプロファイルに加えられた更新は反映されません。
-
セキュリティ: ブラウザプロファイルには、認証 Cookie などの機密データが含まれている場合があります。プロファイルリソースへのアクセスを制限するための適切な IAM ポリシーが設定されていることを確認します。
-
プロファイルの更新: セッションをプロファイルに保存すると、以前のプロファイルデータが上書きされます。重要な状態情報が失われないように、ワークフローを慎重に検討してください。
-
Cookie の有効期限: Cookie には、ウェブサイトによって設定された独自の有効期限があります。ブラウザプロファイルは Cookie を保持しますが、期限切れの Cookie は有効期限に従ってブラウザによって自動的に削除されます。