Apa yang dimaksud dengan kebijakan?

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Apigee memungkinkan Anda memprogram perilaku API tanpa menulis kode apa pun, dengan menggunakan kebijakan. Kebijakan seperti modul yang mengimplementasikan fungsi pengelolaan tertentu yang terbatas. Kebijakan dirancang agar Anda dapat menambahkan jenis kemampuan pengelolaan umum ke API dengan mudah dan andal. Kebijakan menyediakan fitur-fitur seperti keamanan, pembatasan laju, transformasi, dan kemampuan mediasi, sehingga Anda tidak perlu lagi membuat kode dan memelihara fungsionalitas ini sendiri.

Anda tidak terbatas pada kumpulan 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 di atas kemampuan pengelolaan dasar yang didukung oleh kebijakan Apigee.

Topik ini memberikan ringkasan tentang jenis dan penggunaan kebijakan di Apigee. Untuk mengetahui informasi tentang kebijakan tertentu, lihat Ringkasan referensi kebijakan.

Jenis dan kategori kebijakan

Secara teknis, kebijakan adalah file konfigurasi berformat XML. Struktur setiap kebijakan (misalnya, elemen konfigurasi wajib dan opsional) ditentukan oleh skema XML. Jika Anda mahir menggunakan alat XML, ada baiknya Anda membiasakan diri dengan skema kebijakan di contoh Platform API di GitHub.

Kebijakan Apigee dikelompokkan ke dalam kategori fungsional berikut. Kebijakan yang tersedia untuk setiap kategori kebijakan tercantum dalam Ringkasan referensi kebijakan.

AI

Kebijakan dalam kategori AI memungkinkan Anda untuk mengoptimalkan dan mengamankan kinerja beban kerja dan model AI.

Ekstensi

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

Mediasi

Kebijakan dalam kategori mediasi memungkinkan Anda memanipulasi pesan secara aktif saat pesan tersebut mengalir melalui proxy API. Dengan alat ini, Anda dapat mengubah format pesan, dari XML ke JSON (dan sebaliknya), atau mengubah satu format XML ke format XML lainnya. Dengan fungsi ini, Anda juga dapat mengurai pesan, membuat 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.

Keamanan

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

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. Fitur ini memberi Anda kontrol atas throughput mentah, dan juga dapat mengontrol traffic berdasarkan per aplikasi. Jenis kebijakan pengelolaan lalu lintas memungkinkan Anda menerapkan kuota, dan juga membantu Anda memitigasi serangan penolakan layanan.

Melampirkan kebijakan

Agar kebijakan dapat diterapkan pada proxy API Anda, Anda harus melampirkannya ke proxy dalam sebuah alur. Untuk informasi lebih lanjut, lihat topik lain di bagian ini, termasuk Memasang dan mengkonfigurasi kebijakan di UI dan Memasang dan mengkonfigurasi kebijakan di file XML.

Men-deploy perubahan kebijakan

Agar perubahan kebijakan berlaku, Anda harus menerapkan revisi proksi API ke suatu lingkungan. Setelah melampirkan kebijakan atau membuat perubahan pada kebijakan yang 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, tetapkan kuota (misalnya, satu permintaan per menit), lalu 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 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 sedang diterapkan oleh Apigee.

Penanganan kesalahan berbasis kebijakan

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

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

Praktik terbaik: Set 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