Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
Kunci API (dikenal di Apigee sebagai kunci konsumen) adalah nilai string yang diteruskan oleh aplikasi klien ke proxy API Anda. Kunci mengidentifikasi aplikasi klien secara unik.
Validasi kunci API adalah bentuk keamanan berbasis aplikasi paling sederhana yang dapat Anda konfigurasikan untuk API. Aplikasi klien hanya menampilkan kunci API dengan permintaannya, lalu Apigee memeriksa untuk melihat apakah kunci API berada dalam status yang disetujui untuk resource yang diminta. Secara internal, proxy Anda menggunakan kebijakan untuk memverifikasi keaslian kunci API.
Untuk mendukung kesederhanaan ini, Anda perlu melakukan sedikit penyiapan. Untuk mendukung kunci API, Anda harus melakukan hal berikut:
- Buat produk API Apigee yang memaketkan proxy API yang ingin Anda proteksi menggunakan kunci API.
-
Buat aplikasi developer Apigee yang mewakili developer aplikasi klien
yang aplikasinya akan Anda autentikasi.
Saat membuat aplikasi developer, Anda menentukan produk API yang akan diakses oleh aplikasi developer, dan untuk itu aplikasi harus menyediakan kunci API.
- Ke proxy (yang Anda sertakan dalam produk API), tambahkan kebijakan untuk memverifikasi bahwa kunci API yang masuk 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 membuat kunci dan secret konsumen. Apigee menyimpan kunci konsumen untuk validasi 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.
- Buat produk API yang menyertakan proxy API yang harus dilindungi dengan kunci API.
- Anda mendaftarkan aplikasi developer di organisasi. Saat Anda melakukannya, Apigee akan membuat kunci konsumen dan secret konsumen.
- Kaitkan aplikasi developer dengan minimal satu produk API. Ini adalah produk yang mengaitkan jalur resource dan proxy API dengan persetujuan kunci.
- Saat runtime, saat aplikasi klien membuat permintaan ke API Anda, aplikasi klien akan mengirimkan
kunci konsumen saat membuat permintaan. Dalam praktiknya, kunci konsumen dapat
diteruskan secara eksplisit atau secara implisit dirujuk melalui token OAuth:
- Jika API menggunakan verifikasi kunci API -- seperti dengan menerapkan kebijakan VerifyAPIKey -- aplikasi klien harus meneruskan kunci konsumen secara eksplisit.
- Saat API menggunakan verifikasi token OAuth -- seperti dengan menerapkan kebijakan OAuthV2 -- aplikasi klien harus meneruskan token yang telah berasal dari kunci konsumen.
- API Proxy memvalidasi kredensial permintaan melalui kebijakan VerifyAPIKey atau kebijakan OAuthV2 dengan operasi VerifyAccessToken. Jika Anda tidak menyertakan kebijakan penegakan kredensial di Proxy API, pemanggil mana pun dapat berhasil memanggil API Anda. Untuk informasi selengkapnya, lihat Memverifikasi kebijakan Kunci API.
Memverifikasi kredensial permintaan
Ini adalah ringkasan. Pastikan untuk melihat Menyiapkan validasi kunci API untuk mengetahui detail dan contoh kode.
- Jika Anda menggunakan verifikasi token OAuth -- Anda telah menerapkan kebijakan OAuth untuk memverifikasi
dan aplikasi klien telah meneruskan token OAuth:
- Apigee memverifikasi bahwa token belum habis masa berlakunya, lalu mencari kunci konsumen yang digunakan untuk membuat token.
- Jika Anda menggunakan kunci API, Anda telah menerapkan kebijakan VerifyAPIKey dan aplikasi klien telah meneruskan kunci konsumennya:
- Apigee memeriksa daftar Produk API yang telah dikaitkan dengan kunci konsumen.
- Apigee memeriksa setiap Produk API untuk melihat apakah Proxy API saat ini disertakan dalam Produk API, dan apakah jalur resource saat ini (jalur URL) diaktifkan di Produk API.
- Apigee juga memverifikasi bahwa kunci konsumen belum habis masa berlakunya atau dicabut, memeriksa apakah aplikasi tidak dicabut, dan memeriksa apakah developer tidak tidak aktif.
- Jika semua hal tersebut benar -- token belum habis masa berlakunya (jika berlaku), kunci konsumen valid dan disetujui, aplikasi disetujui, developer aktif, proxy tersedia di produk, dan resource tersedia di produk -- verifikasi kredensial akan berhasil.