Mengonfigurasi otentikasi secara terpisah untuk setiap layanan backend menambah kompleksitas dan ketidakkonsistenan. Dengan otentikasi IDaaS pada gateway cloud-native, gateway menangani otentikasi secara terpusat. Gateway tersebut mencegat permintaan masuk, mengalihkan pengguna yang belum diautentikasi ke instans Identity as a Service (IDaaS) Anda untuk login, lalu meneruskan permintaan yang telah diautentikasi ke layanan hulu.
Cara kerja
Gateway cloud-native menggunakan alur kode otorisasi OAuth 2.0 untuk mengotentikasi permintaan melalui instans IDaaS Anda:
Klien mengirim permintaan ke gateway.
Jika tidak ada cookie sesi yang valid, gateway mengalihkan klien ke URL logon IDaaS.
Klien melakukan otentikasi dengan IDaaS dan memberikan persetujuan.
IDaaS mengalihkan kembali klien ke gateway dengan kode otorisasi, menggunakan URL pengalihan yang telah dikonfigurasi.
Gateway menukar kode otorisasi tersebut dengan token dan memvalidasinya.
Setelah validasi berhasil, gateway menetapkan cookie sesi pada domain cookie yang dikonfigurasi dan meneruskan permintaan ke layanan hulu.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans IDaaS Alibaba Cloud yang diaktifkan
Aplikasi OAuth 2.0 yang dibuat di Konsol IDaaS, dengan client ID, client secret, dan URL logon yang telah dicatat
URL pengalihan yang ditentukan untuk gateway Anda dan dikonfigurasi dalam pengaturan aplikasi IDaaS
Buat aturan otentikasi
Login ke Konsol MSE.
Pada panel navigasi sebelah kiri, pilih Cloud-native Gateway > Gateways.
Pada bilah navigasi atas, pilih Wilayah.
Pada halaman Gateways, klik nama gateway tersebut.
Pada panel navigasi sebelah kiri, pilih Security Management > Global Authentication.
Di sudut kiri atas, klik Create Authentication.
Pada panel Create Authentication, konfigurasikan parameter berikut lalu klik OK.

Parameter Wajib Deskripsi Authentication Name Ya Nama untuk aturan otentikasi ini. Gunakan nama deskriptif yang mengidentifikasi tujuannya, misalnya idaas-prod-auth.Authentication Type Ya Pilih IDaaS. Logon URL Ya URL logon instans IDaaS Anda. Dapatkan nilai ini dari pengaturan aplikasi IDaaS Anda. Redirect URL Ya URL tempat IDaaS mengalihkan kembali setelah otentikasi berhasil. URL ini harus persis sama dengan URL pengalihan yang dikonfigurasi di aplikasi IDaaS Anda. Client-ID Ya Client ID aplikasi OAuth 2.0 IDaaS Anda. Client-Secret Ya Client secret aplikasi OAuth 2.0 IDaaS Anda. Jangan pernah mengekspos nilai ini di log atau version control. Cookie-Domain Ya Domain untuk cookie sesi yang mempertahankan status login setelah otentikasi. Cookie-Domain=a.example.commembatasi cookie hanya untuka.example.com.Cookie-Domain=.example.commengirim cookie ke semua subdomainexample.com. Gunakan cakupan paling sempit yang mencakup aplikasi Anda untuk mengurangi eksposur cookie.Authorization Ya Pilih Whitelist atau Blacklist untuk mengontrol permintaan mana yang memerlukan otentikasi. Lihat Konfigurasikan aturan otorisasi.
Konfigurasikan aturan otorisasi
Pengaturan Authorization menentukan cara gateway mengevaluasi permintaan mana yang memerlukan otentikasi:
Whitelist: Permintaan yang sesuai dengan host dan path yang ditentukan melewati otentikasi. Semua permintaan lainnya memerlukan otentikasi.
Blacklist: Hanya permintaan yang sesuai dengan host dan path yang ditentukan yang memerlukan otentikasi. Semua permintaan lainnya dilewatkan tanpa otentikasi.
Untuk menambahkan kondisi aturan:
Klik Rule Condition.
Tentukan parameter permintaan:
Domain Name: Host tempat aturan diterapkan.
Path: Path tempat aturan diterapkan.
Lihat detail otentikasi
Setelah membuat aturan otentikasi, Anda dapat melihat konfigurasinya dan menambahkan aturan otorisasi.
Login ke Konsol MSE.
Pada panel navigasi sebelah kiri, pilih Cloud-native Gateway > Gateways.
Pada bilah navigasi atas, pilih Wilayah.
Pada halaman Gateways, klik nama gateway tersebut.
Pada panel navigasi sebelah kiri, pilih Security Management > Global Authentication.
Pada halaman Authentication, klik nama aturan otentikasi tersebut. Atau, temukan aturan tersebut lalu klik Details pada kolom Actions.
Tinjau bagian Authentication configuration dan Authorization Info.
Untuk menambahkan aturan otorisasi ke konfigurasi yang sudah ada, klik Create Authorization Info pada bagian Authorization Info. Konfigurasikan parameter Request Host dan Request Path.
Verifikasi konfigurasi
Setelah membuat aturan otentikasi, aturan tersebut akan muncul di halaman Authentication.
Untuk memastikan bahwa otentikasi IDaaS berfungsi sebagaimana mestinya:
Aktifkan aturan otentikasi tersebut. Lihat Kelola aturan otentikasi.
Buka browser dan arahkan ke URL yang dilindungi oleh aturan tersebut.
Pastikan browser mengalihkan ke halaman logon IDaaS.
Login dengan kredensial yang valid dan pastikan browser mengalihkan kembali ke URL awal.
Kelola aturan otentikasi
Pada halaman Global Authentication, temukan aturan otentikasi tersebut dan gunakan kolom Actions:
| Action | Deskripsi |
|---|---|
| Enable | Mengaktifkan aturan otentikasi. Permintaan yang sesuai dengan aturan tersebut akan dikenai otentikasi IDaaS. |
| Disable | Menonaktifkan aturan otentikasi. Permintaan dilewatkan tanpa otentikasi IDaaS. |
| Edit | Memodifikasi konfigurasi aturan otentikasi. |
| Delete | Menghapus aturan otentikasi. Nonaktifkan aturan tersebut sebelum menghapusnya. |
Catatan: Nonaktifkan aturan otentikasi sebelum menghapusnya. Aturan yang aktif tidak dapat dihapus.
FAQ
Browser tidak mengalihkan ke halaman logon IDaaS
Periksa apakah aturan otentikasi telah diaktifkan di halaman Global Authentication.
Pastikan URL permintaan sesuai dengan kondisi aturan otorisasi (host dan path).
Jika Anda menggunakan Whitelist, pastikan URL permintaan tidak termasuk dalam daftar putih. Permintaan yang masuk daftar putih melewati otentikasi.
Otentikasi gagal dengan error pengalihan
Periksa apakah Redirect URL di Konsol MSE persis sama dengan URL pengalihan di aplikasi IDaaS Anda. Ketidaksesuaian menyebabkan pertukaran kode otorisasi OAuth 2.0 gagal.
Pastikan URL pengalihan dapat diakses dari browser klien.
Cookie sesi tidak disetel setelah otentikasi berhasil
Periksa nilai Cookie-Domain. Jika domain cookie tidak sesuai dengan domain layanan yang Anda akses, browser tidak akan mengirimkan cookie tersebut.
Gunakan cakupan domain paling sempit yang mencakup aplikasi Anda. Misalnya, gunakan
a.example.comdaripada.example.comjika hanya satu subdomain yang memerlukan otentikasi.