Kunci API

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Kunci API (dikenal di Apigee sebagai kunci konsumen) adalah nilai string yang diteruskan oleh aplikasi klien ke proxy API Anda. Kunci tersebut secara unik mengidentifikasi aplikasi klien.

Validasi kunci API adalah bentuk keamanan berbasis aplikasi paling sederhana yang dapat Anda konfigurasi untuk API. Aplikasi klien cukup menampilkan kunci API bersama permintaannya, kemudian Apigee akan memeriksa apakah kunci API dalam status disetujui untuk resource yang diminta. Secara internal, proxy Anda menggunakan kebijakan untuk memverifikasi keaslian kunci API.

Untuk mendukung kemudahan ini, Anda perlu melakukan sedikit penyiapan. Untuk mendukung kunci API, Anda harus:

  • Buat produk Apigee API yang memaketkan proxy API yang ingin dilindungi menggunakan kunci API.
  • Buat aplikasi developer Apigee yang merepresentasikan developer aplikasi klien yang aplikasinya akan Anda autentikasi.

    Dalam membuat aplikasi developer, Anda menentukan produk API yang dapat diakses oleh aplikasi developer -- dan untuk produk API tersebut diperlukan kunci API.

  • Ke proxy Anda (yang Anda sertakan di produk API), tambahkan kebijakan untuk memverifikasi bahwa kunci API masuk sudah valid.

Tutorial Mengamankan API dengan mewajibkan kunci API adalah cara cepat untuk mempelajari cara mengontrol akses ke proxy API dengan kunci API.

Cara kerja kunci API

Di Apigee, kunci API disebut sebagai kunci konsumen. Saat Anda mendaftarkan aplikasi developer, Apigee akan menghasilkan kunci dan rahasia konsumen. Apigee menyimpan kunci konsumen untuk validasi di masa mendatang. Setiap kunci konsumen bersifat unik dalam organisasi. Developer aplikasi menyematkan kunci konsumen di aplikasi klien. Aplikasi klien harus menampilkan kunci konsumen untuk setiap permintaan. Layanan API memverifikasi kunci konsumen sebelum mengizinkan permintaan aplikasi.

Langkah-langkah tingkat tinggi

Langkah-langkah berikut menjelaskan cara kunci API digunakan oleh Apigee. Langkah-langkah ini juga mencakup kemungkinan adanya keamanan OAuth, karena sering digunakan bersama dengan kunci API.

  1. Buat produk API yang menyertakan proxy API yang harus dilindungi dengan kunci API.
  2. Anda mendaftarkan aplikasi developer di organisasi Anda. Saat Anda melakukan, Apigee akan menghasilkan kunci konsumen dan rahasia konsumen.
  3. Kaitkan aplikasi developer dengan setidaknya satu produk API. Project ini adalah produk yang mengaitkan jalur resource dan proxy API dengan persetujuan kunci.
  4. Pada waktu proses, saat aplikasi klien membuat permintaan ke API Anda, aplikasi klien akan mengirim kunci konsumen saat membuat permintaan. Dalam praktiknya, kunci konsumen dapat diteruskan secara eksplisit atau dirujuk secara implisit melalui token OAuth:
    • Saat API menggunakan verifikasi kunci API -- seperti dengan menerapkan kebijakan VerifyAPIKey -- aplikasi klien harus meneruskan kunci konsumen secara eksplisit.
    • Jika API menggunakan verifikasi token OAuth, seperti dengan menerapkan kebijakan OAuthV2, aplikasi klien harus meneruskan token yang berasal dari kunci konsumen.
  5. Proxy API memvalidasi kredensial permintaan melalui kebijakan VerifyAPIKey atau kebijakan OAuthV2 dengan operasi VerifyAccessToken. Jika Anda tidak menyertakan kebijakan penerapan kredensial di Proxy API, pemanggil mana pun dapat memanggil API Anda dengan sukses. Untuk mengetahui informasi selengkapnya, lihat kebijakan Verifikasi Kunci API.

Memverifikasi kredensial permintaan

Ini adalah ringkasan. Pastikan untuk melihat bagian Menyiapkan validasi kunci API untuk detail dan contoh kode.

  1. Jika Anda menggunakan verifikasi token OAuth, berarti Anda telah menerapkan kebijakan OAuth untuk melakukan verifikasi dan aplikasi klien telah meneruskan token OAuth:
    • Apigee memverifikasi bahwa masa berlaku token belum habis, lalu mencari kunci konsumen yang digunakan untuk membuat token.
  2. Jika Anda menggunakan kunci API -- Anda telah menerapkan kebijakan VerifyAPIKey dan aplikasi klien telah meneruskan kunci konsumennya:
    1. Apigee memeriksa daftar Produk API yang terkait dengan kunci konsumen.
    2. Apigee memeriksa setiap Produk API untuk melihat apakah Proxy API saat ini disertakan dalam Produk API, dan apakah jalur resource (jalur URL) saat ini diaktifkan pada Produk API atau tidak.
    3. Apigee juga memverifikasi bahwa kunci konsumen belum habis masa berlakunya atau dicabut, memeriksa apakah aplikasi tidak dicabut, dan memeriksa apakah developer tidak aktif.
    4. Jika semua hal tersebut benar -- masa berlaku token belum berakhir (jika ada), kunci konsumen valid dan disetujui, aplikasi disetujui, developer aktif, proxy tersedia dalam produk, dan resource tersedia di produk -- verifikasi kredensial berhasil.