All Products
Search
Document Center

API Gateway:Plugin kontrol akses IP

Last Updated:Jun 22, 2026

Plugin kontrol akses berbasis alamat IP dari API Gateway mengontrol akses ke API Anda berdasarkan alamat IP sumber atau rentang alamat IP pemanggil. Anda dapat mengonfigurasi daftar putih atau blacklist untuk suatu API guna mengizinkan atau menolak permintaan dari sumber tertentu.

1. Ikhtisar

Anda dapat menggunakan daftar putih atau blacklist:

  • Daftar putih: Anda dapat mengonfigurasi daftar putih berdasarkan alamat IP atau kombinasi appId dan alamat IP. API Gateway menolak permintaan dari sumber yang tidak tercantum dalam daftar putih.

    • Daftar putih IP: Hanya permintaan dari alamat IP sumber yang ditentukan yang diizinkan.

    • Jika appId dikonfigurasi, aturan ini hanya berlaku untuk aplikasi tersebut, sehingga aplikasi tersebut hanya dapat mengakses API dari alamat IP yang ditentukan tanpa memengaruhi aplikasi lain yang telah diotorisasi.

  • Blacklist: Anda dapat mengonfigurasi blacklist IP. API Gateway menolak semua permintaan dari alamat IP yang tercantum dalam blacklist.

Penting

Plugin kontrol akses berbasis alamat IP mendukung alamat IPv4 dan IPv6.

2. Konfigurasi plugin

Anda dapat menggunakan format JSON atau YAML untuk mengonfigurasi plugin. Skema kedua format tersebut identik. Untuk mengonversi antar format, Anda dapat menggunakan alat konversi yaml to json. Tabel berikut menyediakan templat dalam format YAML.

---
type: ALLOW           # Mode kontrol. Nilai yang valid: ALLOW (untuk daftar putih) dan REFUSE (untuk blacklist).
resource: "XFF:-1"   # Opsional. Jika parameter ini ditentukan, alamat IP dari header X-Forwarded-For digunakan sebagai IP sumber klien untuk evaluasi. Contoh ini menggunakan alamat IP terakhir dalam header.
items: 
- blocks:         # Rentang alamat IP.
  - 61.3.XX.XX/24
  appId: 219810   # Opsional. Jika ditentukan, entri ini hanya berlaku untuk appId ini.
- blocks:         # Alamat IP.
  - 79.11.XX.XX
- blocks:         # VPC pengguna.
  - 192.168.XX.XX/32    # Ini berlaku untuk dedicated instance. Untuk permintaan yang dikirim dari VPC pengguna ke API Gateway, alamat IP sumber yang dideteksi API Gateway berada dalam rentang alamat ini.

Untuk dedicated instance, API Gateway mengizinkan permintaan dari dalam VPC pengguna. Dalam kasus ini, API Gateway dapat langsung membaca alamat IP sumber dari dalam VPC, seperti 192.168.XX.XX. Anda dapat langsung menggunakan alamat internal VPC ini saat mengonfigurasi daftar putih atau blacklist.

3. Menangani permintaan yang diteruskan oleh WAF

Jika layanan middleware seperti Web Application Firewall (WAF) ditempatkan sebelum API Gateway, gunakan bidang resource untuk menerapkan penyaringan IP tingkat API. Bidang ini bersifat opsional. Jika tidak ditentukan, alamat IP hop sebelumnya digunakan untuk evaluasi. Jika ditentukan, nilai dari header X-Forwarded-For digunakan sebagai dasar evaluasi IP.

Catatan

WAF menambahkan alamat IP sumber dari permintaan yang diterimanya ke akhir header X-Forwarded-For, lalu meneruskan permintaan tersebut ke API Gateway. API Gateway kemudian dapat mengidentifikasi alamat IP sumber dengan memeriksa nilai dalam header X-Forwarded-For. Dalam kasus ini, kami merekomendasikan penggunaan "XFF:-1" untuk mengidentifikasi alamat IP dari hop tepat sebelum WAF.

Parameter resource harus dalam format XFF:index. index menentukan posisi alamat IP dalam header X-Forwarded-For. Indeks dimulai dari nol dan dapat bernilai negatif. Misalnya, jika nilai X-Forwarded-For adalah IP1,IP2,IP3, indeks 0 memilih IP1, sedangkan indeks -1 memilih IP3, yaitu alamat IP terakhir.

4. Akses lintas-VPC

Dalam skenario akses lintas-VPC, API Gateway dapat langsung membaca alamat IP sumber dari VPC asal. Oleh karena itu, Anda dapat langsung menggunakan alamat IP internal VPC dalam plugin kontrol akses berbasis alamat IP. API Gateway juga dapat membaca ID VPC sumber, sehingga Anda dapat menggunakan plugin kontrol akses berbasis parameter untuk mengizinkan akses hanya dari VPC tertentu.

5. Trafik gabungan WAF dan lintas-VPC

Jika API Anda melayani trafik publik (yang dirutekan melalui WAF) dan trafik internal, Anda dapat menggunakan bidang resource dan allowResourceMissing untuk mengelola kedua skenario tersebut. Tetapkan bidang resource untuk mengambil IP klien dari header X-Forwarded-For untuk trafik WAF. Lalu, tetapkan allowResourceMissing ke true. Hal ini memungkinkan API Gateway menggunakan IP hop sebelumnya sebagai fallback untuk trafik internal yang tidak memiliki header X-Forwarded-For.

---
type: ALLOW           # Mode kontrol. Nilai yang valid: ALLOW (untuk daftar putih) dan REFUSE (untuk blacklist).
resource: "XFF:-1"   # Opsional. Jika parameter ini ditentukan, alamat IP dari header X-Forwarded-For digunakan sebagai IP sumber klien untuk evaluasi. Contoh ini menggunakan alamat IP terakhir dalam header.
allowResourceMissing: "true"  # Mengizinkan resource tidak tersedia. Jika tidak tersedia, alamat IP hop sebelumnya digunakan untuk evaluasi.
items: 
- blocks:         # Rentang alamat IP.
  - 61.3.XX.XX/24   # Tentukan Blok CIDR.
  appId: 219810   # Opsional. Jika ditentukan, entri ini hanya berlaku untuk appId ini.
- blocks:         # Alamat IP.
  - 79.11.XX.XX    # Tentukan alamat IP.
- blocks:         # VPC pengguna.
  - 192.168.XX.XX/32    # Ini berlaku untuk dedicated instance. Untuk permintaan yang dikirim dari VPC pengguna ke API Gateway, alamat IP sumber yang dideteksi API Gateway berada dalam rentang alamat ini.

6. Menggunakan set data plugin

Untuk informasi lebih lanjut tentang cara mengonfigurasi plugin, lihat plugin kontrol akses berbasis alamat IP.

6.1. Membuat set data plugin

  1. Masuk ke Konsol API Gateway dan pilih wilayah. Di panel navigasi sebelah kiri, pilih Manage APIs > > Plug-ins.

  2. Pada halaman Plug-in List, klik tab Plug-in Datasets. Di pojok kanan atas tab tersebut, klik Create Dataset. Pada kotak dialog yang muncul, masukkan Name untuk set data tersebut dan pilih IP_WHITELIST_CIDR dari daftar drop-down Type.

  3. Klik ID set data target untuk membuka halaman detailnya. Klik Create Dataset Entry. Pada kotak dialog yang muncul, masukkan Data Value (alamat IP atau Blok CIDR) dan tentukan Validity Period. Entri data akan kedaluwarsa secara otomatis.

    Untuk Validity Period, Anda dapat memilih Short-term (dengan menentukan tanggal kedaluwarsa) atau Long-term. Anda juga dapat secara opsional memasukkan Description.

Penting

Set data plugin hanya berlaku pada dedicated instance. Jika plugin yang menggunakan set data diikat ke API yang tidak berada pada dedicated instance, konfigurasi set data tidak akan berlaku.

6.2. Mengonfigurasi plugin dengan set data

Untuk menggunakan set data plugin dalam plugin kontrol akses berbasis alamat IP, tambahkan bidang blocksDatasetId ke suatu item dalam larik items. Bidang blocksDatasetId dan blocks kompatibel. Dalam setiap item, Anda dapat menggunakan blocksDatasetId dan blocks secara bersamaan atau terpisah.

---
type: ALLOW 
items: 
- blocksDatasetId: 87b65008e92541938537b1a4a236eda5
  appId: 219810
- blocksDatasetId: 87b65008e92541938537b1a4a236eda3
  blocks:
  - 127.0.XX.XX
  - 192.168.XX.XX/24