OpenID Connect (OIDC) adalah protokol otentikasi identitas dan otorisasi berbasis OAuth 2.0 yang umum digunakan untuk mengimplementasikan single sign-on (SSO). Dengan mengonfigurasi OIDC SSO dalam kebijakan keamanan ASM, Anda dapat memanfaatkan Alibaba Cloud IDaaS atau penyedia identitas (IdP) lain yang kompatibel dengan OIDC sehingga pengguna cukup login sekali untuk mengakses beberapa aplikasi. Pendekatan ini tidak memerlukan perubahan pada aplikasi itu sendiri, sehingga meningkatkan keamanan sekaligus menyederhanakan pengembangan dan manajemen.
Prasyarat
Sebuah aplikasi telah dideploy di kluster yang ditambahkan ke instans ASM.
-
Anda telah mendeploy gerbang masuk (ingress gateway) dan memperoleh alamatnya.
-
Anda telah membuat aturan gateway dan layanan virtual untuk memastikan jalur-jalur berikut dapat diakses. Untuk informasi lebih lanjut, lihat Langkah 1 hingga 3 di Gunakan sumber daya Istio untuk merutekan traffic antar versi.
http://${GATEWAY_ADDRESS}/productpage http://${GATEWAY_ADDRESS}/api/v1/products/1 http://${GATEWAY_ADDRESS}/static/jquery.min.js -
Anda telah mengonfigurasi penyedia identitas (IdP). Untuk petunjuknya, lihat Langkah 1 dan Langkah 2 di Integrasikan ASM dengan Alibaba Cloud IDaaS untuk mengaktifkan SSO bagi aplikasi dalam service mesh.
Setelah IdP dikonfigurasi, Anda akan memperoleh informasi berikut, yang diperlukan untuk konfigurasi di Langkah5.
redirect uri: http://${GATEWAY_ADDRESS}/oauth2/callback issuer: https://eiam-api-cn-hangzhou.aliyuncs.com/v2/idaas_tbn25osdlmz6gtqfq3j2pz****/app_ml5tzapsl7zmfo53wb3nwk****/oidc client id: app_ml5tzapsl7zmfo53wb3nwk**** client secret: CSCfHeZ1nyvfMWyKHtE8ZRdif7j89dv9CvmJLurtGC****
Prosedur
Topik ini menggunakan IdP dari Alibaba Cloud IDaaS sebagai contoh. Jika Anda menggunakan layanan OIDC yang dikelola sendiri, lihat Integrasikan ASM dengan Keycloak untuk mengaktifkan SSO bagi aplikasi dalam service mesh.
-
Login ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
-
Di halaman ASMSecurityPolicy, klik Create.
-
Di kotak dialog Create ASMSecurityPolicy, klik OIDC Single Sign-On, lalu klik OK.
-
Di wizard OIDC Config, konfigurasikan parameter dan klik Next.
Tabel berikut menjelaskan parameter untuk contoh ini.
Parameter
Deskripsi
ASMSecurityPolicyName
Tetapkan nama menjadi test-oidc.
Redirect address
Anda dapat memilih Use ingressgateway IP address atau Customized Domain. Pada contoh ini, pilih Use ingressgateway IP address, lalu pilih http dan ingressgateway.
Callback Address
URI redirect.
OIDC Issuer URL
URL yang mengidentifikasi dan memvalidasi penyedia OIDC.
Client ID
ID client yang diberikan oleh IdP.
Client Secret
Rahasia client yang diberikan oleh IdP.
Cookie Secret
Seed untuk cookie aman. Encoding Base64 didukung.
Cookie Expire
Durasi validitas cookie. Nilai 0 menunjukkan bahwa cookie tidak pernah kedaluwarsa.
Cookie refresh interval
Interval pembaruan cookie. Nilai 0 menonaktifkan pembaruan.
Scopes
Tentukan scope yang ingin diambil. Scope yang ditentukan harus didukung oleh issuer.
Untuk informasi lebih lanjut tentang scope, lihat Integrasikan ASM dengan Alibaba Cloud IDaaS untuk mengaktifkan SSO bagi aplikasi dalam service mesh.
Pada contoh ini, tetapkan Cookie expiration menjadi
3600detik, tetapkan Cookie refresh interval menjadi600detik, dan pilih openid serta phone untuk Scopes. -
Di wizard Workload and Match Rules, klik Add Workload Group. Di kotak dialog New Workload Group, konfigurasikan parameter, klik OK, lalu klik Submit.
Tabel berikut menjelaskan parameter untuk contoh ini.
Parameter
Deskripsi
Workload Group Name
Tetapkan nama menjadi test-policy.
Workload List
Secara default, gateway yang dikonfigurasi untuk Redirect address pada langkah sebelumnya dipilih dan tidak dapat diubah. Untuk memilih workload lain, kembali ke wizard OIDC Config dan ubah informasi Redirect address.
CatatanJika Anda memilih Customized Domain untuk Redirect address di wizard OIDC Config, lakukan langkah-langkah berikut:
-
Di kotak dialog New Workload Group, klik Add Workload, lalu pilih Gateway Scope.
-
Di bagian Select workloads, pilih workload target, klik ikon
untuk memindahkannya ke area selected, lalu klik OK.
Match Rule List
Match Mode memiliki dua opsi:
-
Auth If Matched: Memerlukan otentikasi untuk permintaan yang sesuai dengan aturan yang ditentukan.
-
Bypass Auth If Matched: Permintaan yang sesuai dengan aturan dapat diakses tanpa otentikasi.
Pada contoh ini, tetapkan Match Mode menjadi Auth If Matched dan Match Mode menjadi Custom Matching Rules. Lalu, klik Add Match Rule untuk menambahkan aturan yang mewajibkan otentikasi OIDC untuk jalur yang dimulai dengan /static dan /api.
-
Aturan 1: Aktifkan Path dan tetapkan nilainya menjadi /static/*.
-
Aturan 2: Aktifkan Path dan tetapkan nilainya menjadi /api/*.
Setelah kebijakan dibuat, langkah Complete menampilkan pesan bahwa kebijakan keamanan ASM berhasil dibuat. Anda dapat mengklik View YAML untuk melihat sumber daya yang dibuat, atau klik Complete untuk kembali ke halaman ASMSecurityPolicy dan melihat kebijakan keamanan baru tersebut.
-
-
Verifikasi konfigurasi OIDC SSO.
-
Di browser web, akses URL berikut secara berurutan.
http://${GATEWAY_ADDRESS}/productpage http://${GATEWAY_ADDRESS}/api/v1/products/1 http://${GATEWAY_ADDRESS}/static/jquery.min.jsHasil berikut mengonfirmasi bahwa konfigurasi OIDC SSO berfungsi:
-
Permintaan ke jalur yang dimulai dengan
/productpagedapat diakses tanpa otentikasi. Saat Anda mengakses productpage aplikasi contoh BookInfo, ringkasan buku The Comedy of Errors ditampilkan. -
Permintaan ke jalur yang dimulai dengan
/apidan/staticmemerlukan otentikasi. Saat mengakses jalur-jalur ini, Anda akan dialihkan ke halaman login Alibaba Cloud IDaaS. Anda harus memasukkan kredensial di kotak teks Account, phone, or email dan Password, lalu klik Log On untuk melakukan otentikasi.
-
-
Ubah konfigurasi OIDC SSO.
-
Di halaman ASMSecurityPolicy, temukan kebijakan keamanan OIDC target dan klik edit di kolom Operator.
-
Di wizard OIDC Config, klik Next.
-
Di wizard Workload and Match Rules, temukan grup workload target dan klik edit di kolom Operator. Ubah konfigurasi, klik OK, lalu klik Submit.
Tabel berikut menjelaskan parameter untuk contoh ini.
Parameter
Deskripsi
Match Mode
Pilih Bypass Auth If Matched.
Matching Rules
Klik Add Match Rule untuk mengonfigurasi aturan berikut. Konfigurasi ini memungkinkan permintaan ke jalur yang dimulai dengan /productpage dan /static melewati otentikasi OIDC.
-
Aturan 1: Aktifkan Path dan tetapkan nilainya menjadi /productpage.
-
Aturan 2: Aktifkan Path dan tetapkan nilainya menjadi /static/*.
-
-
-
Untuk memverifikasi perubahan, buka jendela penyamaran baru di browser Anda dan akses URL berikut.
http://${GATEWAY_ADDRESS}/productpage http://${GATEWAY_ADDRESS}/api/v1/products/1 http://${GATEWAY_ADDRESS}/static/jquery.min.jsHasil berikut mengonfirmasi bahwa konfigurasi yang dimodifikasi berfungsi.
-
Permintaan ke jalur yang dimulai dengan
/productpagedan/staticdapat diakses tanpa otentikasi. -
Permintaan ke jalur yang dimulai dengan
/apimemerlukan otentikasi.
-
-
Dokumen Terkait
-
Untuk informasi lebih lanjut tentang pengaturan aplikasi OIDC, seperti akses API, rotasi kunci, dukungan IDaaS untuk berbagai mode OIDC, serta konfigurasi di sisi IDaaS dan aplikasi, lihat Konfigurasi Dasar, Petunjuk Umum Single Sign-On, Konfigurasi OIDC SSO, dan Spesifikasi nilai ekstensi OIDC id_token.
-
Setelah login ke aplikasi dengan SSO IDaaS, Anda dapat memulai logout global dari aplikasi untuk mengakhiri sesi utama IDaaS. Proses ini disebut Single Log-Out (SLO). Untuk informasi lebih lanjut, lihat Single Log-Out (SLO).