Halaman ini berisi informasi tentang cara mengonfigurasi penguraian konten isi POST, yaitu fitur opsional yang dapat Anda gunakan dengan kebijakan keamanan Google Cloud Armor.
Secara default, Google Cloud Armor mengevaluasi konten lengkap isi POST sebagai string seragam (tunduk pada batasan ukuran isi) terhadap tanda tangan dalam aturan WAF yang telah dikonfigurasi sebelumnya. Untuk permintaan yang berisi encoding alternatif seperti JSON, komponen struktural pesan (bukan yang ditentukan pengguna) dapat memicu kecocokan dengan tanda tangan WAF yang telah dikonfigurasi sebelumnya. Untuk menghindari derau dan mengurangi risiko positif palsu, sebaiknya konfigurasikan Google Cloud Armor untuk mengaktifkan penguraian alternatif untuk Content-Type apa pun yang didukung jika workload yang dilindungi melakukan hal berikut:
- Menayangkan REST API
- Menggunakan GraphQL
- Menerima permintaan apa pun dengan konten yang dienkode JSON.
Anda dapat mengaktifkan atau menonaktifkan penguraian konten isi JSON permintaan POST untuk setiap kebijakan keamanan. Jika header Content-Type
ditetapkan ke application/json
, gunakan flag --json-parsing
di Google Cloud CLI.
Secara default, opsi ini dinonaktifkan. Sintaksis untuk flag adalah sebagai berikut:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
Flag ini hanya tersedia dengan gcloud compute security-policies update
. Anda
tidak dapat membuat kebijakan keamanan baru dengan opsi ini kecuali jika Anda membuat
kebijakan keamanan dalam file, lalu mengimpor file tersebut. Untuk mengetahui informasi selengkapnya, lihat
Mengimpor kebijakan keamanan.
Menggunakan penguraian JSON
Dalam contoh berikut, Anda mengonfigurasi daftar nilai header Content-Type
kustom
yang menerapkan 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 menetapkan
flag --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 kebijakan keamanan Google Cloud Armor dicatat ke dalam log melalui Cloud Logging. Log memberikan detail, seperti nama kebijakan keamanan yang diterapkan, aturan yang cocok, dan apakah aturan tersebut diterapkan. Permintaan logging untuk resource layanan backend baru dinonaktifkan secara default. Untuk memastikan permintaan Google Cloud Armor dicatat ke dalam log, Anda harus mengaktifkan logging HTTP(S) untuk setiap layanan backend yang dilindungi oleh kebijakan keamanan. Untuk mengetahui informasi selengkapnya, lihat Logging dan pemantauan Load Balancer Aplikasi eksternal global.
Batasan
Pertimbangkan batasan berikut saat mengonfigurasi penguraian JSON:
- Inspeksi isi POST dibatasi hingga 8 KB pertama. Jika konten JSON lebih besar dari 8 KB, Google Cloud Armor akan menerapkan penguraian JSON ke 8 KB konten pertama yang digunakan dan diperiksa oleh aturan WAF yang telah dikonfigurasi sebelumnya.
- Jika pengurai JSON tidak menampilkan hasil, penguraian URI mungkin akan dicoba. Jika parser URI tidak menampilkan parameter nilai nama atau hanya parameter nilai nama sebagian, seluruh atau sebagian string dapat diperlakukan sebagai nama parameter untuk pemeriksaan.
Langkah selanjutnya
- Mengonfigurasi kebijakan keamanan Google Cloud Armor.
- Pelajari lebih lanjut logging permintaan.