Menerapkan kebijakan API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Pengantar kebijakan API

Kebijakan API Management

  • 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
Azure API Management

Ringkasan kebijakan API Management

Kebijakan APIM

  • 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
Azure API Management

Contoh: kompatibilitas mundur

Kompatibilitas mundur melalui APIM

Azure API Management

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

Cakupan kebijakan

Azure API Management

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

Augmentasi data inbound

Validasi permintaan

Azure API Management

Keamanan dan throttling

Kebijakan inbound untuk keamanan

Menerapkan kuota permintaan

  • 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
Azure API Management

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)

Augmentasi data respons

Transformasi respons

  • Respons memenuhi ekspektasi klien, terlepas dari persiapan backend
Azure API Management

Ayo berlatih!

Azure API Management

Preparing Video For Download...