Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Melindungi gateway Anda dengan AWS WAF
Anda dapat menggunakan AWS WAF dengan Amazon Bedrock AgentCore Gateway untuk melindungi gateway Anda dari eksploitasi web, lalu lintas bot, dan serangan volumetrik. AWS WAF menyediakan lapisan keamanan sebaris yang mengevaluasi semua permintaan masuk sebelum mencapai target Anda.
Saat Anda mengaitkan daftar kontrol akses web AWS WAF (ACL web) dengan gateway Anda, AWS WAF memeriksa setiap permintaan masuk dan menerapkan aturan yang Anda konfigurasikan. Permintaan yang cocok dengan aturan blok ditolak sebelum mencapai target apa pun. Anda mengaitkan ACL web di tingkat gateway, dengan satu ACL web per gateway.
Bagaimana AWS WAF bekerja dengan gateway Anda
Saat Anda mengaitkan ACL web dengan gateway Anda, aliran permintaan berikut terjadi:
-
Klien mengirimkan permintaan ke titik akhir gateway Anda.
-
AWS WAF mengevaluasi permintaan terhadap aturan di ACL web terkait.
-
Jika permintaan diizinkan, gateway merutekkannya ke target yang sesuai.
-
Jika permintaan diblokir, gateway mengembalikan kesalahan ke klien tanpa meneruskan permintaan.
AWS WAF mengevaluasi setiap permintaan masuk sebaris. Ketika tidak ada ACL web yang terkait dengan gateway Anda, tidak ada overhead dan tidak ada evaluasi AWS WAF yang terjadi.
Prasyarat
Sebelum Anda mengaitkan ACL web dengan gateway Anda, pastikan Anda memenuhi persyaratan berikut:
-
ACL web AWS WAF Anda harus ada di Wilayah yang sama AWS dengan gateway Anda.
-
Anda harus menggunakan ACL web regional. CloudFront ACL web (global) tidak didukung.
-
Gerbang Anda harus dalam
READYkeadaan. -
Identitas IAM Anda harus memiliki izin berikut:
-
wafv2:AssociateWebACL -
wafv2:DisassociateWebACL -
wafv2:GetWebACLForResource -
wafv2:ListResourcesForWebACL -
bedrock-agentcore:GatewayAssociateWebACL -
bedrock-agentcore:GatewayDisassociateWebACL -
bedrock-agentcore:GatewayGetWebACLForResource -
bedrock-agentcore:GatewayListResourcesForWebACL
-
Mengaitkan ACL web dengan gateway Anda
Anda dapat mengaitkan ACL web dengan gateway menggunakan konsol AWS WAF atau CLI. AWS Satu gateway dapat memiliki paling banyak satu ACL web. Namun, satu ACL web dapat dikaitkan dengan beberapa gateway. Untuk mengubah ACL web yang terkait dengan gateway Anda, kaitkan ACL web baru. Asosiasi baru menggantikan yang sudah ada.
Untuk mengaitkan ACL web dengan gateway Anda menggunakan AWS CLI, jalankan perintah berikut:
aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:regional/webacl/my-web-acl/a1b2c3d4-5678-90ab-cdef-example11111 \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id
Ganti nilai ARN dengan ARN ACL web Anda dan gateway ARN.
Memisahkan ACL web dari gateway
Untuk menghapus perlindungan AWS WAF dari gateway Anda, lepaskan ACL web. Anda harus melepaskan ACL web apa pun dari gateway Anda sebelum Anda dapat menghapus gateway.
Untuk melepaskan ACL web dari gateway Anda dengan menggunakan AWS CLI, jalankan perintah berikut:
aws wafv2 disassociate-web-acl \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id
Ganti nilai ARN dengan ARN gateway Anda.
Mengonfigurasi AWS Mode kegagalan WAF
Jika AWS WAF tidak dapat dijangkau atau waktu habis selama evaluasi permintaan, gateway menggunakan mode kegagalan yang dikonfigurasi untuk menentukan apakah akan memblokir atau mengizinkan permintaan.
-
FAIL_CLOSE -
Gateway memblokir permintaan. Ini adalah perilaku default.
-
FAIL_OPEN -
Gateway memungkinkan permintaan melalui target tanpa evaluasi AWS WAF.
Untuk mengkonfigurasi mode kegagalan, gunakan UpdateGateway API dengan wafConfiguration parameter:
aws bedrock-agentcore-control update-gateway \ --gateway-identifier my-gateway-id \ --name my-gateway \ --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \ --authorizer-type CUSTOM_JWT \ --authorizer-configuration '{ "customJWTAuthorizer": { "discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/my-user-pool/.well-known/openid-configuration", "allowedClients": ["clientId"] } }' \ --waf-configuration '{"failureMode": "FAIL_OPEN"}'
penting
Mode kegagalan default adalahFAIL_CLOSE, yang menyediakan pendekatan keamanan pertama. Gunakan FAIL_OPEN hanya jika ketersediaan lebih penting daripada keamanan untuk beban kerja Anda.
AWS Penanganan respons WAF
Ketika AWS WAF memblokir permintaan, respons kesalahan tergantung pada jenis target Anda:
- Target MCP
-
Permintaan yang diblokir mengembalikan JSON-RPC kesalahan dengan kode
-32002dan pesan"Authorization error - Request forbidden". - HTTP dan target passthrough
-
Permintaan yang diblokir mengembalikan HTTP 403.
Jika AWS waktu WAF habis dengan FAIL_CLOSE konfigurasi, gateway mengembalikan kesalahan yang sama dengan permintaan yang diblokir. Jika AWS WAF mengembalikan kesalahan 5xx, target MCP menerima JSON-RPC kesalahan dengan kode -32603 dan pesan. "Internal error - Server error"
Memantau AWS Aktivitas WAF
Anda dapat memantau aktivitas AWS WAF untuk gateway Anda dengan menggunakan CloudWatch metrik Amazon.
Metrik berikut tersedia di AWS/Bedrock-AgentCore namespace:
| Metrik | Deskripsi |
|---|---|
|
|
Jumlah permintaan yang diblokir oleh AWS WAF, termasuk respons blok default dan kustom. |
|
|
Jumlah permintaan di mana AWS WAF tidak dapat dijangkau dan mode kegagalan gateway |
|
|
Jumlah permintaan di mana AWS WAF tidak dapat dijangkau dan mode kegagalan gateway adalah |
Untuk mendapatkan detail tingkat aturan tentang permintaan yang diblokir, gunakan pencatatan AWS WAF. Anda dapat menghubungkan ID permintaan di log gateway Anda dengan log AWS WAF.
Kuota dan Batasan
Kuota dan batasan berikut berlaku untuk integrasi AWS WAF dengan gateway Anda:
-
Maksimal 100 asosiasi ACL web per akun.
-
AWS Asosiasi WAF hanya pada tingkat gateway, bukan per target. Untuk menerapkan aturan yang berbeda ke target yang berbeda, gunakan aturan AWS WAF berbasis jalur URI.
-
AWS Integrasi WAF tersedia di Wil AWS ayah di mana AWS WAF dan AgentCore Gateway tersedia.
Praktik terbaik
Kami merekomendasikan praktik berikut saat menggunakan AWS WAF dengan gateway Anda:
-
Gunakan grup AWS aturan Aturan Terkelola untuk perlindungan umum terhadap ancaman yang diketahui.
-
Menerapkan aturan berbasis laju untuk melindungi dari serangan volumetrik.
-
Gunakan IP-based aturan untuk mengizinkan daftar atau menolak daftar sumber yang diketahui.
-
Uji aturan AWS WAF dalam
COUNTmode sebelum beralih keBLOCKuntuk memahami dampaknya pada lalu lintas Anda. -
Pantau
WafBlocks,WafFailOpens, danWafFailClosesmetrik untuk menyesuaikan aturan Anda dan mengidentifikasi masalah. -
Gunakan
FAIL_CLOSEmode default untuk beban kerja yang sensitif terhadap keamanan. GunakanFAIL_OPENhanya jika ketersediaan sangat penting dan Anda memiliki kontrol keamanan lainnya.