All Products
Search
Document Center

Edge Security Acceleration:Validasi kepatuhan token API

Last Updated:Oct 31, 2025

Buat aturan validasi token API dengan mengonfigurasi kebijakan validasi JSON Web Token (JWT) dan menerapkannya pada API yang dikelola. ESA kemudian akan memvalidasi permintaan masuk terhadap token-token ini untuk mengamankan API bisnis Anda.

Konfigurasikan aturan token API

  1. Di Konsol ESA, pergi ke Websites. Di kolom Website, klik situs web target.

  2. Di panel navigasi kiri, pergi ke Security > API Security.

  3. Di halaman API Security, klik tab API Rules, lalu klik Token Configuration.image

  4. Klik Add untuk menambahkan konfigurasi token.image

  5. Konfigurasikan parameter token sesuai kebutuhan, lalu klik OK:

    • Name: Masukkan nama kustom untuk token, seperti JWT-Demo.

    • Token Location: Pilih lokasi token dalam permintaan. Pilih Header atau Cookie, lalu masukkan kunci.

      Catatan

      Untuk memeriksa token di lokasi berbeda, Anda dapat mengklik Or untuk membuat kondisi logika OR. Anda dapat memeriksa hingga empat lokasi token secara bersamaan.

    • Token Key: Masukkan kunci token secara manual atau unggah file JSON. Untuk informasi lebih lanjut tentang persyaratan kunci, lihat Detail Token.

      Catatan

      Jika Anda mengonfigurasi beberapa kunci, ESA menggunakan bidang kid untuk memilih kunci untuk validasi. Permintaan dianggap valid jika divalidasi oleh salah satu kunci.

    image

  6. Setelah Anda mengonfigurasi token, buat aturan API. Kembali ke tab API Rules dan klik Add Rule.image

  7. Konfigurasikan parameter validasi token sesuai kebutuhan:

    • Rule Name: Masukkan nama aturan, seperti rule-jwt-demo.

    • Validate API: Dari daftar drop-down, pilih hostname yang menyediakan API yang ingin Anda validasi. ESA akan secara otomatis menampilkan daftar API yang dikelola di bawah hostname tersebut. Pilih API target dari daftar.

    • Select Token Configuration: Pilih satu atau lebih token untuk divalidasi. Jika Anda memilih beberapa token, pilih salah satu opsi berikut:

      • Validate at least one: Permintaan harus cocok dengan setidaknya satu konfigurasi token yang dipilih. Jika tidak, permintaan ditandai sebagai tidak sesuai.

      • Validate all: Permintaan harus cocok dengan semua konfigurasi token yang dipilih. Jika tidak, permintaan ditandai sebagai tidak sesuai.

        Catatan

        Secara default, permintaan ditandai sebagai tidak sesuai jika token hilang. Untuk mengubah perilaku ini, Anda dapat memilih Ignore dari daftar drop-down di kolom If No Token.

    • Action: Pilih tindakan untuk permintaan yang gagal validasi token:

      • Monotor: Mengizinkan permintaan yang tidak sesuai dan mencatat log. Untuk informasi lebih lanjut, lihat Event.

      • Block: Memblokir permintaan yang tidak sesuai dan mencatat log blokir. Untuk informasi lebih lanjut, lihat Event.

    image

Verifikasi hasil

Setelah Anda membuat aturan API, di panel navigasi kiri, pilih Security > Events. Di halaman Event, gunakan filter untuk mengatur aturan perlindungan menjadi API Rule. Gulir ke bawah untuk melihat log mitigasi rinci di bagian Sampling Logs.

Detail Token

Validasi token saat ini hanya tersedia untuk JWT.

Deskripsi Bidang

Kunci publik harus dalam format JSON Web Key (JWK). Kunci publik JWK harus berisi bidang kid dan alg. Bidang-bidang tersebut dijelaskan sebagai berikut:

  • kty: Jenis kunci, seperti EC untuk Elliptic Curve.

  • use: Penggunaan yang dimaksudkan dari kunci publik, seperti sig untuk tanda tangan digital.

  • crv: Jenis kurva eliptik, seperti P-256 untuk kurva standar NIST P-256.

  • kid: Pengenal kunci kustom, seperti esa. JWK harus mencakup bidang kid untuk memungkinkan pemilihan kunci. Klaim JWT dalam permintaan juga harus mencakup bidang kid. Bidang ini digunakan untuk rotasi kunci token.

  • x: Koordinat x dari kunci publik kurva eliptik.

  • y: Koordinat y dari kunci publik kurva eliptik.

  • alg: Pengenal algoritma. Saat ini hanya mendukung ES256, yaitu algoritma tanda tangan ECDSA dengan SHA-256.

Contoh

{
  "kty": "EC",
  "use": "sig",
  "crv": "P-256",
  "kid": "esa",
  "x": "QG3VFVwUX4IatQvBy7sqBvvmticCZ-eX5-nbtGKBOfI",
  "y": "A3PXCshn7XcG7Ivvd2K_DerW4LHAlIVKdqhrUnczTD0",
  "alg": "ES256"
}

FAQ

Apa itu JWT?

JWT adalah standar terbuka (RFC 7519) yang mendefinisikan metode ringkas dan mandiri untuk mentransmisikan informasi secara aman antara pihak-pihak sebagai objek JSON. JWT berfungsi sebagai token verifikasi identitas mandiri, berisi informasi seperti identitas pengguna, peran, dan izin untuk pengambilan sumber daya dari server. Klaim tambahan yang diperlukan untuk logika bisnis tertentu dapat disertakan. JWT sangat berguna untuk skenario login di situs terdistribusi.

JWT terdiri dari tiga bagian: Header, Payload, dan Signature. Setiap bagian di-enkode Base64, dan bagian-bagian tersebut digabungkan untuk membentuk string dalam format Header.Payload.Signature:

  • Header: Mendeklarasikan jenis token (JWT) dan algoritma penandatanganan.

  • Payload: Berisi klaim, yaitu pernyataan tentang entitas (seperti pengguna) dan data tambahan. Bidang kustom dapat ditambahkan sesuai kebutuhan sistem.

  • Signature: Digunakan untuk memverifikasi identitas pengirim JWT dan memastikan pesan tidak diubah selama transmisi.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

Bagaimana cara menghasilkan JWT?

Hasilkan kunci privat dan publik untuk pembuatan dan validasi token di https://mkjwk.org:

  1. Di browser, pergi ke https://mkjwk.org.

  2. Klik tab EC, konfigurasikan parameter, lalu klik Generate. Di bagian Public Key, klik Copy to Clipboard untuk menyalin kunci publik.

    • Curve: Pilih P-256.

    • Key Use: Pilih Signature.

    • Algorithm: Pilih ES256: ECDSA menggunakan P-256 dan SHA-256.

    • Key ID: Masukkan pengenal kunci kustom, seperti esa.

    • image