Bagikan melalui


Tutorial: Mentransformasikan dan memproteksi API Anda

BERLAKU UNTUK: Semua tingkatan API Management

Dalam tutorial ini, Anda mempelajari tentang mengonfigurasi kebijakan untuk melindungi atau mengubah API Anda. Kebijakan adalah kumpulan pernyataan yang dijalankan secara berurutan pada permintaan atau respons API yang memodifikasi perilaku API.

Petunjuk

Tim API dapat menggunakan fitur ini di ruang kerja. Ruang kerja menyediakan akses administratif terisolasi ke API dan lingkungan runtime API mereka sendiri.

Misalnya, Anda mungkin ingin mengatur header respons kustom. Atau, lindungi API backend Anda dengan mengonfigurasi kebijakan batas tarif, sehingga API tidak digunakan secara berlebihan oleh pengembang. Contoh-contoh ini adalah pengenalan sederhana untuk kebijakan API Management. 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:

  • Mengubah API untuk mengatur header respons kustom
  • Melindungi API dengan menambahkan pengaturan pembatasan laju (throttling)
  • Menguji transformasi

Cuplikan layar kebijakan API Management di portal.

Prasyarat

Pergi ke instans API Management Anda

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

    Cuplikan layar yang memperlihatkan layanan API Management di hasil pencarian.

  2. Pada halaman layanan API Management , pilih instans API Management Anda:

    Cuplikan layar yang menampilkan instans API Management di halaman layanan API Management.

Menguji respons asli

Untuk melihat respons asli:

  1. Di instans layanan API Management Anda, pilih API.
  2. Pilih Swagger Petstore dari daftar API Anda.
  3. Pilih tab Uji, di bagian atas layar.
  4. Pilih operasi GET Finds pets by status, dan secara opsional pilih nilai yang berbeda dari statusparameter kueri. Pilih Kirim.

Respons API asli akan terlihat serupa dengan respons berikut:

Cuplikan layar respons API asli di portal.

Mengubah API untuk menambahkan header respons kustom

API Management mencakup beberapa kebijakan transformasi yang dapat Anda gunakan untuk mengubah payload permintaan atau respons, header, atau kode status. Dalam contoh ini, Anda mengatur header respons kustom dalam respons API.

Mengatur kebijakan transformasi

Bagian ini menunjukkan cara mengonfigurasi header respons kustom menggunakan kebijakan set-header. Di sini Anda menggunakan editor kebijakan berbasis formulir yang menyederhanakan konfigurasi kebijakan.

  1. Pilih Swagger Petstore>Desain>Semua operasi.

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

    Cuplikan layar saat bernavigasi menuju kebijakan keluar di portal.

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

    Cuplikan layar saat mengonfigurasi kebijakan Set header di portal.

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

    1. Di bawah Nama, masukkan Kustom.
    2. Di bawah Nilai, pilih + Tambahkan nilai. Masukkan "Nilai kustom saya".
    3. Pilih Simpan.
  5. Setelah konfigurasi, elemen kebijakan set-header muncul di bagian Pemrosesan Keluar.

    Cuplikan layar Atur kebijakan keluar header di portal.

Melindungi API dengan menambahkan kebijakan pembatasan laju (throttling) API.

Bagian ini menunjukkan cara menambahkan perlindungan ke API backend dengan mengonfigurasi batas tingkat, sehingga API tidak digunakan secara berlebihan oleh pengembang. Contoh ini menunjukkan cara mengonfigurasi rate-limit-by-key kebijakan menggunakan editor kode. Dalam contoh ini, batas diatur ke tiga panggilan per 15 detik. Setelah 15 detik, pengembang dapat mencoba lagi memanggil API.

Catatan

Kebijakan ini tidak didukung di tingkat Konsumsi.

  1. Pilih Swagger Petstore>Desain>Semua operasi.

  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 memilih untuk menampilkan snippet 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 memasukkan batas tarif panggilan per kebijakan per 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 calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
         <base />
     </inbound>
     <outbound>
         <set-header name="Custom" exists-action="override">
             <value>"My custom value"</value>
           </set-header>
         <base />
     </outbound>
     <on-error>
         <base />
     </on-error>
 </policies>

Sisa dari bagian ini mengujikan transformasi kebijakan yang Anda tetapkan dalam artikel ini.

Menguji respons header kustom

  1. Pilih Swagger Petstore>Test.

  2. Pilih operasi GET Finds pets by status, dan secara opsional pilih nilai yang berbeda dari statusparameter kueri. Pilih Kirim.

    Seperti yang Anda lihat, header respons kustom ditambahkan:

    Cuplikan layar memperlihatkan header respons kustom di portal.

Menguji batas kecepatan (pembatasan)

  1. Pilih Swagger Petstore>Test.

  2. Pilih operasi GET Finds Pets by Status . Pilih Kirim beberapa kali berturut-turut.

    Setelah mengirim terlalu banyak permintaan dalam periode yang dikonfigurasi, 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.

Dapatkan bantuan Copilot

Anda bisa mendapatkan bantuan AI dari Copilot untuk membuat dan mengedit definisi kebijakan API Management Anda. Anda dapat menggunakan Copilot untuk membuat dan memperbarui kebijakan yang sesuai dengan persyaratan spesifik Anda tanpa perlu mengetahui sintaks XML. Anda juga bisa mendapatkan penjelasan tentang kebijakan yang ada. Dan Copilot dapat membantu Anda menerjemahkan kebijakan yang mungkin telah Anda konfigurasikan di solusi manajemen API lainnya.

  • Azure Copilot menyediakan bantuan penulisan kebijakan dengan perintah bahasa alami di portal Microsoft Azure. Anda dapat menulis kebijakan di editor kebijakan API Management dan meminta Copilot untuk menjelaskan bagian kebijakan.
  • GitHub Copilot untuk Azure di Visual Studio Code menyediakan bantuan penulisan kebijakan di Visual Studio Code, dan Anda dapat menggunakan Ekstensi Azure API Management untuk Visual Studio Code untuk mempercepat konfigurasi kebijakan. Anda dapat meminta Copilot Chat atau Copilot Edits dengan bahasa alami untuk membuat dan menyempurnakan definisi kebijakan di tempat.

Contoh perintah:

Generate a policy that adds an Authorization header to the request with a Bearer token.

Copilot didukung oleh AI, sehingga kejutan dan kesalahan dimungkinkan. Untuk informasi selengkapnya, lihat FAQ umum untuk Copilot.

Ringkasan

Dalam tutorial ini, Anda mempelajari cara:

  • Mengubah API untuk mengatur header respons kustom
  • Melindungi API dengan menambahkan pengaturan pembatasan laju (throttling)
  • Menguji transformasi

Langkah berikutnya

Melanjutkan ke tutorial berikutnya: