Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pernyataan aturan kecocokan geografis
Bagian ini menjelaskan apa itu pernyataan kecocokan geografis dan cara kerjanya.
Gunakan pernyataan kecocokan geografis atau geografis untuk mengelola permintaan web berdasarkan negara dan wilayah asal. Pernyataan geo match menambahkan label ke permintaan web yang menunjukkan negara asal dan wilayah asal. Ini menambahkan label ini terlepas dari apakah kriteria pernyataan cocok untuk permintaan. Pernyataan geo match juga melakukan pencocokan terhadap negara asal permintaan.
Cara menggunakan pernyataan geo match
Anda dapat menggunakan pernyataan geo match untuk pencocokan negara atau wilayah, sebagai berikut:
-
Negara — Anda dapat menggunakan aturan geo match dengan sendirinya untuk mengelola permintaan hanya berdasarkan negara asal mereka. Pernyataan aturan cocok dengan kode negara. Anda juga dapat mengikuti aturan geo match dengan aturan pencocokan label yang cocok dengan label negara asal.
-
Wilayah — Gunakan aturan pencocokan geografis diikuti dengan aturan pencocokan label untuk mengelola permintaan berdasarkan wilayah asalnya. Anda tidak dapat menggunakan aturan geo match saja untuk mencocokkan dengan kode wilayah.
Untuk informasi tentang penggunaan aturan pencocokan label, lihat Pernyataan aturan pencocokan label danMenggunakan label pada permintaan web di AWS WAF.
Cara kerja pernyataan geo match
Dengan pernyataan geo match, AWS WAF mengelola setiap permintaan web sebagai berikut:
-
Menentukan kode negara dan wilayah permintaan — AWS WAF menentukan negara dan wilayah permintaan berdasarkan alamat IP-nya. Secara default, AWS WAF menggunakan alamat IP asal permintaan web. Anda dapat menginstruksikan AWS WAF untuk menggunakan alamat IP dari header permintaan alternatif, seperti
X-Forwarded-For
, dengan mengaktifkan konfigurasi IP diteruskan dalam pengaturan pernyataan aturan.AWS WAF menentukan lokasi permintaan menggunakan database MaxMind GeoIP. MaxMind melaporkan akurasi data mereka yang sangat tinggi di tingkat negara, meskipun akurasi bervariasi sesuai dengan faktor-faktor seperti negara dan jenis IP. Untuk informasi selengkapnya MaxMind, lihat Geolokasi MaxMind IP
. Jika menurut Anda salah satu data GeoIP salah, Anda dapat mengirimkan permintaan koreksi ke Maxmind di MaxMind Correct Geo Data. IP2 AWS WAF menggunakan kode negara dan wilayah alfa-2 dari standar Organisasi Internasional untuk Standardisasi () ISO 3166. Anda dapat menemukan kode di lokasi berikut:
Di ISO situs web, Anda dapat mencari kode negara di Platform Penjelajahan ISO Online (OBP)
. Di Wikipedia, kode negara terdaftar di ISO3166-2
. Kode wilayah untuk suatu negara tercantum di URL
https://en.wikipedia.org/wiki/ISO_3166-2:
. Misalnya, wilayah untuk Amerika Serikat berada di ISO3166-2:AS dan untuk Ukraina mereka berada di 3166-2:UA<ISO country code>
. ISO
-
Menentukan label negara dan label wilayah untuk ditambahkan ke permintaan — Label menunjukkan apakah pernyataan geo match menggunakan IP asal atau konfigurasi IP yang diteruskan.
IP Asal
Label negara adalah
awswaf:clientip:geo:country:
. Contoh untuk Amerika Serikat:<ISO country code>
awswaf:clientip:geo:country:US
.Label wilayah adalah
awswaf:clientip:geo:region:
. Contoh untuk Oregon di Amerika Serikat:<ISO country code>
-<ISO region code>
awswaf:clientip:geo:region:US-OR
.IP yang diteruskan
Label negara adalah
awswaf:forwardedip:geo:country:
. Contoh untuk Amerika Serikat:<ISO country code>
awswaf:forwardedip:geo:country:US
.Label wilayah adalah
awswaf:forwardedip:geo:region:
. Contoh untuk Oregon di Amerika Serikat:<ISO country code>
-<ISO region code>
awswaf:forwardedip:geo:region:US-OR
.
Jika kode negara atau wilayah tidak tersedia untuk alamat IP yang ditentukan permintaan, AWS WAF digunakan
XX
dalam label, di tempat nilai. Misalnya, label berikut adalah untuk IP klien yang kode negaranya tidak tersedia:awswaf:clientip:geo:country:XX
dan berikut ini untuk IP yang diteruskan yang negaranya adalah Amerika Serikat, tetapi kode wilayahnya tidak tersedia:.awswaf:forwardedip:geo:region:US-XX
-
Mengevaluasi kode negara permintaan terhadap kriteria aturan
Pernyataan geo match menambahkan label negara dan wilayah ke semua permintaan yang diperiksa, terlepas dari apakah ia menemukan kecocokan.
catatan
AWS WAF menambahkan label apa pun di akhir evaluasi permintaan web aturan. Karena itu, setiap pencocokan label yang Anda gunakan terhadap label dari pernyataan geo match harus didefinisikan dalam aturan terpisah dari aturan yang berisi pernyataan geo match.
Jika Anda ingin memeriksa hanya nilai wilayah, Anda dapat menulis aturan kecocokan geografis dengan Count action dan dengan kecocokan kode negara tunggal, diikuti dengan aturan pencocokan label untuk label wilayah. Anda diminta untuk memberikan kode negara untuk aturan geo match untuk dievaluasi, bahkan untuk pendekatan ini. Anda dapat mengurangi metrik pencatatan dan penghitungan dengan menentukan negara yang sangat tidak mungkin menjadi sumber lalu lintas ke situs Anda.
CloudFront distribusi dan fitur pembatasan CloudFront geografis
Untuk CloudFront distribusi, jika Anda menggunakan fitur pembatasan CloudFront geografis, ketahuilah bahwa fitur tersebut tidak meneruskan permintaan yang diblokir ke AWS WAF. Itu meneruskan permintaan yang diizinkan ke AWS WAF. Jika Anda ingin memblokir permintaan berdasarkan geografi ditambah kriteria lain yang dapat Anda tentukan AWS WAF, gunakan AWS WAF pernyataan geo match dan jangan gunakan fitur pembatasan CloudFront geografis.
Karakteristik pernyataan aturan
Nestable - Anda dapat membuat sarang jenis pernyataan ini.
WCUs— 1WCU.
Pengaturan - Pernyataan ini menggunakan pengaturan berikut:
-
Kode negara — Array kode negara untuk dibandingkan untuk kecocokan geografis. Ini harus berupa kode negara dua karakter dari kode negara alfa-2 dari standar internasional ISO 3166, misalnya,. ISO
["US","CN"]
-
(Opsional) Konfigurasi IP yang diteruskan - Secara default, AWS WAF menggunakan alamat IP di asal permintaan web untuk menentukan negara asal. Atau, Anda dapat mengonfigurasi aturan untuk menggunakan IP yang diteruskan di HTTP header seperti
X-Forwarded-For
sebagai gantinya. AWS WAF menggunakan alamat IP pertama di header. Dengan konfigurasi ini, Anda juga menentukan perilaku fallback untuk diterapkan ke permintaan web dengan alamat IP cacat di header. Perilaku fallback menetapkan hasil pencocokan untuk permintaan, agar cocok atau tidak cocok. Untuk informasi selengkapnya, lihat Menggunakan alamat IP yang diteruskan.
Di mana menemukan pernyataan aturan ini
-
Pembuat aturan di konsol — Untuk opsi Permintaan, pilih Berasal dari negara di.
-
API – GeoMatchStatement
Contoh
Anda dapat menggunakan pernyataan geo match untuk mengelola permintaan dari negara atau wilayah tertentu. Misalnya, jika Anda ingin memblokir permintaan dari negara tertentu, tetapi masih mengizinkan permintaan dari kumpulan alamat IP tertentu di negara tersebut, Anda dapat membuat aturan dengan tindakan yang disetel ke Block dan pernyataan bersarang berikut, ditunjukkan dalam pseudocode:
-
AND pernyataan
-
Pernyataan geo match mencantumkan negara yang ingin Anda blokir
-
NOT pernyataan
-
IP set pernyataan yang menentukan alamat IP yang ingin Anda izinkan melalui
-
-
Atau, jika Anda ingin memblokir beberapa wilayah di negara tertentu, tetapi masih mengizinkan permintaan dari wilayah lain di negara tersebut, Anda dapat terlebih dahulu menentukan aturan geo match dengan tindakan yang disetel ke Count. Kemudian, tentukan aturan pencocokan label yang cocok dengan label kecocokan geografis yang ditambahkan dan tangani permintaan sesuai kebutuhan.
Kode semu berikut menjelaskan contoh pendekatan ini:
-
Pernyataan geo match mencantumkan negara dengan wilayah yang ingin Anda blokir, tetapi dengan tindakan yang disetel ke Hitung. Ini memberi label pada setiap permintaan web terlepas dari status kecocokan, dan ini juga memberi Anda metrik hitungan untuk negara yang diminati.
-
AND
pernyataan dengan tindakan Blokir-
Pernyataan pencocokan label yang menentukan label untuk negara yang ingin Anda blokir
-
Pernyataan
NOT
-
Pernyataan pencocokan label yang menentukan label wilayah di negara-negara yang ingin Anda izinkan
-
-
JSONDaftar berikut menunjukkan implementasi dari dua aturan yang dijelaskan dalam pseudocode sebelumnya. Aturan ini memblokir semua lalu lintas dari Amerika Serikat kecuali lalu lintas dari Oregon dan Washington. Pernyataan geo match menambahkan label negara dan wilayah ke semua permintaan yang diperiksa. Aturan pencocokan label berjalan setelah aturan kecocokan geografis, sehingga dapat cocok dengan label negara dan wilayah yang baru saja ditambahkan oleh aturan kecocokan geografis. Pernyataan geo match menggunakan alamat IP yang diteruskan, sehingga pencocokan label juga menentukan label IP yang diteruskan.
{ "Name": "geoMatchForLabels", "Priority": 10, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "X-Forwarded-For", "FallbackBehavior": "MATCH" } } }, "Action": { "Count": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "geoMatchForLabels" } }, { "Name": "blockUSButNotOROrWA", "Priority": 11, "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:forwardedip:geo:country:US" } }, { "NotStatement": { "Statement": { "OrStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:forwardedip:geo:region:US-OR" } }, { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:forwardedip:geo:region:US-WA" } } ] } } } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "blockUSButNotOROrWA" } }
Sebagai contoh lain, Anda dapat menggabungkan pencocokan geografis dengan aturan berbasis tarif untuk memprioritaskan sumber daya bagi pengguna di negara atau wilayah tertentu. Anda membuat pernyataan berbasis tarif yang berbeda untuk setiap pernyataan kecocokan geografis atau pencocokan label yang Anda gunakan untuk membedakan pengguna Anda. Tetapkan batas tarif yang lebih tinggi untuk pengguna di negara atau wilayah pilihan dan tetapkan batas tarif yang lebih rendah untuk pengguna lain.
JSONDaftar berikut menunjukkan aturan kecocokan geografis diikuti oleh aturan berbasis tarif yang membatasi tingkat lalu lintas dari Amerika Serikat. Aturan memungkinkan lalu lintas dari Oregon masuk pada tingkat yang lebih tinggi daripada lalu lintas dari tempat lain di negara ini.
{ "Name": "geoMatchForLabels", "Priority": 190, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ] } }, "Action": { "Count": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "geoMatchForLabels" } }, { "Name": "rateLimitOregon", "Priority": 195, "Statement": { "RateBasedStatement": { "Limit": 3000, "AggregateKeyType": "IP", "ScopeDownStatement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:clientip:geo:region:US-OR" } } } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "rateLimitOregon" } }, { "Name": "rateLimitUSNotOR", "Priority": 200, "Statement": { "RateBasedStatement": { "Limit": 100, "AggregateKeyType": "IP", "ScopeDownStatement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:clientip:geo:country:US" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:clientip:geo:region:US-OR" } } } } ] } } } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "rateLimitUSNotOR" } }