View a markdown version of this page

브라우저 프로필 사용 - Amazon Bedrock AgentCore

브라우저 프로필 사용

브라우저 프로파일을 사용하면 여러 브라우저 세션에서 브라우저 프로파일 데이터를 유지하고 재사용할 수 있습니다. 브라우저 프로필은 쿠키 및 로컬 스토리지를 포함한 세션 정보를 저장합니다.

예를 들어 브라우저 세션에서 한 번 웹 사이트에 인증하고 프로필 데이터를 브라우저 프로필 리소스에 저장할 수 있습니다. 저장된 프로필로 새 브라우저 세션을 시작하면 인증 상태가 유지되고 로그인된 상태로 유지됩니다. 이를 통해 에이전트는 수동 개입 없이 인증된 웹 사이트에서 작업을 수행할 수 있습니다.

개요

Amazon Bedrock AgentCore의 브라우저 프로파일은 다음과 같이 작동합니다.

  1. 브라우저 세션에서 재사용할 브라우저 프로필 리소스 생성

  2. 브라우저 세션을 시작하고 쿠키 및 로컬 스토리지를 채우는 작업(예: 웹 사이트 로그인 또는 장바구니에 항목 넣기)을 수행합니다.

  3. 현재 브라우저 세션의 프로필 데이터를 브라우저 프로필 리소스에 저장

  4. 저장된 프로필을 사용하여 새 브라우저 세션을 시작하여 이전 상태를 복원합니다.

사전 조건

브라우저 프로파일을 사용하기 전에 다음을 갖추어야 합니다.

  • 일반 브라우저 사전 조건 완료

  • 프로필 리소스를 관리할 수 있는 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
  1. AWS CLI를 사용하여 브라우저 프로파일을 생성하려면:

    aws bedrock-agentcore-control create-browser-profile \ --region <Region> \ --name "profile_demo" \ --description "example profile"
Boto3
  1. 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
  1. 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단계: 브라우저 세션 시작 및 작업 수행

브라우저 세션을 시작하고 웹 사이트 로그인과 같은 작업을 수행합니다. 쿠키 및 로컬 스토리지를 포함한 세션 상태가 캡처됩니다.

AWS CLI
  1. AWS CLI를 사용하여 브라우저 세션을 시작하려면:

    aws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --name "my-session" \ --session-timeout-seconds 3600

    반환된 세션 ID를 사용하여 브라우저와 상호 작용하고 원하는 작업(예: 웹 사이트에 로그인)을 수행합니다.

Boto3
  1. 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
  1. 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단계: 세션을 프로필에 저장

브라우저 세션에서 작업을 수행한 후 현재 상태를 브라우저 프로필에 저장합니다. 쿠키, 로컬 스토리지 및 기타 세션 데이터를 캡처합니다.

AWS CLI
  1. AWS CLI를 사용하여 브라우저 세션을 프로필에 저장하려면:

    aws bedrock-agentcore save-browser-session-profile \ --region <Region> \ --profile-identifier "<ProfileId>" \ --browser-identifier "aws.browser.v1" \ --session-id "<SessionId>"
Boto3
  1. 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
  1. 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단계: 프로파일로 새 세션 시작

저장된 프로필을 사용하여 새 브라우저 세션을 시작합니다. 세션은 인증 쿠키 및 로컬 스토리지를 포함하여 저장된 상태로 초기화됩니다.

AWS CLI
  1. 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
  1. 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
  1. 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
  1. AWS CLI를 사용하여 브라우저 프로필을 나열하려면

    aws bedrock-agentcore-control list-browser-profiles \ --region <Region>
Boto3
  1. 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
  1. 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
  1. AWS CLI를 사용하여 브라우저 프로필 세부 정보를 가져오는 방법:

    aws bedrock-agentcore-control get-browser-profile \ --region <Region> \ --profile-id "<ProfileId>"
Boto3
  1. 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
  1. 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
  1. AWS CLI를 사용하여 브라우저 프로파일을 삭제하려면:

    aws bedrock-agentcore-control delete-browser-profile \ --region <Region> \ --profile-id "<ProfileId>"
Boto3
  1. 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
  1. 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>

사용 사례

브라우저 프로파일은 다음과 같은 경우에 유용합니다.

  • 영구 인증: 매번 재인증하지 않고 여러 브라우저 호출에서 로그인 세션 유지

  • 다단계 워크플로: 상태 및 컨텍스트를 유지하면서 여러 세션에 걸쳐 복잡한 워크플로 실행(쿠키 또는 로컬 스토리지)

  • 자동화된 작업: AI 에이전트가 수동 개입 없이 인증된 웹 사이트에서 작업을 수행할 수 있도록 지원

고려 사항

  • 프로파일 지속성: 저장 작업을 명시적으로 호출하면 프로파일 데이터가 저장됩니다. 세션을 종료하기 전에 프로파일을 저장하여 상태를 보존해야 합니다.

  • 세션 격리: 프로파일을 사용하는 각 브라우저 세션은 독립적으로 작동합니다. 한 세션의 변경 사항은 다른 동시 세션에는 표시되지 않습니다.

  • 프로파일 로드 중: 저장된 프로파일 변경 사항은 새 세션에만 적용됩니다. 활성 세션은 시작된 시점부터 프로파일 상태를 계속 사용하며 세션이 시작된 후 프로파일에 적용된 업데이트는 반영되지 않습니다.

  • 보안: 브라우저 프로필에는 인증 쿠키와 같은 민감한 데이터가 포함될 수 있습니다. 프로필 리소스에 대한 액세스를 제한하는 적절한 IAM 정책이 마련되어 있는지 확인합니다.

  • 프로필 업데이트: 세션을 프로필에 저장하면 이전 프로필 데이터를 덮어씁니다. 중요한 상태 정보가 손실되지 않도록 워크플로를 신중하게 고려하세요.

  • 쿠키 만료: 쿠키에는 웹 사이트에서 설정한 자체 만료 시간이 있습니다. 브라우저 프로필은 쿠키를 보존하지만 만료된 쿠키는 만료 날짜에 따라 브라우저에서 자동으로 제거됩니다.