All Products
Search
Document Center

API Gateway:Plug-in datasets

Last Updated:Jun 21, 2026

Meskipun plug-in memperkaya fitur API Gateway dan meningkatkan fleksibilitas manajemen metadata, konfigurasi berbasis teksnya dapat menjadi hambatan dalam skenario berskala besar. Untuk mengatasi hal ini, kami memisahkan data konfigurasi dari logika plug-in dengan memperkenalkan plug-in datasets. Fitur ini memungkinkan Anda mengelola data konfigurasi sebagai objek terpisah, sehingga secara signifikan meningkatkan kegunaan dan skalabilitas sistem plug-in.

1. Keterbatasan plug-in berbasis teks

Plug-in API Gateway memiliki karakteristik berikut:

  • Konfigurasi berbasis teks.

  • Batas ukuran pada konfigurasi.

Keterbatasan ini menyulitkan penggunaan beberapa plug-in atau bahkan membuatnya tidak dapat digunakan dalam skenario tertentu. Sebagai contoh, plug-in kontrol akses berbasis alamat IP banyak digunakan. Kode berikut menunjukkan konfigurasi khas untuk plug-in ini:

---
type: ALLOW 
items: 
- blocks:
  - 61.3.XX.XX/24
  - 192.168.34.XX/32
  - 192.168.158.XX/32
  appId: 219810
- blocks:
  - 79.11.XX.XX
  - 85.13.XX.XX
  - 72.152.XX.XX

Konfigurasi ini berfungsi dengan baik untuk aplikasi kecil yang hanya memiliki beberapa Blok CIDR. Namun, untuk aplikasi berskala besar dengan puluhan hingga ratusan Blok CIDR, pendekatan ini memiliki dua kelemahan utama:

  • Manajemen rentan terhadap kesalahan. Untuk mengubah satu Blok CIDR saja, Anda harus memperbarui seluruh konfigurasi plug-in.

  • Dengan jumlah Blok CIDR yang besar, konfigurasi dapat melebihi batas ukuran plug-in.

Tantangan ini melekat pada model konfigurasi berbasis teks. Plug-in datasets mengatasi kedua masalah tersebut.

2. Memisahkan konfigurasi dengan plug-in datasets

Plug-in dataset memisahkan data konfigurasi dari plug-in itu sendiri. Anda dapat menyimpan data dalam objek dataset terpisah, lalu mereferensikannya dari dalam plug-in. Setiap perubahan pada objek dataset akan langsung berlaku secara real time untuk semua plug-in yang mereferensikannya.

Pada halaman konfigurasi plug-in, di area Script Configuration, pilih Whitelist Mode Configuration dari daftar drop-down Select Configuration Template. Editor akan menampilkan konfigurasi daftar putih alamat IP dalam format YAML, termasuk bidang seperti type: ALLOW dan items (yang berisi blocks untuk Blok CIDR dan appId). Di bawahnya, area Dataset menampilkan entri data dalam bentuk tabel dengan kolom Nilai, Deskripsi, Waktu Kedaluwarsa, Waktu Pembuatan, Waktu Modifikasi, dan Tindakan. Anda dapat menambahkan entri baru dengan mengklik Create Data Entry, atau mengklik Edit dan Delete untuk entri yang sudah ada.

Dengan menggunakan plug-in dataset, konfigurasi plug-in kontrol akses berbasis alamat IP dapat disederhanakan sebagai berikut:

---
type: ALLOW 
items: 
- blocksDatasetId: 87b65008e92541938537b1a4a236eda5
  appId: 219810
- blocksDatasetId: 87b65008e92541938537b1a4a236eda3

Mulai sekarang, Anda tidak perlu lagi memodifikasi plug-in itu sendiri. Untuk memperbarui kebijakan kontrol akses, cukup ubah entri data dalam plug-in datasets yang direferensikan.

Plug-in datasets dengan mudah mengatasi dua masalah yang disebutkan sebelumnya:

  • Dengan memisahkan data konfigurasi, ukuran dataset menjadi fleksibel dan tidak dibatasi oleh batas ukuran plug-in, sehingga memungkinkan pengelolaan set data dalam jumlah besar.

  • Anda dapat mengubah perilaku plug-in dengan melakukan perubahan terarah pada dataset. Misalnya, untuk menambahkan alamat IP ke daftar putih, cukup tambahkan entri data baru ke dataset alih-alih memodifikasi seluruh plug-in.

API Gateway saat ini mendukung plug-in datasets untuk plug-in autentikasi JWT. Dukungan akan diperluas ke plug-in lain di masa depan, termasuk kontrol akses berbasis alamat IP, kontrol akses berbasis parameter, dan routing backend.

3. Fitur plug-in datasets

Plug-in datasets memungkinkan modifikasi data konfigurasi plug-in secara dinamis dan memiliki karakteristik berikut:

  1. Perubahan pada entri data dalam dataset berlaku di semua instans khusus Anda dalam waktu sepuluh detik.

  2. Anda dapat membuat hingga 100 dataset, dan setiap dataset dapat berisi hingga 200 entri data. Jika memerlukan batas yang lebih tinggi, kirimkan tiket untuk meminta peningkatan kuota.

  3. Satu dataset dapat direferensikan oleh beberapa plug-in. Perubahan pada dataset berlaku secara simultan untuk semua plug-in yang mereferensikannya.

  4. Nilai entri data dalam satu dataset harus unik.

  5. Anda dapat mengatur waktu kedaluwarsa untuk setiap entri data. Entri tersebut akan secara otomatis tidak berlaku setelah kedaluwarsa. Anda juga dapat mengonfigurasi entri agar tidak pernah kedaluwarsa.

  6. Plug-in datasets hanya berlaku untuk kelompok pada instans khusus. Jika suatu kelompok dimigrasikan ke instans bersama, plug-in dataset akan langsung menjadi tidak valid.

4. Mengonfigurasi autentikasi JWT dengan plug-in datasets

4.1. Mengonfigurasi plug-in dataset

  • Buat dataset.

Tentukan nama dan pilih tipe untuk dataset tersebut. Anda dapat mengubah nama kapan saja, tetapi tipe tidak dapat diubah setelah dipilih. Untuk plug-in autentikasi JWT, pilih tipe JWT_BLOCKING.

  • Buat entri data dalam dataset.

Buka plug-in dataset untuk membuat entri data. Nilai setiap entri data harus unik dalam dataset tersebut. Anda dapat mengatur waktu kedaluwarsa untuk setiap entri. Entri dengan waktu kedaluwarsa akan secara otomatis tidak berlaku saat kedaluwarsa.

Nilai harus terdiri dari 1 hingga 64 karakter dan dapat berisi huruf, angka, titik (.), garis bawah (_), tanda hubung (-), garis miring (/), dan garis miring terbalik (\). Untuk waktu kedaluwarsa, Anda dapat memilih Short-term (yang mengharuskan Anda menentukan rentang tanggal) atau Long-term. Anda juga dapat menambahkan deskripsi hingga 180 karakter.

  • Dapatkan ID plug-in dataset.

Setelah membuat plug-in dataset, sistem akan menghasilkan ID untuknya. Anda dapat menemukan ID ini di halaman daftar dataset. ID ini merupakan kunci permanen yang menghubungkan plug-in ke dataset.

4.2. Mengonfigurasi plug-in autentikasi JWT

Plug-in autentikasi JWT di API Gateway kini mendukung plug-in datasets.

Kasus penggunaan umum untuk plug-in autentikasi JWT adalah memblokir permintaan dari pengguna yang memiliki token valid tetapi telah ditambahkan ke blacklist. Dengan integrasi plug-in datasets, plug-in autentikasi JWT dapat menolak permintaan berdasarkan parameter claim yang didekode dari token. API Gateway tidak hanya menolak permintaan yang memenuhi kondisi pemblokiran, tetapi juga memungkinkan Anda menyesuaikan tanggapan penolakan. Contoh berikut menunjukkan cara mengonfigurasi hal ini. Perhatikan khusus parameter yang diawali dengan block:

---
parameter: Authorization   # Parameter tempat token diperoleh.
parameterLocation: header  # Lokasi tempat token diperoleh.
claimParameters:           # Konversi parameter claim. Gerbang memetakan claim JWT ke parameter backend.
- claimName: aud           # Nama claim, yang dapat berupa publik atau privat.
  parameterName: X-Aud     # Nama parameter yang dipetakan.
  location: header         # Lokasi parameter yang dipetakan. Nilai yang valid: query, header, path, dan formData.
- claimName: userId        # Nama claim, yang dapat berupa publik atau privat.
  parameterName: userId    # Nama parameter yang dipetakan.
  location: query          # Lokasi parameter yang dipetakan. Nilai yang valid: query, header, path, dan formData.
blockClaimParameterName: userId  # Parameter claim yang nilainya dicek terhadap daftar blokir.
blockByDataSet: 87b65008e92541938537b1a4a236eda5  # ID plug-in dataset yang berisi daftar blokir.
blockStatusCode: 403       # Kode status tanggapan yang dikembalikan untuk permintaan yang ditolak.
blockResponseHeaders:      # Header tanggapan yang dikembalikan untuk permintaan yang ditolak.
  Content-Type: application/xml
blockResponseBody:         # Isi tanggapan yang dikembalikan untuk permintaan yang ditolak.
  <Reason>be blocked</Reason>
jwks:
- kid: O9fpdhrViq2zaaaBEWZITz         # Saat mengonfigurasi beberapa JWK, gunakan kid yang berbeda untuk masing-masing.
  kty: RSA
  e: AQAB
  use: sig
  alg: RS256
  n: qSVxcknOm0uCq5v....

5. Ringkasan

Pengenalan plug-in datasets menandai pergeseran dari konfigurasi berbasis teks ke model data terstruktur. Hal ini memungkinkan pembaruan panas parsial data dan meningkatkan batas volume data hingga satu orde besaran. Untuk kasus penggunaan berskala besar, API Gateway mendukung plug-in datasets dengan jutaan entri. Dengan menghilangkan batasan ukuran data, plug-in datasets membuka cara-cara baru dalam menggunakan plug-in API Gateway.

Plug-in datasets baru saja diluncurkan, dan API Gateway saat ini hanya mendukung fitur ini untuk plug-in autentikasi JWT. Di masa depan, dukungan akan diperluas ke plug-in lain, termasuk kontrol akses berbasis alamat IP, kontrol akses berbasis parameter, dan routing backend.