Integrasi protokol OpenID Connect (OIDC) dengan sistem autentikasi perusahaan memungkinkan penerapan manajemen autentikasi dan otorisasi terpadu untuk layanan internal. Pendekatan ini mengurangi operasi koordinasi berulang serta menyederhanakan proses autentikasi. Cloud-native API Gateway menyediakan autentikasi terpadu yang memperkuat keamanan sistem dan menawarkan pengalaman konfigurasi kebijakan keamanan yang lebih fleksibel. Selain itu, Single Sign-On (SSO) juga didukung melalui integrasi dengan protokol OIDC, sehingga Anda dapat mengakses berbagai layanan menggunakan SSO.
Prasyarat
Layanan autentikasi terpadu yang mendukung protokol OIDC standar telah tersedia.
Informasi latar belakang
Untuk mengontrol akses eksternal ke layanan internal, Cloud-native API Gateway melakukan autentikasi terhadap permintaan guna menjamin keamanan layanan. Umumnya, perusahaan memiliki sistem autentikasi terpadu yang dikelola sendiri. Instans Cloud-native API Gateway dapat diintegrasikan dengan sistem autentikasi tersebut melalui protokol OIDC dan menyediakan autentikasi terpadu bagi layanan internal yang terhubung, sehingga Anda tidak perlu menghubungkan setiap layanan secara terpisah ke sistem autentikasi.
Autentikasi OIDC
OIDC adalah protokol autentikasi yang memungkinkan aplikasi pihak ketiga terhubung ke penyedia identitas untuk memperoleh informasi pengguna. Penyedia identitas kemudian mengirimkan tanggapan secara aman ke aplikasi tersebut. OIDC memperluas protokol OAuth 2.0 dengan menyediakan informasi identitas pengguna dasar melalui bidang Token ID yang diperluas. Token ID dikemas dalam format JSON Web Token (JWT), yang menyediakan mekanisme mandiri dan tahan terhadap pemalsuan, sehingga memastikan transmisi dan verifikasi Token ID yang aman oleh aplikasi pihak ketiga.
OIDC mendefinisikan peran-peran berikut:
Client: menyediakan layanan langsung kepada end user.
Authorization server: penyedia OpenID, biasanya berupa server otorisasi OpenID, yang menerbitkan Token ID kepada pihak ketiga untuk keperluan autentikasi.
Business server: menyediakan layanan bisnis.
End user: pemilik resource.
Proses:
Client mengirimkan permintaan autentikasi ke authorization server.
End user masuk ke halaman otorisasi menggunakan username dan password, lalu mengonfirmasi permintaan autentikasi.
Authorization server memvalidasi permintaan autentikasi dan mengirimkan kode otorisasi ke client.
Client mengirimkan permintaan callback yang berisi kode otorisasi ke business server.
Business server mengirimkan permintaan ke authorization server yang mencakup kode otorisasi, client ID, dan client secret.
Authorization server memvalidasi permintaan dan mengembalikan Token ID.
Jika autentikasi berhasil, business server mengirimkan Token ID ke client.
Client membuat permintaan bisnis yang mencakup Token ID, lalu mengirimkannya ke business server.
Business server memvalidasi Token ID dan mengembalikan tanggapan bisnis ke client.
Autentikasi OIDC di Cloud-native API Gateway
Dalam skenario autentikasi OIDC tradisional, jika terdapat beberapa business server—seperti server pengguna dan server pesanan—autentikasi harus diimplementasikan secara terpisah pada masing-masing server. Misalnya, setiap business server harus memvalidasi permintaan dan terhubung langsung ke authorization server. Dengan fitur autentikasi OIDC dari Cloud-native API Gateway, Anda dapat menerapkan autentikasi terpadu secara efisien.
Prosesnya sebagai berikut:
Client mengirimkan permintaan autentikasi ke gateway.
Gateway meneruskan permintaan tersebut ke authorization server.
Authorization server membaca informasi autentikasi, seperti username dan password, dalam permintaan tersebut untuk memvalidasinya. Setelah validasi berhasil, authorization server mengembalikan kode otorisasi ke gateway.
Gateway mengirimkan tanggapan yang berisi kode otorisasi ke client.
Client mengirimkan permintaan callback yang berisi kode otorisasi ke gateway.
Gateway mengirimkan permintaan ke authorization server yang mencakup kode otorisasi, client ID, dan client secret.
Authorization server memvalidasi permintaan dan mengembalikan Token ID.
Jika autentikasi berhasil, gateway mengirimkan Token ID ke client.
Client membuat permintaan bisnis yang mencakup Token ID, lalu mengirimkannya ke gateway.
Gateway memvalidasi permintaan bisnis dan meneruskannya ke business server.
Business server memproses permintaan bisnis dan mengirimkan tanggapan bisnis ke gateway.
Gateway meneruskan tanggapan bisnis ke client.
Selama proses autentikasi, gateway memverifikasi validitas semua permintaan yang diterima. Jika suatu permintaan tidak valid, gateway akan mengarahkan ulang ke halaman logon pengguna dan mengirimkan permintaan ke authorization server untuk proses logon. Dengan demikian, authorization server menjadi transparan bagi business server.
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 yang ingin Anda kelola.
Di pohon navigasi sebelah kiri, pilih .
Di pojok kiri atas halaman yang muncul, klik Create Authentication. Pada panel Create Authentication, konfigurasikan parameter dan klik OK.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Enable
Tentukan apakah autentikasi akan diaktifkan.
Authentication Name
Masukkan nama untuk layanan autentikasi kustom.
Authentication Method
Pilih OIDC.
Domain Name
Tentukan nama domain tempat aturan autentikasi akan diterapkan.
Issuer
Masukkan nama issuer.
Redirect URL
Masukkan URL pengalihan yang digunakan setelah otorisasi selesai. Nilainya harus sama dengan URL pengalihan yang dikonfigurasi di OIDC.
PentingNilai parameter dalam format
http(s)://yourdomain/path. Dalam format ini, path harus diatur ke/oauth2/callback.Client-ID
Masukkan ID aplikasi dalam informasi pendaftaran layanan.
Client-Secret
Masukkan rahasia aplikasi dalam informasi pendaftaran layanan.
Cookie-Domain
Masukkan nama domain cookie. Setelah pengguna lolos autentikasi, cookie dikirim ke nama domain yang ditentukan untuk mempertahankan status logon pengguna. Misalnya, jika Anda mengatur
Cookie-Domainke a.example.com, cookie dikirim ke nama domain a.example.com. Jika Anda mengaturCookie-Domainke .example.com, cookie dikirim ke semua subdomain example.com.Scope
Masukkan cakupan OIDC. Pisahkan beberapa nilai dengan titik koma (;).
Authorization
Pilih metode otorisasi. Nilai yang valid: Whitelist dan Blacklist.
Whitelist: Hanya permintaan dengan hostname dan path yang Anda tentukan dalam daftar putih yang dapat mengakses gateway cloud-native tanpa autentikasi.
Blacklist: Hanya permintaan dengan hostname dan path yang Anda tentukan dalam blacklist yang memerlukan autentikasi.
Klik + Rule Condition untuk menambahkan nama domain dan path.
Domain Name: nama domain yang memerlukan akses ke gateway cloud-native.
Path: path yang memerlukan akses ke gateway cloud-native.
Lihat detail aturan autentikasi OIDC
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih Wilayah.
Pada halaman Instance, klik nama instans gateway yang ingin Anda kelola.
Di pohon navigasi sebelah kiri, pilih .
Pada halaman Global Authentication, klik nama aturan autentikasi atau klik Details di kolom Actions untuk melihat authentication configuration dan authorization information saat ini.

Di bagian Authorization Information, klik Add Authorization Information. Pada kotak dialog Add Authorization Information, tentukan Request Domain Name dan Request Path, pilih matching mode, lalu klik OK.
Verifikasi hasil
Kembali ke halaman Global Authentication untuk melihat informasi autentikasi. Jika aturan autentikasi gateway baru ditampilkan, berarti aturan tersebut berhasil dibuat.
Langkah selanjutnya
Anda dapat melakukan operasi berikut pada aturan autentikasi instans gateway:
Aktifkan aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi yang ingin Anda kelola dan klik Enable di kolom Actions.
Nonaktifkan aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi yang ingin Anda kelola dan klik Disable di kolom Actions.
Ubah aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi yang ingin Anda kelola dan klik Edit di kolom Actions.
Hapus aturan autentikasi: Pada halaman Global Authentication, temukan aturan autentikasi yang ingin Anda kelola dan klik Delete di kolom Actions.
Hanya aturan autentikasi yang dinonaktifkan yang dapat dihapus.
Referensi
Untuk informasi selengkapnya mengenai mekanisme autentikasi lainnya, lihat Ikhtisar.