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
Prasyarat
- Mempelajari terminologi Azure API Management.
- Memahami konsep kebijakan dalam Azure API Management.
- Menyelesaikan mulai cepat berikut: Membuat instans Azure API Management.
- Selain itu, selesaikan tutorial berikut: Mengimpor dan menerbitkan API pertama Anda.
Membuka instans API Management Anda
Di portal Microsoft Azure, cari dan pilih layanan API Management.
Di halaman layanan API Management, 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:
- Di instans layanan API Management Anda, pilih API.
- Pilih Demo Conference API dari daftar API Anda.
- Pilih tab Uji, di bagian atas layar.
- Pilih operasi GetSpeakers, lalu pilih Kirim.
Respons API asli akan terlihat serupa dengan respons berikut:
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.
Pilih Demo Conference API>Desain>Semua fungsi.
Pada bagian Pemrosesan keluar, pilih + Tambahkan kebijakan.
Di jendela Tambahkan kebijakan keluar, pilih Atur header.
Untuk mengonfigurasi kebijakan Atur header, lakukan hal berikut:
- Pada bagian Nama, masukkan X-Powered-By.
- Biarkan Nilai kosong. Jika nilai muncul di menu dropdown, hapus nilai tersebut.
- Pada bagian Tindakan, pilih hapus.
- Pilih Simpan.
Ulangi dua langkah sebelumnya untuk menambahkan kebijakan Atur header yang menghapus header X-AspNet-Version :
Setelah konfigurasi, 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:
Pilih Demo Conference API > Uji.
Pilih operasi GetSpeakers, lalu pilih Kirim.
Seperti yang Anda lihat, respons mencakup URL backend asli:
Mengatur kebijakan transformasi
Dalam contoh ini, Anda menggunakan editor kode kebijakan untuk menambahkan cuplikan XML kebijakan secara langsung ke definisi kebijakan.
Pilih Demo Conference API>Desain>Semua fungsi.
Di bagian Pemrosesan keluar, pilih ikon editor kode (</>).
Tempatkan kursor di dalam elemen
<outbound>
pada baris kosong. Lalu pilih Tampilkan cuplikan di sudut kanan atas layar.Di jendela kanan, pada Kebijakan transformasi, pilih Sembunyikan URL dalam konten.
Elemen
<redirect-content-urls />
ditambahkan pada kursor.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.
Pilih Demo Conference API>Desain>Semua fungsi.
Di bagian Pemrosesan masuk, pilih ikon editor kode (</>).
Tempatkan kursor di dalam elemen
<inbound>
pada baris kosong. Lalu pilih Tampilkan cuplikan di sudut kanan atas layar.Di jendela kanan, pada Kebijakan pembatasan akses, pilih Batasi laju panggilan per kunci.
Elemen
<rate-limit-by-key />
ditambahkan pada kursor.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
Pilih Demo Conference API > Uji.
Pilih fungsi GetSpeakers dan pilih Kirim.
Seperti yang Anda lihat, header X-AspNet-Version dan X-Powered-By dihapus:
Menguji URL yang diganti
Pilih Demo Conference API > Uji.
Pilih fungsi GetSpeakers dan pilih Kirim.
Seperti yang Anda lihat, URL telah diganti.
Menguji rate limit (pembatasan)
Pilih Demo Conference API > Uji.
Pilih operasi GetSpeakers. Pilih Kirim empat kali berturut-turut.
Setelah mengirim permintaan empat kali, Anda mendapatkan respons 429 Terlalu Banyak Permintaan .
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: