Tutorial: Mentransformasikan dan memproteksi API Anda

BERLAKU UNTUK: Semua tingkatAN API Management

Dalam tutorial ini, Anda akan mempelajari konfigurasi kebijakan umum untuk mengubah API Anda. Anda mungkin ingin mengubah API Anda agar tidak mengungkapkan informasi backend privat. Mengubah API dapat membantu Anda menyembunyikan informasi tumpukan teknologi yang berjalan di backend, atau menyembunyikan URL asli yang muncul dalam isi respons HTTP API.

Tutorial ini juga menjelaskan cara menambahkan perlindungan ke API backend Anda dengan mengonfigurasi kebijakan batas tarif, sehingga API tidak digunakan secara berlebihan oleh pengembang. Untuk opsi kebijakan lainnya, lihat kebijakan API Management.

Catatan

Secara default, API Management mengonfigurasi kebijakan forward-request global. Kebijakan forward-request diperlukan agar gateway menyelesaikan permintaan ke layanan backend.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Mentransformasikan API menjadi header respons strip
  • Mengganti URL asli dalam isi respon API dengan URL gateway API Management
  • Proteksi API dengan menambahkan kebijakan rate limit (pembatasan)
  • Menguji transformasi

Kebijakan di portal

Prasyarat

Membuka instans API Management Anda

  1. Di portal Microsoft Azure, cari dan pilih layanan API Management.

    Pilih layanan API Management

  2. Di halaman layanan API Management, pilih instans API Management Anda.

    Pilih instans API Management Anda

Mentransformasikan API menjadi header respons strip

Bagian ini menunjukkan cara menyembunyikan header HTTP yang tidak ingin Anda perlihatkan kepada pengguna Anda. Misalnya, hapus header berikut dalam respons HTTP:

  • X-Powered-By
  • X-AspNet-Version

Menguji respons asli

Untuk melihat respons asli:

  1. Di instans layanan API Management Anda, pilih API.
  2. Pilih Demo Conference API dari daftar API Anda.
  3. Pilih tab Uji, di bagian atas layar.
  4. Pilih operasi GetSpeakers, lalu pilih Kirim.

Respons API asli akan terlihat serupa dengan respons berikut:

Respons API asli

Seperti yang Anda lihat, respons menyertakan header X-AspNet-Version dan X-Powered-By.

Mengatur kebijakan transformasi

Contoh ini menunjukkan cara menggunakan editor kebijakan berbasis formulir yang membantu Anda mengonfigurasi banyak kebijakan tanpa harus mengedit pernyataan XML kebijakan secara langsung.

  1. Pilih Demo Conference API>Desain>Semua fungsi.

  2. Pada bagian Pemrosesan keluar, pilih + Tambahkan kebijakan.

    Arahkan ke kebijakan keluar

  3. Di jendela Tambahkan kebijakan keluar, pilih Atur header.

    Mengatur kebijakan header HTTP

  4. Untuk mengonfigurasi kebijakan header yang ditetapkan, lakukan hal berikut:

    1. Pada bagian Nama, masukkan X-Powered-By. Pada bagian Tindakan, pilih hapus.
    2. Pilih + Tambahkan header.
    3. Pada bagian Nama, masukkan X-AspNet-Version. Pada bagian Tindakan, pilih hapus.

    Mengatur header HTTP

  5. Pilih Simpan. Dua elemen kebijakan set-header muncul di bagian Pemrosesan keluar.

Mengganti URL asli dalam isi respon API dengan URL gateway API Management

Bagian ini menunjukkan cara mengganti URL asli yang muncul di isi respons HTTP API dengan URL gateway API Management. Anda mungkin ingin menyembunyikan URL backend asli dari pengguna.

Menguji respons asli

Untuk melihat respons asli:

  1. Pilih Demo Conference API>Uji.

  2. Pilih operasi GetSpeakers, lalu pilih Kirim.

    Seperti yang Anda lihat, respons mencakup URL backend asli:

    URL asli sebagai respons

Mengatur kebijakan transformasi

Dalam contoh ini, Anda menggunakan editor kode kebijakan untuk menambahkan cuplikan XML kebijakan secara langsung ke definisi kebijakan.

  1. Pilih Demo Conference API>Desain>Semua fungsi.

  2. Di bagian Pemrosesan keluar, pilih ikon editor kode (</>).

    Menavigasi ke editor kode kebijakan keluar

  3. Tempatkan kursor di dalam elemen <outbound> pada baris kosong. Lalu pilih Tampilkan cuplikan di sudut kanan atas layar.

    Pilih perlihatkan cuplikan

  4. Di jendela kanan, pada Kebijakan transformasi, pilih Sembunyikan URL dalam konten.

    Elemen <redirect-content-urls /> ditambahkan pada kursor.

    Menyembunyikan URL dalam konten

  5. Pilih Simpan.

Memproteksi API dengan menambahkan kebijakan rate limit (pembatasan)

Bagian ini menunjukkan cara menambahkan perlindungan ke API backend dengan mengonfigurasi batas tingkat, sehingga API tidak digunakan secara berlebihan oleh pengembang. Dalam contoh ini, batas diatur ke tiga panggilan per 15 detik untuk setiap ID langganan. Setelah 15 detik, pengembang dapat kembali mencoba memanggil API.

  1. Pilih Demo Conference API>Desain>Semua fungsi.

  2. Di bagian Pemrosesan masuk, pilih ikon editor kode (</>).

    Menavigasi ke kebijakan masuk

  3. Tempatkan kursor di dalam elemen <inbound> pada baris kosong. Lalu pilih Tampilkan cuplikan di sudut kanan atas layar.

    Mengatur kebijakan masuk

  4. Di jendela kanan, pada Kebijakan pembatasan akses, pilih Batasi laju panggilan per kunci.

    Elemen <rate-limit-by-key /> ditambahkan pada kursor.

    Pilih batas tarif panggilan per kunci

  5. Ubah kode <rate-limit-by-key /> Anda dalam elemen <inbound> ke kode berikut. Kemudian pilih Simpan.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

Menguji transformasi

Pada titik ini, jika Anda melihat kode di editor kode, kebijakan Anda terlihat seperti berikut:

<policies>
   <inbound>
     <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
     <base />
   </inbound>
   <backend>
     <base />
   </backend>
   <outbound>
     <set-header name="X-Powered-By" exists-action="delete" />
     <set-header name="X-AspNet-Version" exists-action="delete" />
     <redirect-content-urls />
     <base />
   </outbound>
   <on-error>
     <base />
   </on-error>
</policies>

Bagian lainnya dari menguji transformasi kebijakan yang Anda tetapkan di artikel ini.

Menguji header respons yang dilucuti

  1. Pilih Demo Conference API>Uji.

  2. Pilih fungsi GetSpeakers dan pilih Kirim.

    Seperti yang Anda lihat, header telah dilucuti:

    Header respons yang dilucuti

Menguji URL yang diganti

  1. Pilih Demo Conference API>Uji.

  2. Pilih fungsi GetSpeakers dan pilih Kirim.

    Seperti yang Anda lihat, URL telah diganti.

    URL yang Diganti

Menguji rate limit (pembatasan)

  1. Pilih Demo Conference API>Uji.

  2. Pilih operasi GetSpeakers. Pilih Kirim tiga kali berturut-turut.

    Setelah mengirim permintaan sebanyak tiga kali, Anda mendapatkan respons 429 Terlalu banyak permintaan.

    Terlalu banyak permintaan

  3. Tunggu selama 15 detik atau lebih lalu pilih Kirim lagi. Kali ini Anda pasti mendapatkan respons 200 OK.

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara:

  • Mentransformasikan API menjadi header respons strip
  • Mengganti URL asli dalam isi respon API dengan URL gateway API Management
  • Memproteksi API dengan menambahkan kebijakan rate limit (pembatasan)
  • Menguji transformasi

Melanjutkan ke tutorial berikutnya: