Halaman ini berisi informasi tentang cara mengonfigurasi penguraian konten isi POST, serta fitur opsional yang dapat Anda gunakan dengan keamanan Google Cloud Armor kebijakan izin yang relevan.
Secara default, Google Cloud Armor mengevaluasi seluruh konten dari isi POST sebagai string seragam (tunduk kepada batasan ukuran tubuh) terhadap tanda tangan dalam aturan WAF yang telah Anda konfigurasi sebelumnya. Untuk permintaan yang berisi encoding alternatif seperti JSON, komponen struktural pesan (tidak ditentukan oleh pengguna) dapat memicu kecocokan terhadap WAF yang telah dikonfigurasi sebelumnya tanda tangan. Untuk menghindari derau dan mengurangi risiko positif palsu, sebaiknya Anda mengonfigurasi Google Cloud Armor untuk mengaktifkan penguraian alternatif untuk Content-Type yang didukung jika workload Anda yang dilindungi melakukan hal berikut:
- Menyajikan REST API
- Menggunakan GraphQL
- Menerima semua permintaan dengan konten yang dienkode JSON.
Anda dapat mengaktifkan atau menonaktifkan penguraian konten isi JSON dari permintaan POST untuk
setiap kebijakan keamanan. Saat header Content-Type
ditetapkan ke
application/json
, gunakan flag --json-parsing
di Google Cloud CLI.
Opsi ini dinonaktifkan secara default. Sintaksis untuk tanda adalah sebagai berikut:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
Tanda ini hanya tersedia dengan gcloud compute security-policies update
. Anda
tidak dapat membuat kebijakan keamanan baru dengan opsi ini kecuali Anda membuat
kebijakan keamanan dalam sebuah file dan
kemudian mengimpor file itu. Untuk informasi selengkapnya, lihat
Mengimpor kebijakan keamanan.
Menggunakan penguraian JSON
Pada contoh berikut, Anda mengonfigurasi daftar header Content-Type
kustom
nilai untuk penerapan penguraian alternatif. Contoh ini memperbarui
kebijakan keamanan POLICY_NAME untuk mengaktifkan penguraian JSON, dan menentukan
jenis konten application/json
, application/vnd.api+json
,
application/vnd.collection+json
, dan application/vnd.hyper+json
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD \ --json-custom-content-types "application/json,application/vnd.api+json,application/vnd.collection+json,application/vnd.hyper+json"
Menggunakan penguraian GraphQL
Untuk mengonfigurasi penguraian GraphQL, perbarui kebijakan keamanan Anda untuk menyetel
--json-parsing
ke STANDARD_WITH_GRAPHQL
, seperti dalam contoh berikut:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD_WITH_GRAPHQL
Logging
Setiap permintaan HTTP(S) yang dievaluasi berdasarkan keamanan Google Cloud Armor kebijakan ini dicatat melalui Cloud Logging. Log tersebut memberikan detail, seperti nama kebijakan keamanan yang diterapkan, aturan yang cocok, dan apakah aturan tersebut diberlakukan. Logging permintaan untuk resource layanan backend baru dinonaktifkan oleh secara default. Untuk memastikan bahwa permintaan Google Cloud Armor dicatat, Anda harus mengaktifkan logging HTTP(S) untuk setiap layanan backend yang dilindungi oleh kebijakan keamanan. Untuk informasi selengkapnya, lihat Logging dan pemantauan Load Balancer Aplikasi eksternal global.
Batasan
Pertimbangkan batasan berikut saat mengonfigurasi penguraian JSON:
- Pemeriksaan isi POST terbatas pada 8 KB pertama. Jika JSON konten lebih besar dari 8 KB, maka Google Cloud Armor berlaku Penguraian JSON ke 8 KB konten pertama yang digunakan dan diperiksa oleh aturan WAF yang telah dikonfigurasi sebelumnya.
- Jika parser JSON tidak menampilkan hasil, penguraian URI mungkin akan dicoba. Jika Parser URI tidak menampilkan parameter nilai nama atau hanya menampilkan sebagian parameter nilai-nama, keseluruhan atau sebagian string mungkin diperlakukan sebagai nama parameter yang diminta.
Langkah selanjutnya
- Konfigurasikan kebijakan keamanan Google Cloud Armor.
- Pelajari logging permintaan lebih lanjut.