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 정책이 마련되어 있는지 확인합니다.

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

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