Setiap kunci API dapat memiliki daftar izin IP sendiri, sehingga hanya request dari IP sumber yang ditentukan yang dapat menggunakan kunci tersebut.
Kapan sebaiknya digunakan
Fitur ini cocok untuk deployment server production dengan IP outbound tetap. Jika aplikasi mengirim request dari jaringan rumah, jaringan seluler, atau alamat yang berubah-ubah, pastikan IP outbound stabil terlebih dahulu agar Anda tidak mengunci diri sendiri.
Cara mengatur
Buka /keys , buka menu "⋯" pada kunci yang dipilih, pilih "Daftar izin IP", masukkan entri, lalu simpan.
Anda juga dapat menggunakan PATCH /api/v1/keys/:id dengan session yang sudah login atau Management API key:
1
2
3
4
5
6
7
8
9
10
11
12
13
PATCH https://api.bazaarlink.ai/v1/keys/KEY_ID
Authorization: Bearer sk-bl-YOUR_MANAGEMENT_KEY
Content-Type: application/json
{
"allowedCidrs": [
"203.0.113.7",
"198.51.100.0/24"
]
}
# Clear the allowlist and return to unrestricted access
{"allowedCidrs": []}
Format entri
Di UI, masukkan satu nilai per baris. Di API, kirim nilai yang sama dalam array `allowedCidrs`. Format yang diterima adalah IPv4 polos, IPv4 CIDR, atau literal IPv6 (hanya pencocokan persis).
1
2
3
203.0.113.7
198.51.100.0/24
2001:db8::1
Perilaku
Kosongkan (kirim array [] kosong) untuk tidak membatasi IP sumber. Ini adalah nilai default, sehingga perilaku kunci yang sudah ada tetap sama.
IP sumber diambil dari header `cf-connecting-ip`.
Jika daftar tidak kosong tetapi IP sumber tidak dapat ditentukan, request akan ditolak (fail-closed).
⚠️ Penting: penolakan hanya mengembalikan 401 umum
Request dari luar daftar, atau request yang IP sumbernya tidak dapat ditentukan, menerima HTTP 401 umum yang sama persis seperti kunci tidak valid tanpa pesan error khusus. Ini adalah desain keamanan yang disengaja agar orang yang mendapatkan kunci tidak tahu bahwa daftar izin ada. Konsekuensinya, konfigurasi yang salah terlihat persis seperti kunci tidak valid dan sangat sulit di-debug. Sebelum menyimpan, pastikan IP outbound server Anda sudah ada di dalam daftar.
⚠️ Penting: IPv6 hanya mendukung pencocokan string persis
IPv6 tidak menggunakan perhitungan subnet; string alamat harus sama persis. Jika alamat IPv6 Anda berubah, Anda dapat terkunci di luar. Rentang CIDR /0–/32 hanya didukung untuk IPv4.
Kapan perubahan berlaku
Setelah PATCH atau penyimpanan UI berhasil, instance yang melakukan update langsung menghapus cache-nya. Dalam kondisi normal, instance lain tersinkron paling lambat sekitar 15 detik. Jika Redis bersama sedang tidak tersedia, invalidasi antar-instance tidak dapat tersebar segera dan dapat tertunda hingga TTL cache satu jam.
Support
Hi! How can we help you? Send a message and we'll get back to you soon.