Cloud-native API Gateway terintegrasi dengan sistem otentikasi perusahaan Anda melalui protokol OpenID Connect (OIDC), menyediakan otentikasi dan otorisasi terpusat untuk layanan internal. Integrasi ini menghilangkan kebutuhan integrasi berulang per layanan, memungkinkan single sign-on (SSO), serta mendukung konfigurasi kebijakan keamanan yang fleksibel.
Prasyarat
Anda memiliki server otorisasi terpadu yang mendukung protokol OIDC standar.
Informasi latar belakang
Sebagai titik masuk akses eksternal ke layanan internal, gerbang API melakukan otentikasi dan otorisasi terhadap permintaan masuk untuk melindungi layanan backend. Cloud-native API Gateway terintegrasi dengan sistem otentikasi yang Anda kelola sendiri melalui protokol OIDC, sehingga memungkinkan otentikasi terpadu untuk semua layanan yang terhubung tanpa perlu integrasi per layanan.
Otentikasi OIDC
OIDC adalah protokol otentikasi yang memungkinkan aplikasi pihak ketiga memverifikasi identitas pengguna akhir melalui penyedia identitas. Dibangun di atas OAuth 2.0, OIDC menambahkan ID Token—yaitu JSON Web Token (JWT) mandiri yang tahan manipulasi dan berisi informasi identitas dasar pengguna—yang dapat dikirim serta diverifikasi secara aman oleh aplikasi pihak ketiga.
Alur OIDC khas melibatkan empat peran berikut:
client: Aplikasi yang menyediakan layanan langsung kepada pengguna akhir.
authorization server: Penyedia OpenID yang menerbitkan ID Token kepada aplikasi pihak ketiga untuk keperluan otentikasi.
business server: Server yang menyediakan layanan bisnis.
end user: Pemilik resource yang memberikan akses terhadap informasinya.
Alur kerjanya sebagai berikut:
Client mengirim permintaan otentikasi ke authorization server.
Pengguna akhir memberikan otorisasi pada halaman otentikasi, biasanya dengan login menggunakan username dan password.
Authorization server memvalidasi permintaan otentikasi dan mengembalikan kode otorisasi ke client.
Client mengirim permintaan ke endpoint callback pada business server, termasuk kode otorisasi tersebut.
Business server meminta token dari authorization server. Permintaan tersebut mencakup kode otorisasi, client ID, dan client secret.
Authorization server memvalidasi permintaan dan mengembalikan ID Token.
Setelah otentikasi berhasil, business server mengembalikan ID Token ke client.
Client membuat permintaan bisnis yang menyertakan ID Token.
Business server memvalidasi ID Token dan mengembalikan respons bisnis.
Alur otentikasi OIDC pada gerbang
Pada alur OIDC sebelumnya, setiap business server (seperti layanan pengguna atau layanan pesanan) harus mengimplementasikan logika otentikasinya sendiri dan melakukan integrasi dengan authorization server. Cloud-native API Gateway memusatkan proses ini di tingkat gerbang, sehingga menghilangkan kebutuhan akan kode otentikasi per layanan.
Alur kerjanya sebagai berikut:
Client mengirim permintaan otentikasi ke gerbang.
Gerbang mengirim permintaan otentikasi ke authorization server.
Authorization server mengembalikan kode ke gerbang.
Gerbang mengembalikan kode tersebut ke client.
Client mengirim permintaan callback dengan kode tersebut ke gerbang.
Gerbang menukar kode tersebut dengan token dari authorization server.
Authorization server mengembalikan ID Token ke gerbang.
Gerbang mengembalikan respons sukses otentikasi ke client dan menyetel cookie.
Client memulai permintaan bisnis yang membawa cookie tersebut, dan gerbang memverifikasi token-nya.
Gerbang meneruskan permintaan bisnis yang membawa ID Token ke layanan bisnis.
Respons dari business server dikembalikan ke client melalui gerbang.
Selama proses ini, Cloud-native API Gateway memvalidasi setiap permintaan. Permintaan yang tidak valid akan dialihkan ke halaman login, di mana gerbang bertindak sebagai proxy authorization server untuk menangani otentikasi. Hal ini membuat authorization server transparan bagi server bisnis backend.
Buat aturan otentikasi dan otorisasi
Login ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Pada halaman Instance, klik nama instans gerbang target.
Di panel navigasi sebelah kiri, pilih .
Di pojok kiri atas halaman, klik Create Authentication. Konfigurasikan parameter otentikasi gerbang dan klik OK.
Tabel berikut menjelaskan parameter untuk otentikasi OIDC.
Parameter
Deskripsi
Enable
Menentukan apakah otentikasi diaktifkan untuk instans Cloud-native API Gateway.
Authentication Name
Nama kustom untuk aturan otentikasi.
Authentication Type
Pilih OIDC.
Domain Name
Nama domain tempat aturan otentikasi diterapkan.
Issuer
URL issuer dari authorization server.
Redirect URL
URL tempat end user dialihkan setelah otorisasi berhasil. URL ini harus sesuai dengan yang dikonfigurasi di penyedia identitas OIDC Anda.
PentingURL harus dalam format
http(s)://yourdomain/pathdan path-nya harus/oauth2/callback.Client ID
Client ID aplikasi Anda yang terdaftar di penyedia identitas.
Client secret
Client secret aplikasi Anda yang terdaftar di penyedia identitas.
Cookie domain
Domain untuk cookie sesi. Setelah end user diautentikasi, cookie dikirim ke domain ini untuk mempertahankan sesi login. Misalnya, jika Anda menyetel cookie domain ke
a.example.com, cookie dikirim ke domaina.example.com. Jika Anda menyetel cookie domain ke.example.com, cookie dikirim ke semua subdomainexample.com.Cookie secret
Rahasia yang digunakan untuk menandatangani digital cookie sesi guna mencegah manipulasi.
Scope
Tentukan cakupan otorisasi. Anda dapat menambahkan beberapa cakupan, dipisahkan dengan titik koma (;).
Authorization
Pilih mode otorisasi. Anda dapat memilih antara Whitelist Mode atau Blacklist Mode.
whitelist: Permintaan ke host dan path dalam daftar putih dapat melewati otentikasi. Semua permintaan lainnya memerlukannya.
blacklist: Hanya permintaan ke host dan path dalam blacklist yang memerlukan otentikasi. Semua permintaan lainnya dapat dilewatkan tanpa otentikasi.
Klik Rule Condition untuk menyetel nama domain dan path permintaan.
Domain Name: Host permintaan.
Path: Path API permintaan.
Detail otentikasi dan otorisasi
Login ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Pada halaman Instance, klik nama instans gerbang target.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Global Authentication, klik nama aturan otentikasi, atau klik Description di kolom Actions. Anda dapat melihat Authentication Configuration dan Authorization Information saat ini.
Halaman detail berisi tiga bagian. Basic Information menampilkan nama dan sumbernya. Authentication Configuration menampilkan bidang seperti issuer, client ID, Cookie domain, redirect URL, client secret, dan scope. Authorization Information menampilkan mode otorisasi saat ini (daftar putih atau blacklist). Beberapa kondisi aturan memiliki hubungan OR, sedangkan beberapa item yang cocok dalam satu kondisi aturan memiliki hubungan AND.
Di bagian Authorization Information, Anda dapat mengklik Create Authorization. Di kotak dialog yang muncul, masukkan Request Domain Name dan Request Path, pilih Match Mode, lalu klik OK untuk menambahkan aturan otorisasi baru.
Verifikasi hasil
Kembali ke halaman Global Authentication. Jika aturan yang Anda buat muncul dalam daftar, berarti aturan tersebut berhasil dibuat.
Operasi terkait
Anda juga dapat mengelola aturan otentikasi gerbang sebagai berikut:
-
Aktifkan aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi target dan klik Enable di kolom Actions.
-
Nonaktifkan aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi target dan klik Close di kolom Actions.
-
Edit aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi target dan klik Edit di kolom Actions.
-
Hapus aturan otentikasi: Di halaman Global Authentication, temukan aturan otentikasi target dan klik Delete di kolom Actions.
Anda harus menonaktifkan aturan otentikasi sebelum dapat menghapusnya.
Dokumentasi terkait
Untuk mempelajari mekanisme otentikasi lainnya, lihat Global Authentication.