View a markdown version of this page

Mengurangi CAPTCHA dengan Web Bot Auth - Batuan Dasar Amazon AgentCore

Mengurangi CAPTCHA dengan Web Bot Auth

catatan

Amazon Bedrock AgentCore Browser Web Bot Auth (Preview) didasarkan pada draf protokol IETF Web Bot Auth, yang dapat berubah seiring spesifikasi berkembang menuju finalisasi.

+ Implementasi Saat Ini:

+ * Detail implementasi, parameter API, dan mekanisme penandatanganan dapat berubah saat kami menyelaraskan dengan spesifikasi protokol finalisasi* Dukungan dan kebijakan penyedia WAF bervariasi. Tidak semua situs web akan mengenali atau mengizinkan lalu lintas agen yang ditandatangani * Pemilik domain mempertahankan kendali penuh atas kebijakan bot mereka dan dapat memblokir, memantau, atau membatasi lalu lintas agen terlepas dari tanda tangan kriptografi

+ Untuk spesifikasi protokol terbaru, lihat draf IETF.

Amazon Bedrock AgentCore Browser mengurangi tantangan CAPTCHA melalui Web Bot Auth, konsep protokol IETF yang secara kriptografis mengidentifikasi agen AI ke situs web dan vendor kontrol bot.

Gambaran umum

Agen AI sering menemukan mekanisme anti-bot saat menjelajahi situs web, termasuk tantangan CAPTCHA, pembatasan tarif, dan pemblokiran permintaan. Langkah-langkah keamanan ini dirancang untuk mencegah lalu lintas otomatis berbahaya tetapi sering memblokir agen AI yang sah juga.

Situs web menerapkan pertahanan ini karena mereka tidak dapat secara andal membedakan antara agen yang sah dan bot jahat. Metode identifikasi tradisional seperti alamat IP atau User-Agent string dapat dengan mudah dipalsukan dan tidak memberikan identitas yang dapat diverifikasi.

Web Bot Auth mengatasi tantangan ini dengan menerapkan Tanda Tangan Pesan HTTP IETF untuk protokol draf Arsitektur lalu lintas otomatis. Protokol ini memungkinkan agen AI untuk menandatangani permintaan HTTP mereka secara kriptografis, menyediakan situs web dengan bukti identitas agen yang dapat diverifikasi.

Ketika Web Bot Auth diaktifkan, Amazon Bedrock AgentCore Browser secara otomatis menandatangani setiap permintaan HTTP dengan kunci pribadi dan menyertakan header verifikasi. Vendor kontrol bot (seperti Cloudflare, Akamai Technologies, dan HUMAN Security) dapat memverifikasi tanda tangan ini terhadap direktori kunci publik dan menerapkan kebijakan yang sesuai yang dikonfigurasi oleh pemilik situs web.

Pendekatan ini menyediakan metode standar untuk otomatisasi yang sah untuk mengidentifikasi dirinya sambil mempertahankan kontrol pemilik situs web atas kebijakan akses.

Cara kerjanya

Web Bot Auth menggunakan standar Tanda Tangan Pesan HTTP IETF untuk menandatangani permintaan HTTP secara kriptografis:

  1. Pendaftaran Agen: Amazon Bedrock AgentCore mendaftar dengan vendor kontrol bot (Cloudflare, reCAPTCHA, dll.) Dan menyediakan kunci publik untuk verifikasi

  2. Penandatanganan Permintaan: Saat diaktifkan, Alat Browser secara otomatis menandatangani setiap permintaan HTTP menggunakan kunci pribadi

  3. Header Tanda Tangan: Tiga header ditambahkan ke setiap permintaan:

    • Signature: Tanda tangan kriptografi

    • Signature-Agent: Menunjuk ke direktori kunci publik untuk verifikasi

    • Signature-Input: Menentukan komponen mana yang ditandatangani

  4. Verifikasi: Sistem kontrol bot situs web mengambil kunci publik dan memverifikasi tanda tangan untuk mengonfirmasi permintaan berasal dari Amazon Bedrock AgentCore

  5. Aplikasi Kebijakan: Berdasarkan identitas yang diverifikasi, situs web dapat menerapkan kebijakan yang sesuai. Pemilik domain dapat mengonfigurasi sistem kontrol bot mereka untuk:

    • Blokir semua lalu lintas: Tolak semua permintaan otomatis terlepas dari otentikasi

    • Izinkan hanya bot yang ditandatangani: Terima permintaan hanya dari agen terverifikasi dengan tanda tangan Web Bot Auth yang valid

    • Izinkan bot yang ditandatangani dari direktori tertentu: Izinkan agen yang diautentikasi untuk mengakses hanya jalur atau sumber daya tertentu di situs web

Mengaktifkan Web Bot Auth

Untuk mengaktifkan Web Bot Auth, Anda perlu mengkonfigurasinya saat membuat Alat Browser:

contoh
AWS CLI
  1. Untuk membuat Alat Browser dengan Web Bot Auth diaktifkan menggunakan AWS CLI:

    aws bedrock-agentcore-control create-browser \ --region <Region> \ --name "my-browser-with-auth" \ --description "Browser with Web Bot Auth enabled" \ --network-configuration '{"networkMode": "PUBLIC"}' \ --execution-role-arn "arn:aws:iam::<account-id>:role/<execution-role>" \ --browser-signing '{"enabled": true}'
Boto3
  1. Untuk membuat Alat Browser dengan Web Bot Auth diaktifkan menggunakan Boto3:

    import boto3 client = boto3.client('bedrock-agentcore-control', region_name='us-west-2') response = client.create_browser( name='my-browser-with-auth', description='Browser with Web Bot Auth enabled', networkConfiguration={ 'networkMode': 'PUBLIC' }, executionRoleArn='arn:aws:iam::<account-id>:role/<execution-role>', browserSigning={ 'enabled': True } )
Console
  1. ====== Untuk mengaktifkan Web Bot Auth di konsol

  2. Buka AgentCore konsol di https://console.aws.amazon.com/bedrock-agentcore/home#.

  3. Di panel navigasi, pilih Built-in alat.

  4. Pilih Buat alat browser.

  5. Berikan nama Alat yang unik dan Deskripsi opsional.

  6. Di bawah Pengaturan jaringan, pilih Jaringan publik.

  7. Di bagian konfigurasi Web Bot Auth, pilih kotak centang Gunakan Web Bot Auth.

  8. Di bawah Izin, tentukan peran eksekusi IAM yang menentukan AWS sumber daya apa yang dapat diakses Alat Browser.

  9. Konfigurasikan pengaturan browser lain sesuai kebutuhan dan pilih Buat.

penting

Web Bot Auth memerlukan peran eksekusi dengan kebijakan kepercayaan, tetapi tidak memerlukan kebijakan terkelola atau sebaris. Fitur ini dinonaktifkan secara default dan harus diaktifkan secara eksplisit selama pembuatan browser. Anda harus menambahkan kebijakan kepercayaan berikut ke peran eksekusi: [source, json, subs="verbatim, attributes "] ---- {“Version” :"2012-10-17", “Statement”: [{“Sid”: "“, “Effect”: “Allow”, “Principal”: {“Service”: “bedrock-agentcore.amazonaws.com”}, “Action”: “sts: “, “Kondisi”: {"BedrockAgentCoreBuiltInTools“: {“aws: “111122223333"}," StringEquals “: {“aws: “: “arn:aws:bedrock-agentcore:us-east- 1:111122223333: *”}}}}} ---- AssumeRole SourceAccount ArnLike SourceArn

Vendor Kontrol Bot yang Didukung

Amazon Bedrock AgentCore saat ini mendukung Web Bot Auth dengan vendor kontrol bot berikut:

  • Cloudflare

  • Keamanan Manusia

  • Teknologi Akamai

  • DataDome

  • F5

Vendor kontrol bot tambahan akan didukung saat kemitraan terjalin. Otentikasi bekerja secara transparan - setelah diaktifkan, agen Anda dapat menelusuri situs web yang dilindungi oleh layanan ini dengan mengurangi gesekan.

Pertimbangan-pertimbangan

  • Operasi Transparan: Web Bot Auth bekerja secara otomatis setelah diaktifkan. Tidak ada perubahan kode tambahan yang diperlukan dalam aplikasi agen Anda.

  • Dampak Kinerja: Permintaan penandatanganan menambahkan latensi minimal ke permintaan HTTP.

  • Cakupan Vendor: Fitur ini hanya berfungsi dengan situs web yang menggunakan vendor kontrol bot yang didukung. Situs web yang menggunakan solusi anti-bot lainnya mungkin masih menghadirkan tantangan.

  • Ketergantungan Kebijakan: Bahkan dengan otentikasi, pemilik situs web mengontrol kebijakan bot mereka. Beberapa situs mungkin masih membatasi atau memantau lalu lintas agen berdasarkan persyaratan spesifik mereka.