JSON Web Token (JWT) digunakan untuk mengirimkan informasi secara aman antara klien dan server dalam format JSON. Informasi tersebut dapat diverifikasi dan dipercaya karena JWT ditandatangani menggunakan algoritma HMAC atau pasangan kunci publik/pribadi dari algoritma RSA atau ECDSA. JWT dapat digunakan untuk mengotentikasi pengguna dan melakukan kontrol akses.
Prasyarat
Anda memiliki pemahaman dasar tentang JWT. Untuk informasi lebih lanjut, lihat Pengenalan JSON Web Tokens.
Anda memahami cara layanan otorisasi terintegrasi dengan Cloud-native API Gateway. Token diterbitkan oleh layanan otorisasi untuk memastikan keamanan, dan kunci publik dikonfigurasi untuk instance gateway guna memvalidasi token.
Kunci pribadi dan kunci publik telah disiapkan. Kunci pribadi digunakan oleh layanan otorisasi untuk menerbitkan token, sedangkan kunci publik digunakan oleh instance gateway untuk memvalidasi token dalam permintaan.
Informasi latar belakang
Untuk memberikan solusi keamanan yang sistematis bagi pengguna cloud, Cloud-native API Gateway menyediakan mekanisme akses terotorisasi berbasis JWT untuk API Anda. Anda dapat menyesuaikan pengaturan keamanan sesuai kebutuhan.
Token-based authentication
Cloud-native API Gateway memverifikasi identitas pemanggil API dan menentukan apakah akan mengembalikan sumber daya yang diminta. Token digunakan untuk otentikasi identitas. Dengan pendekatan ini, aplikasi tidak perlu menyimpan informasi otentikasi pengguna atau informasi sesi di sisi server, sehingga mendukung otorisasi aplikasi web tanpa status dan terdistribusi serta memfasilitasi skalabilitas aplikasi.
Supported integration method
Buat aturan otentikasi
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Di halaman Instance, klik nama instance gateway yang ingin Anda kelola.
Di pohon navigasi di sebelah kiri, pilih .
Di pojok kiri atas halaman Global Authentication, klik Create Authentication. Di panel Buat Otentikasi, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Enable
Tentukan apakah akan mengaktifkan otentikasi.
Authentication Name
Masukkan nama untuk layanan otentikasi kustom.
Authentication Type
Pilih tipe otentikasi. Secara default, JWT dipilih.
Issuer
Masukkan penerbit untuk klaim JWT.
Sub
Masukkan subjek dari klaim JWT.
JWKS
Masukkan kunci publik JWT. 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 token JWT.
Type: Tipe token. Parameter ini tetap pada HEADER.
Key: Nama header permintaan tempat setiap token disimpan.
Prefix: awalan token. Konfigurasikan parameter yang diperlukan untuk memverifikasi setiap token. Secara default, setiap token diawali dengan Bearer dan disimpan di header Authorization, contohnya,
Authorization: Bearer <Isi sebuah token>.Enable Passthrough: Jika Anda memilih opsi ini, token dilewatkan ke layanan backend.
Authorization
Metode otorisasi. Nilai valid: Whitelist dan Blacklist.
Daftar Putih: Hanya permintaan dengan nama domain host dan jalur yang Anda tentukan di daftar putih yang dapat mengakses instance gateway tanpa otentikasi.
Daftar Hitam: Hanya permintaan dengan nama domain host dan jalur yang Anda tentukan di daftar hitam yang memerlukan otentikasi.
Klik + Rule Condition untuk menambahkan nama domain host dan jalur.
Nama Domain: nama domain host yang memerlukan akses ke instance gateway.
Jalur: jalur yang memerlukan akses ke instance gateway.
Lihat detail aturan otentikasi
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Di halaman Instance, klik nama instance gateway yang ingin Anda kelola.
Di pohon navigasi sebelah kiri, pilih .
Di halaman Global Authentication, temukan aturan otentikasi yang ingin Anda kueri dan klik Details di kolom Actions. Di halaman yang muncul, Anda dapat melihat informasi di bagian Basic Information dan Authentication Configuration, serta mengelola informasi di bagian Authorization Information.

Untuk membuat aturan otorisasi, klik Add Authorization Information di bagian Authorization Information. Di kotak dialog Tambah Informasi Otorisasi, konfigurasikan parameter Request Domain Name dan Request Path.
Verifikasi hasil
Buka halaman Global Authentication. Jika aturan otentikasi ditampilkan di halaman Otentikasi Global, aturan tersebut berhasil dibuat.
Apa yang harus dilakukan selanjutnya
Anda dapat melakukan operasi berikut pada aturan otentikasi instance gateway:
Aktifkan aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi yang ingin Anda kelola dan klik Enable di kolom Actions.
Nonaktifkan aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi yang ingin Anda kelola dan klik Disable di kolom Actions.
Ubah aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi yang ingin Anda kelola dan klik Edit di kolom Actions.
Hapus aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi yang ingin Anda kelola dan klik Delete di kolom Actions.
Hanya aturan otentikasi yang dinonaktifkan yang dapat dihapus.
Referensi
Untuk informasi lebih lanjut tentang mekanisme otentikasi lainnya, lihat Ikhtisar.