JSON Web Token (JWT) mengirimkan informasi secara aman antara klien dan server dalam bentuk objek JSON. Informasi tersebut dapat diverifikasi dan tepercaya karena JWT dapat ditandatangani menggunakan HMAC atau pasangan kunci publik/privat RSA/ECDSA. Cloud-native API Gateway menggunakan autentikasi JWT untuk memverifikasi identitas dan mengontrol akses API.
Prasyarat
-
Anda memiliki pemahaman dasar mengenai standar JWT. Untuk informasi lebih lanjut, lihat Introduction to JWT.
-
Anda memahami metode integrasi yang didukung: layanan otorisasi Anda menerbitkan token untuk memastikan keamanan, dan Anda mengonfigurasi gerbang dengan kunci publik untuk memverifikasi signature permintaan.
-
Anda telah menyiapkan kunci privat dan kunci publik. Layanan otorisasi menggunakan kunci privat untuk menandatangani JWT. Anda mengonfigurasi kunci publik di Cloud-native API Gateway untuk memverifikasi signature dari permintaan masuk.
Latar Belakang
Cloud-native API Gateway menyediakan autentikasi JWT untuk mengotorisasi akses ke API Anda berdasarkan token terstruktur, membantu Anda memenuhi persyaratan keamanan khusus.
Autentikasi berbasis token
API yang dipublikasikan melalui Cloud-native API Gateway perlu mengidentifikasi pihak yang melakukan permintaan dan menentukan apakah akan mengembalikan sumber daya yang diminta. Autentikasi berbasis token memverifikasi identitas pemanggil tanpa menyimpan informasi sesi di server, memungkinkan otorisasi tanpa status dan menyederhanakan penskalaan aplikasi.
Metode integrasi yang didukung

Buat aturan autentikasi
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
-
Pada halaman Instance, klik nama instans gateway target.
-
Di panel navigasi sebelah kiri, klik .
-
Di pojok kiri atas halaman Global Authentication, klik Create Authentication. Konfigurasikan parameter, lalu klik OK.
Parameter
Deskripsi
Enable
Apakah akan mengaktifkan autentikasi untuk Cloud-native API Gateway.
Authentication Name
Nama kustom untuk aturan autentikasi.
Authentication Type
Jenis autentikasi. JWT didukung secara default.
Issuer
Klaim
iss(issuer) dari JWT. Klaim ini mengidentifikasi pihak yang berwenang yang menerbitkan JWT.Sub
Klaim
sub(subject) dari JWT. Klaim ini mengidentifikasi pihak yang berwenang yang menjadi subjek JWT.JWKS
JSON Web Key Set (JWKS) yang berisi kunci publik yang digunakan untuk memverifikasi JWT. Format berikut merupakan contoh:
{ "keys":[ { "e":"AQAB", "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ", "kty":"RSA", "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX- P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2 He95lZdHtOcU5DXIg_pbhLdKXbi66Gl VeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw- 4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSG ZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZ PYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3D RrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ" } ] }JWT Token
Konfigurasikan cara JWT diekstraksi dari permintaan masuk.
-
Type: Lokasi parameter token dalam permintaan. Nilai default adalah Header.
-
Key: Nama parameter token.
-
Prefix: Awalan nilai parameter token. Secara default, token dikirim dalam header Authorization dengan awalan
Bearer, contohnya:Authorization: Bearer token. -
Enable Passthrough: Jika opsi ini dipilih, parameter token diteruskan ke layanan backend.
Authorization
Mode otorisasi. Mode Whitelist Mode dan Blacklist Mode didukung.
-
Whitelist: Permintaan yang sesuai dengan host dan path tertentu dapat melewati autentikasi. Semua permintaan lainnya memerlukan autentikasi.
-
Blacklist: Permintaan yang sesuai dengan host dan path tertentu memerlukan autentikasi. Semua permintaan lainnya dilewatkan tanpa autentikasi.
Klik Rule Condition untuk mengatur nama domain dan path permintaan.
-
Request Domain Name: Nama domain dalam permintaan, yang berkorespondensi dengan hosts.
-
Request Path: Path API dalam permintaan, yang berkorespondensi dengan paths.
-
Lihat detail aturan autentikasi
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
-
Pada halaman Instance, klik nama instans gateway target.
-
Di panel navigasi sebelah kiri, klik .
-
Pada halaman Global Authentication, temukan aturan autentikasi target dan klik Description di kolom Actions. Anda dapat melihat Basic Information dan Authentication Configuration dari aturan tersebut, serta mengelola Authorization Information-nya.
Bagian Basic Information mencakup nama dan sumber (misalnya, JWT). Bagian Authentication Configuration mencakup bidang seperti Issuer, Type (misalnya, HEADER), sakelar Enable Passthrough, Sub, Prefix (misalnya, Bearer), Key (misalnya, Authorization), dan JWKS. Bagian Authorization Information mendukung mode Whitelist, dan gateway mengevaluasi beberapa kondisi aturan dengan logika OR.
Di bagian Authorization Information, klik Create Authorization, lalu masukkan Request Domain Name dan Request Path di kotak dialog untuk menambahkan aturan otorisasi baru.
Verifikasi hasil
Kembali ke halaman Global Authentication. Jika aturan autentikasi baru terdaftar, pembuatan berhasil.
Operasi terkait
Anda juga dapat mengelola aturan autentikasi gateway sebagai berikut:
-
Aktifkan aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi target dan klik Enable di kolom Actions.
-
Nonaktifkan aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi target dan klik Close di kolom Actions.
-
Edit aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi target dan klik Edit di kolom Actions.
-
Hapus aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi target dan klik Delete di kolom Actions.
Anda harus menonaktifkan aturan autentikasi sebelum dapat menghapusnya.
Dokumentasi terkait
Untuk mempelajari mekanisme autentikasi lainnya, lihat Global Authentication.