Menerapkan kebijakan API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Pengantar kebijakan API
Seperti satpam: memeriksa siapa yang masuk
Seperti
rambu batas kecepatan
: mengatur arus lalu lintas
Lindungi API dengan memblokir pelaku bermasalah
Batasi permintaan agar sistem tidak kewalahan
Semua lalu lintas masuk/keluar API Gateway dikendalikan oleh kebijakan
Ringkasan kebijakan API Management
Kebijakan adalah serangkaian aturan kuat yang ditulis dalam XML sederhana
Anggap sebagai
pipeline permintaan-dan-respons
Anda dapat menyisipkan aturan di tahap berbeda untuk membentuk trafik
Keunggulannya: tidak perlu mengubah kode backend
Contoh: kompatibilitas mundur
Cakupan kebijakan
Kebijakan bisa bersifat global dan mencakup organisasi
Aturan ini mengendalikan semua API
Dapat diterapkan ke API tertentu
Memungkinkan kita mengelola produk spesifik
Dapat diterapkan ke endpoint tertentu
Untuk kontrol yang lebih rinci
Kebijakan inbound
Saat permintaan masuk, APIM terlebih dulu mengevaluasi kebijakan
inbound
Contoh: membuat versi aplikasi lama kompatibel dengan API baru dengan menambah data payload
Kebijakan inbound dapat melindungi dari upaya berbahaya
Mereka mendeteksi permintaan rusak atau data yang hilang
Penjagaan awal ini mencegah data buruk mencapai layanan
Keamanan dan throttling
Ini menahan klien berlebihan, memastikan pemakaian adil dan melindungi backend
Kebijakan inbound juga bertanggung jawab atas
keamanan
Kebijakan umum: validasi JWT (JSON Web Token)
Anggap JWT sebagai kartu identitas digital dari klien
Kebijakan validate-jwt memeriksa keabsahan, kedaluwarsa, dan penerbit tepercaya (mis. Entra ID)
Untuk kontrol lebih kuat: kebijakan rate-limiting dan kuota
Kebijakan outbound
Setelah backend memproses,
kebijakan outbound
menyesuaikan respons sebelum dikembalikan
Ibarat restoran: permintaan -> dapur (backend) -> meja plating (kebijakan outbound)
Kebijakan outbound dapat:
Menghapus bagian tak perlu (mis. header sensitif)
Menambah instruksi (mis. direktif caching)
Mengubah format (mis. konversi XML ke JSON)
Respons memenuhi ekspektasi klien, terlepas dari persiapan backend
Ayo berlatih!
Azure API Management
Preparing Video For Download...