Apa itu kebijakan?

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Apigee Edge memungkinkan Anda 'memprogram' Perilaku API tanpa menulis kode apa pun, dengan menggunakan 'kebijakan'. Kebijakan ibarat modul yang mengimplementasikan fungsi pengelolaan terbatas yang spesifik. Kebijakan didesain agar Anda dapat menambahkan jenis kemampuan pengelolaan umum ke API dengan mudah dan dapat diandalkan. Kebijakan menyediakan fitur seperti keamanan, pembatasan kapasitas, transformasi, dan mediasi kemampuan, sehingga Anda tidak perlu membuat kode dan mengelola fungsi ini sendiri.

Anda tidak dibatasi oleh serangkaian jenis kebijakan yang disediakan oleh Apigee Edge. Anda juga dapat menulis skrip dan kode kustom (seperti aplikasi JavaScript dan Node.js), yang memperluas proxy API memungkinkan Anda untuk berinovasi di atas kemampuan pengelolaan dasar yang didukung oleh Kebijakan Apigee.

Tonton video ini untuk mengetahui pengantar terkait lampiran dan penegakan kebijakan.

Jenis kebijakan

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

Jenis Kebijakan Edge dikelompokkan ke dalam kategori fungsional berikut:

Pengelolaan traffic

Kebijakan dalam kategori pengelolaan traffic memungkinkan Anda mengontrol alur pesan permintaan dan respons melalui proxy API. Kebijakan ini mendukung kebijakan operasional dan kendali tingkat bisnis. 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 otentikasi, otorisasi, serta keamanan berbasis konten.

Mediasi

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

Perluasan

Kebijakan dalam kategori ekstensi memungkinkan Anda memanfaatkan ekstensibilitas Layanan API untuk mengimplementasikan 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 membuat menambahkannya ke Flows dalam konfigurasi proxy API.

Men-deploy perubahan kebijakan

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

Memverifikasi penegakan kebijakan

Untuk memverifikasi bahwa kebijakan diterapkan dengan benar, API harus dipanggil oleh klien HTTP. Untuk memverifikasi konfigurasi Kuota ini, kirimkan 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 adalah /weather).

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

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

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

Hal ini menunjukkan bahwa kebijakan Kuota sedang diberlakukan oleh Layanan API.

Penanganan kesalahan berbasis kebijakan

Perhatikan format pesan error di atas. CSS ini berisi properti faultstring dan properti errorcode. Dalam banyak kasus, Anda perlu mengimplementasikan beberapa perilaku untuk menangani error ini. Misalnya, Anda mungkin ingin mengeluarkan pesan yang disesuaikan kepada developer yang aplikasi telah melampaui Kuota.

Untuk informasi selengkapnya tentang penanganan kesalahan, lihat Menangani kesalahan.

Praktik terbaik: Kumpulan kebijakan umum

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

Kunci API dasar validasi

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

Transformasi dasar: JSON ke XML

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