Bagikan melalui


Tutorial: Mentransformasikan dan memproteksi API Anda

BERLAKU UNTUK: Semua tingkatAN API Management

Dalam tutorial ini, Anda mempelajari tentang mengonfigurasi 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 melindungi 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

Cuplikan layar kebijakan API Management 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:

Cuplikan layar respons API asli di portal.

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.

    Cuplikan layar menavigasi ke kebijakan keluar di portal.

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

    Cuplikan layar mengonfigurasi kebijakan Atur header di portal.

  4. Untuk mengonfigurasi kebijakan Atur header, lakukan hal berikut:

    1. Pada bagian Nama, masukkan X-Powered-By.
    2. Biarkan Nilai kosong. Jika nilai muncul di menu dropdown, hapus nilai tersebut.
    3. Pada bagian Tindakan, pilih hapus.
    4. Pilih Simpan.
  5. Ulangi dua langkah sebelumnya untuk menambahkan kebijakan Atur header yang menghapus header X-AspNet-Version :

  6. Setelah konfigurasi, dua elemen kebijakan set-header muncul di bagian Pemrosesan keluar.

    Cuplikan layar Atur kebijakan keluar header di portal.

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:

    Cuplikan layar URL asli sebagai respons di portal.

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 (</>).

    Cuplikan layar menavigasi ke editor kode kebijakan keluar di portal.

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

    Cuplikan layar memilih tampilkan cuplikan di editor kebijakan keluar di portal.

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

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

    Cuplikan layar menyisipkan URL masker dalam kebijakan konten di portal.

  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 (</>).

    Cuplikan layar menavigasi ke editor kode kebijakan masuk di portal.

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

    Cuplikan layar pemilihan menampilkan cuplikan di editor kebijakan masuk di portal.

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

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

    Cuplikan layar menyisipkan tarif panggilan batas per kebijakan kunci di portal.

  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 X-AspNet-Version dan X-Powered-By dihapus:

    Cuplikan layar memperlihatkan header respons yang dilucuti di portal.

Menguji URL yang diganti

  1. Pilih Demo Conference API > Uji.

  2. Pilih fungsi GetSpeakers dan pilih Kirim.

    Seperti yang Anda lihat, URL telah diganti.

    Cuplikan layar memperlihatkan URL yang diganti di portal.

Menguji rate limit (pembatasan)

  1. Pilih Demo Conference API > Uji.

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

    Setelah mengirim permintaan empat kali, Anda mendapatkan respons 429 Terlalu Banyak Permintaan .

    Cuplikan layar memperlihatkan Terlalu Banyak Permintaan dalam respons di portal.

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

Ringkasan

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

Langkah berikutnya

Melanjutkan ke tutorial berikutnya: