Penguraian konten isi POST

Halaman ini berisi informasi tentang cara mengonfigurasi penguraian konten isi POST, fitur opsional yang dapat digunakan dengan kebijakan keamanan Google Cloud Armor.

Secara default, Google Cloud Armor mengevaluasi seluruh konten isi POST sebagai string seragam (tunduk pada batasan ukuran tubuh) berdasarkan tanda tangan dalam aturan WAF yang telah dikonfigurasi sebelumnya. Untuk permintaan yang berisi encoding alternatif seperti JSON, komponen struktural pesan (tidak ditentukan oleh pengguna) dapat memicu kecocokan dengan tanda tangan WAF yang telah dikonfigurasi sebelumnya. Untuk menghindari derau dan mengurangi risiko positif palsu (PP), sebaiknya konfigurasikan Google Cloud Armor guna mengaktifkan penguraian alternatif untuk semua Jenis Konten yang didukung jika workload yang dilindungi melakukan hal berikut:

  • Menayangkan REST API
  • Menggunakan GraphQL
  • Menerima semua permintaan dengan konten berenkode 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.

Secara default, opsi ini dinonaktifkan. Sintaksis untuk flag tersebut 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 file, lalu mengimpor file tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengimpor kebijakan keamanan.

Menggunakan penguraian JSON

Pada 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 tanda --json-parsing ke STANDARD_WITH_GRAPHQL, seperti pada 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 akan dicatat ke dalam log melalui Cloud Logging. Log tersebut memberikan detail, seperti nama kebijakan keamanan yang diterapkan, aturan yang cocok, dan apakah aturan tersebut diterapkan. Logging permintaan untuk resource layanan backend baru dinonaktifkan 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 mengetahui informasi selengkapnya, lihat Logging dan pemantauan Load Balancer Aplikasi eksternal global.

Batasan

Pertimbangkan batasan berikut saat mengonfigurasi penguraian JSON:

  • Pemeriksaan 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 pertama konten yang digunakan dan diperiksa oleh setiap aturan WAF yang telah dikonfigurasi sebelumnya.
  • Jika parser JSON tidak menampilkan hasil, penguraian URI mungkin dicoba. Jika parser URI tidak menampilkan parameter nilai nama atau hanya parameter nilai nama sebagian, seluruh string atau sebagian mungkin akan diperlakukan sebagai nama parameter untuk pemeriksaan.

Langkah selanjutnya