Apa itu kebijakan?

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Lihat dokumentasi Apigee Edge.

Apigee memungkinkan Anda memprogram perilaku API tanpa perlu menulis kode apa pun, dengan menggunakan kebijakan. Kebijakan itu seperti modul yang menerapkan fungsi manajemen tertentu dan terbatas. Kebijakan dirancang untuk memungkinkan Anda menambahkan jenis kemampuan pengelolaan umum ke API dengan mudah dan andal. Kebijakan menyediakan fitur seperti kemampuan keamanan, pembatasan kapasitas, transformasi, dan mediasi, sehingga Anda tidak perlu membuat kode dan memelihara fungsi ini sendiri.

Anda tidak dibatasi oleh serangkaian jenis kebijakan yang disediakan oleh Apigee. Anda juga dapat menulis skrip dan kode kustom (seperti aplikasi JavaScript), yang memperluas fungsi proxy API dan memungkinkan Anda berinovasi berdasarkan kemampuan pengelolaan dasar yang didukung oleh kebijakan Apigee.

Tonton video ini untuk mengetahui pengantar lampiran dan penegakan kebijakan.

Jenis kebijakan

Secara teknis, kebijakan adalah file konfigurasi berformat XML. Setiap struktur jenis kebijakan (misalnya, elemen konfigurasi wajib dan opsional) ditentukan oleh skema XML. Jika Anda sudah mahir menggunakan alat XML, sebaiknya Anda memahami skema kebijakan dalam contoh Platform API di GitHub.

Jenis kebijakan Apigee dikelompokkan ke dalam kategori fungsi berikut:

Pengelolaan traffic

Kebijakan dalam kategori pengelolaan traffic memungkinkan Anda mengontrol alur pesan permintaan dan respons melalui proxy API. Kebijakan ini mendukung kontrol tingkat operasional dan bisnis. Keduanya memberi Anda kontrol atas throughput mentah, dan juga dapat mengontrol traffic per aplikasi. Jenis kebijakan pengelolaan traffic memungkinkan Anda menerapkan kuota, dan juga membantu Anda memitigasi serangan denial of service.

Keamanan

Kebijakan dalam kategori keamanan mendukung autentikasi, otorisasi, serta keamanan berbasis konten.

Mediasi

Kebijakan dalam kategori mediasi memungkinkan Anda memanipulasi pesan secara aktif saat pesan tersebut mengalir melalui proxy API. Template ini memungkinkan Anda mengubah format pesan, dari XML ke JSON (dan sebaliknya), atau untuk mengubah satu format XML ke format XML lainnya. Fitur ini juga memungkinkan Anda mengurai pesan, menghasilkan pesan baru, dan mengubah nilai pada pesan keluar. Kebijakan mediasi juga berinteraksi dengan layanan dasar yang diekspos oleh Apigee, sehingga Anda dapat mengambil data tentang aplikasi, developer, token keamanan, dan produk API saat runtime.

Ekstensi

Kebijakan dalam kategori ekstensi memungkinkan Anda memanfaatkan ekstensibilitas Apigee untuk menerapkan perilaku kustom dalam bahasa pemrograman pilihan Anda.

Setiap jenis kebijakan didokumentasikan secara mendetail di Ringkasan referensi kebijakan. Topik ini menunjukkan interaksi umum, yang menunjukkan cara membuat kebijakan, dan cara melampirkannya ke Flow dalam konfigurasi proxy API.

Men-deploy perubahan kebijakan

Agar perubahan kebijakan dapat diterapkan, Anda harus men-deploy revisi proxy API ke lingkungan. Setelah Anda melampirkan kebijakan atau membuat perubahan pada kebijakan yang sudah ada, gunakan UI Apigee atau Apigee API untuk men-deploy perubahan.

Memverifikasi penegakan kebijakan

Untuk memverifikasi bahwa kebijakan diterapkan dengan benar, API harus dipanggil oleh klien HTTP. Untuk memverifikasi konfigurasi Quota ini, kirim beberapa permintaan ke API, yang melebihi batas kuota yang Anda tetapkan dalam kebijakan kuota. (Jalur URI, yang dikonfigurasi sebagai setelan jalur dasar di ProxyEndpoint, dalam permintaan di bawah ini adalah /weather).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Setelah mengirimkan lebih dari satu permintaan dalam satu menit, Anda akan melihat pesan error berikut:

{
   "fault":{
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Hal ini menunjukkan bahwa kebijakan Quota diterapkan oleh Apigee.

Penanganan kesalahan berbasis kebijakan

Perhatikan format pesan error di atas. Properti ini berisi properti faultstring dan properti errorcode. Dalam banyak kasus, Anda perlu menerapkan beberapa perilaku untuk menangani error ini. Misalnya, Anda mungkin ingin memberikan pesan kustom kepada developer yang aplikasinya melampaui Quota.

Untuk mengetahui informasi selengkapnya tentang penanganan kesalahan, lihat Menangani kesalahan.

Praktik terbaik: Kumpulan kebijakan umum

Untuk memenuhi persyaratan pengelolaan dasar, proxy API biasanya menerapkan kebijakan berikut:

Validasi kunci API dasar

Alur Permintaan ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection atau JSONThreatProtection
  3. Validasi kunci API
  4. Quota
  5. ResponseCache
Alur Respons ProxyEndpoint:
  1. ResponseCache

Transformasi dasar: JSON ke XML

Alur Permintaan:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Validasi kunci API
  4. Quota
  5. JSONToXML
Alur Respons:
  1. XMLToJSON
  2. ResponseCache