View a markdown version of this page

Menggunakan proxy browser - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan proxy browser

Amazon Bedrock AgentCore Browser mendukung perutean lalu lintas browser melalui server proxy eksternal Anda sendiri. Hal ini memungkinkan organisasi untuk:

  • Mencapai stabilitas IP dengan merutekan lalu lintas melalui proxy dengan IP keluar yang diketahui, menghilangkan siklus otentikasi ulang yang disebabkan oleh rotasi alamat IP AWS

  • Mendukung daftar izin IP dengan menyediakan alamat keluar yang stabil dan dapat dikontrol untuk layanan yang memerlukan IP-based kontrol akses

  • Integrasikan dengan infrastruktur perusahaan dengan merutekan melalui server proxy Anda yang ada untuk akses ke halaman web dan sumber daya internal

Gambaran umum

Saat Anda membuat sesi browser dengan konfigurasi proxy, AgentCore Browser mengonfigurasi browser untuk merutekan lalu lintas HTTP dan HTTPS melalui server proxy yang Anda tentukan.

Alur permintaan proxy browser yang menunjukkan perutean lalu lintas dari sesi browser melalui server proxy yang dikelola pelanggan ke situs web tujuan.

Alur permintaan:

  1. Anda menelepon StartBrowserSession dengan proxyConfiguration menentukan server proxy Anda.

  2. Jika menggunakan otentikasi, AgentCore mengambil kredenSIAL proxy dari AWS Secrets Manager.

  3. Sesi browser dimulai dengan konfigurasi proxy Anda diterapkan.

  4. Rute lalu lintas browser melalui server proxy Anda berdasarkan aturan routing domain Anda.

  5. Server proxy Anda meneruskan permintaan ke situs web tujuan.

Server proxy adalah infrastruktur yang Anda miliki dan kelola. AgentCore Browser terhubung ke sana sebagai klien.

Konfigurasi proxy menerapkan --proxy-server flag Chromium ke instance browser saat startup, mengarahkan lalu lintas melalui proxy yang ditentukan di tingkat browser. Untuk skenario yang memerlukan penegakan lapisan jaringan—misalnya, ketika pengaturan tingkat browser dapat dimodifikasi selama runtime — terapkan sesi browser dalam VPC Anda sendiri. Lihat Konfigurasi AgentCore Runtime Amazon Bedrock dan alat untuk V PC.

Prasyarat

Sebelum mengkonfigurasi proxy browser, pastikan Anda memiliki:

  • Prasyarat browser umum — Selesaikan pengaturan alat browser standar. Lihat Memulai dengan AgentCore Browser.

  • Server proxy — Server HTTP/HTTPS proxy yang dapat diakses dari internet publik (atau dapat dijangkau dalam VPC Anda jika menggunakan konfigurasi VPC) dan mendukung metode HTTP CONNECT untuk tunneling lalu lintas HTTPS.

  • AWS Rahasia Manajer Rahasia (jika menggunakan otentikasi) - Rahasia yang berisi kredenSIAL proxy dalam format JSON dengan username dan password kunci.

  • Izin IAM (jika menggunakan otentikasi) — Panggilan identitas IAM StartBrowserSession harus memiliki secretsmanager:GetSecretValue izin untuk rahasia kredensi.

Memulai

Bagian ini menunjukkan konfigurasi paling sederhana untuk merutekan lalu lintas browser melalui proxy.

Langkah 1: Buat rahasia kredensional (jika menggunakan otentikasi)

Jika proxy Anda memerlukan otentikasi, buat rahasia di Manajer AWS Rahasia:

aws secretsmanager create-secret \ --name "my-proxy-credentials" \ --secret-string '{"username":"<your-username>","password":"<your-password>"}'

Persyaratan format kredensi:

Bidang Karakter yang diizinkan

username

Plus alfanumerik @ . _ + = -

password

Alfanumerik ditambah @. _ + = -! # $% *

Karakter tidak diperbolehkan: titik dua (:), baris baru, spasi, tanda kutip.

Langkah 2: Tambahkan izin IAM

Tambahkan kebijakan ini ke identitas IAM yang akan membuat sesi browser:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:AWS Region:AWS account:secret:secret-name*" } ] }

Langkah 3: Buat sesi browser dengan proxy

Anda dapat membuat sesi browser dengan konfigurasi proxy menggunakan AWS CLI, SDK, atau API.

contoh
AWS CLI
  1. Untuk memulai sesi browser dengan proxy menggunakan AWS CLI:

    aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "my-proxy-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080, "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }] }'

    Untuk proxy yang menggunakan IP allowlisting alih-alih kredenSIAL, hilangkan bidang: credentials

    aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "my-proxy-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080 } }] }'
Boto3
  1. Untuk memulai sesi browser dengan proxy menggunakan AWS SDK untuk Python (Boto3):

    import boto3 client = boto3.client('bedrock-agentcore', region_name='region') response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="my-proxy-session", proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080, "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }] } ) print(f"Session ID: {response['sessionId']}")

    Untuk proxy yang menggunakan IP allowlisting alih-alih kredenSIAL, hilangkan bidang: credentials

    proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080 } }] }
API
  1. Untuk memulai sesi browser dengan proxy menggunakan API:

    PUT /browsers/aws.browser.v1/sessions/start HTTP/1.1 Host: bedrock-agentcore.region.amazonaws.com Content-Type: application/json Authorization: AWS4-HMAC-SHA256 ... { "name": "my-proxy-session", "proxyConfiguration": { "proxies": [{ "externalProxy": { "server": "your-proxy-hostname", "port": 8080, "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }] } }

Opsi konfigurasi

Domain-based perutean

Gunakan domainPatterns untuk merutekan domain tertentu melalui proxy yang ditunjuk:

contoh
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "domain-routing-session" \ --proxy-configuration '{ "proxies": [ { "externalProxy": { "server": "corp-proxy.example.com", "port": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "server": "general-proxy.example.com", "port": 8080 } } ] }'
Boto3
  1. proxyConfiguration={ "proxies": [ { "externalProxy": { "server": "corp-proxy.example.com", "port": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "server": "general-proxy.example.com", "port": 8080 } } ] }
API
  1. { "proxyConfiguration": { "proxies": [ { "externalProxy": { "server": "corp-proxy.example.com", "port": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "server": "general-proxy.example.com", "port": 8080 } } ] } }

Dengan konfigurasi ini:

  • Permintaan ke rute *.company.com dan *.internal.corp melalui corp-proxy.example.com

  • Semua permintaan lainnya ditelusuri melalui general-proxy.example.com (default)

Format pola domain:

Pola Cocok Tidak cocok

.example.com

example.com , www.example.com , api.example.com

notexample.com

example.com

example.com(hanya cocok persis)

www.example.com

Gunakan .example.com (titik utama) untuk subdomain. Jangan gunakan *.example.com.

Lewati domain

Gunakan bypass.domainPatterns untuk domain yang harus terhubung langsung tanpa proxy apa pun:

contoh
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "bypass-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "proxy.example.com", "port": 8080 } }], "bypass": { "domainPatterns": [".amazonaws.com"] } }'
Boto3
  1. proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "proxy.example.com", "port": 8080 } }], "bypass": { "domainPatterns": [".amazonaws.com"] } }
API
  1. { "proxyConfiguration": { "proxies": [{ "externalProxy": { "server": "proxy.example.com", "port": 8080 } }], "bypass": { "domainPatterns": [".amazonaws.com"] } } }
catatan

Konfigurasi proxy adalah pengaturan perutean tingkat browser dan tidak menyediakan kontrol lalu lintas tingkat jaringan. Untuk penegakan lapisan jaringan, terapkan sesi browser di VPC Anda. Lihat Konfigurasi AgentCore Runtime Amazon Bedrock dan alat untuk V PC.

Prioritas routing

Rute lalu lintas sesuai dengan prioritas ini (tertinggi ke terendah):

  1. Bypass domain — Domain yang cocok bypass.domainPatterns terhubung secara langsung.

  2. Pola domain proxy — Domain yang cocok dengan domainPatterns rute proxy melalui proxy itu (pertandingan pertama menang berdasarkan urutan array).

  3. Proksi default — Rute domain yang tidak cocok melalui proxy tanpadomainPatterns.

Contoh lengkap

Contoh berikut menunjukkan konfigurasi proxy lengkap dengan pola domain, domain bypass, dan kredentif otentikasi.

contoh
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "proxy-session" \ --proxy-configuration '{ "proxies": [{ "externalProxy": { "server": "proxy-hostname", "port": 8080, "domainPatterns": [".company.com"], "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }], "bypass": { "domainPatterns": [".amazonaws.com"] } }'
Boto3
  1. import boto3 client = boto3.client('bedrock-agentcore', region_name='region') response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="proxy-session", proxyConfiguration={ "proxies": [{ "externalProxy": { "server": "proxy-hostname", "port": 8080, "domainPatterns": [".company.com"], "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }], "bypass": { "domainPatterns": [".amazonaws.com"] } } ) print(f"Session ID: {response['sessionId']}")
API
  1. PUT /browsers/aws.browser.v1/sessions/start HTTP/1.1 Host: bedrock-agentcore.region.amazonaws.com Content-Type: application/json Authorization: AWS4-HMAC-SHA256 ... { "name": "proxy-session", "proxyConfiguration": { "proxies": [{ "externalProxy": { "server": "proxy-hostname", "port": 8080, "domainPatterns": [".company.com"], "credentials": { "basicAuth": { "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" } } } }], "bypass": { "domainPatterns": [".amazonaws.com"] } } }

Kasus penggunaan

Stabilitas IP untuk portal berbasis sesi

Portal layanan kesehatan dan keuangan sering memvalidasi sesi berdasarkan alamat IP sumber. Memut AWS ar alamat IP menyebabkan autentikasi ulang yang sering. Rute lalu lintas melalui proxy dengan IP keluar yang stabil untuk menjaga kontinuitas sesi.

Integrasi infrastruktur perusahaan

Organisasi yang merutekan lalu lintas melalui proxy perusahaan dapat memperluas praktik ini ke sesi AgentCore Browser, memungkinkan akses ke halaman web internal dan sumber daya yang memerlukan konektivitas berbasis proxy.

Akses konten geografis

Akses konten khusus wilayah atau uji variasi situs web regional dengan merutekan lalu lintas melalui proxy di lokasi geografis tertentu.

Akses jaringan mitra

Rute lalu lintas khusus mitra melalui infrastruktur proxy khusus sambil menggunakan proxy umum untuk lalu lintas lainnya.

Perilaku sesi

Siklus hidup konfigurasi

  • Setel saat pembuatan - Konfigurasi Proxy disetel sekali pada pembuatan sesi. Perubahan konfigurasi saat runtime tidak didukung. Buat sesi baru untuk menggunakan pengaturan yang berbeda.

  • Session-scoped— Setiap sesi browser memiliki konfigurasi proxy independen.

  • Batas waktu — Batas waktu sesi standar berlaku. Konfigurasi proxy dibuang saat sesi berakhir.

Perilaku konektivitas

  • Fail-open— Konektivitas proxy tidak divalidasi pada pembuatan sesi. Sesi yang dikonfigurasi dengan proxy yang tidak tersedia akan menampilkan kesalahan saat memuat halaman.

  • Kesalahan runtime — Kegagalan koneksi muncul sebagai halaman kesalahan browser, terlihat di Live View untuk pemecahan masalah.

  • Tidak ada percobaan ulang otomatis — Permintaan yang gagal tidak dicoba ulang secara otomatis.

Cross-account akses rahasia

Jika rahasia kredenSIAL ada di AWS akun yang berbeda, konfigurasikan yang berikut ini:

Kebijakan sumber daya rahasia (dalam akun yang memiliki rahasia):

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::caller-account-id:root"}, "Action": "secretsmanager:GetSecretValue", "Resource": "*" }] }

Kebijakan kunci KMS (jika menggunakan kunci KMS yang dikelola pelanggan):

{ "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::caller-account-id:root"}, "Action": "kms:Decrypt", "Resource": "*" }

Pertimbangan keamanan

Perlindungan kredensi

  • KredenSIAL disimpan di AWS Secrets Manager dan diambil menggunakan kredenSIAL IAM Anda.

  • KredenSIAL tidak pernah dikembalikan dalam tanggapan API. GetBrowserSessionhanya kembalisecretArn.

  • KredenSIAL tidak ditulis ke log.

Kontrol akses

  • Izin IAM mengontrol identitas mana yang dapat menggunakan rahasia kredensi mana.

  • Cross-account akses memerlukan kebijakan sumber daya eksplisit.

Pertimbangan performa

  • Kapasitas — Pastikan proxy Anda dapat menangani volume permintaan yang diharapkan.

  • Bypass — Tambahkan AWS titik akhir bypass.domainPatterns untuk panggilan sensitif latensi.

  • Kedekatan — Gunakan proxy yang secara geografis dekat dengan Wilayah Anda AWS .

Batasan

Kendala Kuota Dapat Disesuaikan

Proxy maksimum per sesi

5

Ya

Pola domain maksimum per proxy

100

Ya

Pola domain bypass maksimum

100

Ya

Panjang nama host server

253 karakter

Tidak

Panjang pola domain

253 karakter

Tidak

Rentang port

1—65535

Tidak

Untuk meminta peningkatan kendala yang dapat disesuaikan, hubungi AWS dukungan.

Batasan

Sebelum mengonfigurasi proxy browser, tinjau batasan ini untuk memastikan fitur memenuhi persyaratan Anda:

Batasan Rincian

Perutean lalu lintas

Konfigurasi proxy adalah pengaturan tingkat browser yang diterapkan pada sesi startup. Ini bukan kontrol tingkat jaringan dan tidak menjamin bahwa semua lalu lintas akan transit proxy. Untuk penegakan lapisan jaringan, gunakan Konfigurasikan AgentCore Runtime Amazon Bedrock dan alat untuk VPC.

Protokol yang didukung

Hanya proxy HTTP dan HTTPS. Proxy SOCKS4 dan SOCKS5 tidak didukung.

Autentikasi

Otentikasi dasar HTTP atau tanpa otentikasi (IP allowlisting). NTLM, Kerberos, dan otentikasi berbasis sertifikat tidak didukung.

Perubahan proxy

Konfigurasi proxy diatur satu kali pada pembuatan sesi. Perubahan konfigurasi saat runtime tidak didukung. Buat sesi baru untuk mengubah pengaturan proxy.

Rotasi proxy

Rotasi proxy otomatis untuk siklus IP atau distribusi beban tidak didukung. Buat sesi baru untuk memutar proxy.

Validasi koneksi

Konektivitas proxy tidak divalidasi pada pembuatan sesi. Kesalahan koneksi muncul saat runtime.