全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Konfigurasikan SSO berbasis OIDC pada gateway ingress

更新时间:Jul 02, 2025

OpenID Connect (OIDC), yang dibangun di atas protokol OAuth 2.0, adalah protokol untuk otentikasi identitas dan otorisasi. Protokol ini umumnya digunakan untuk mengimplementasikan Single Sign-On (SSO). Setelah mengonfigurasi SSO berbasis OIDC pada gateway ingress, Anda dapat menggunakan informasi identitas dari Alibaba Cloud IDentity as a Service (IDaaS) atau penyedia identitas lain (IdP) yang sesuai dengan protokol OIDC untuk masuk ke beberapa sistem terkait dengan satu ID tanpa memodifikasi aplikasi Anda. Hal ini meningkatkan keamanan aplikasi serta menyederhanakan pengembangan dan manajemen aplikasi.

Prasyarat

Prosedur

Dalam contoh ini, sebuah instance Alibaba Cloud IDaaS digunakan sebagai IdP untuk mengimplementasikan SSO ke aplikasi dalam ASM. Jika Anda menggunakan OIDC IdP yang dikelola sendiri, lihat Integrasikan Keycloak dengan ASM untuk mengimplementasikan single sign-on.

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih ASM Gateways > Ingress Gateway.

  3. Di halaman Ingress Gateway, klik gateway ingress yang ingin digunakan.

  4. Di panel navigasi kiri, pilih Gateway Security > OIDC Single Sign-On.

  5. Di langkah OIDC Config wizard konfigurasi, aktifkan Enable gateway OIDC Single Sign-On, konfigurasikan parameter yang diperlukan, lalu klik Next.

    Parameter

    Deskripsi

    Redirect address

    Dalam contoh ini, Use ingressgateway IP address dan http dipilih.

    Callback Address

    URL tempat pengguna dialihkan.

    OIDC Issuer URL

    URL yang digunakan untuk mengidentifikasi dan mengotentikasi penerbit OIDC.

    Client ID

    ID klien yang disediakan oleh penerbit.

    Client Secret

    Rahasia klien yang disediakan oleh penerbit.

    Cookie Secret

    String seed untuk cookie aman, yang dapat dienkripsi Base64.

    Cookie Expire

    Jangka waktu validitas cookie. Cookie kedaluwarsa setelah periode tersebut berakhir. Jika Anda menetapkan parameter ini ke 0, cookie tidak akan kedaluwarsa.

    Cookie refresh interval

    Interval di mana cookie diperbarui. Jika Anda menetapkan parameter ini ke 0, cookie tidak diperbarui.

    Scopes

    Jenis informasi pengguna yang dapat diperoleh. Scopes yang ditentukan harus didukung oleh penerbit.

    OIDC配置

  6. Di langkah Matching Rule wizard konfigurasi, konfigurasikan parameter yang diperlukan dan klik Submit.

    Parameter

    Deskripsi

    Match Mode

    Dalam contoh ini, Auth If Matched dipilih. Nilai yang valid:

    • Auth If Matched: Pengguna harus masuk untuk mengakses sumber daya di jalur yang ditentukan.

    • Bypass Auth If Matched: Pengguna tidak perlu masuk untuk mengakses sumber daya di jalur yang ditentukan.

    Add Match Rule

    Aktifkan saklar Path dan atur parameter ini ke /productpage. Konfigurasi ini menunjukkan bahwa permintaan untuk mengakses sumber daya di jalur /productpage memerlukan otentikasi OIDC.

    Di langkah Complete wizard konfigurasi, muncul pesan yang menunjukkan bahwa SSO berbasis OIDC berhasil dikonfigurasikan, dan sumber daya keamanan Istio asli ditampilkan. Anda dapat mengklik YAML untuk melihat konfigurasi sumber daya.

  7. Gunakan browser untuk mengakses http://${Alamat gateway ASM}/productpage untuk memeriksa apakah konfigurasi SSO berbasis OIDC berlaku.

    Ganti ${alamat IP dari gateway ingress} dengan alamat IP dari gateway ingress yang diinginkan. Jika halaman berikut muncul, itu menunjukkan bahwa akses berhasil dan konfigurasi SSO berbasis OIDC berlaku.验证OIDC是否生效

FAQ

Setelah SSO berbasis OIDC dikonfigurasikan pada gateway ingress, apakah aplikasi saya perlu mendapatkan token akses atau meminta informasi pengguna dari IdP?

Setelah SSO berbasis OIDC dikonfigurasikan pada gateway ingress, aplikasi Anda dapat mengabaikan logika terkait otorisasi dan otentikasi IdP. Aplikasi Anda menerima permintaan yang berisi header dengan kunci Authorization. Header ini ditambahkan saat permintaan diproses oleh gateway ingress. Header ini adalah JSON Web Token (JWT) yang dihasilkan oleh IdP. Payload JWT berisi informasi pengguna yang diperlukan oleh aplikasi Anda dan JWT telah diautentikasi oleh gateway ingress. Oleh karena itu, aplikasi Anda tidak perlu mengotentikasi ulang JWT. Aplikasi Anda dapat langsung mengurai header ini dari permintaan tanpa perlu meminta informasi pengguna dari IdP.

Setelah SSO berbasis OIDC dikonfigurasikan, sebuah cookie ditambahkan ketika saya masuk ke browser. Apakah cookie ini penting untuk aplikasi saya?

Aplikasi Anda dapat mengabaikan cookie ini. Cookie ini digunakan oleh gateway untuk mencatat status sesi saat ini dan tidak bermakna bagi aplikasi Anda. Aplikasi Anda cukup mendapatkan JWT dalam permintaan.

Bagaimana cara mendapatkan informasi tambahan yang disediakan oleh IdP saya?

Tidak diperlukan konfigurasi di ASM. Anda perlu merujuk pada implementasi IdP yang sesuai. Dalam contoh ini, Alibaba Cloud IDaaS digunakan.

Bagaimana cara keluar dari aplikasi?

Anda dapat keluar dari aplikasi dengan melakukan langkah-langkah berikut:

  1. Keluar dari IdP. Anda harus keluar dari IdP menggunakan metode yang disediakan oleh IdP Anda. Umumnya, IdP menyediakan URI untuk keluar. Anda dapat keluar dari IdP dengan mengunjungi URI tersebut.

  2. Hapus cookie yang ditetapkan oleh gateway ingress di klien. Anda dapat memanggil path /oauth2/sign_out secara langsung, dan gateway ingress secara otomatis menghapus cookie yang sesuai.

ASM V1.18.147 dan yang lebih baru memungkinkan Anda mengonfigurasi titik akhir logoff IdP pada gateway ingress. Anda dapat memasukkan titik akhir pada halaman konfigurasi OIDC. Kemudian, dalam konfigurasi aturan pencocokan, Anda dapat menentukan bahwa permintaan untuk mengakses sumber daya di path /oauth2/sign_out tidak memerlukan otentikasi OIDC. Setelah konfigurasi selesai, ketika Anda mengunjungi path /oauth2/sign_out menggunakan browser, cookie yang sesuai akan dihapus dan Anda akan dialihkan ke titik akhir logoff yang Anda tetapkan. Untuk informasi lebih lanjut tentang cara keluar dari Alibaba Cloud IDaaS, lihat SLO.

Referensi

  • Untuk informasi lebih lanjut tentang item konfigurasi aplikasi OIDC, seperti operasi API, rotasi rahasia, jenis grant OIDC yang didukung oleh IDaaS, konfigurasi di IDaaS, dan konfigurasi di aplikasi, lihat Konfigurasi umum, Konfigurasikan SSO, Konfigurasi SSO OIDC, dan Aturan untuk nilai bidang id_token OIDC yang diperluas.

  • Ketika pengguna yang masuk ke aplikasi dengan mengimplementasikan SSO dari IDaaS ingin keluar, pengguna dapat memulai logout global di aplikasi untuk mengakhiri sesi aplikasi serta sesi masuk utama IDaaS. Untuk informasi lebih lanjut, lihat SLO.