全部產品
Search
文件中心

Microservices Engine:配置OIDC認證鑒權

更新時間:Aug 01, 2025

通過OIDC協議與企業的認證鑒權系統整合,可以實現對內部服務的統一認證和授權管理,避免了重複的對接工作,同時簡化了認證流程。雲原生網關提供了統一認證鑒權,加強了系統的安全性,並提供了更加靈活的安全性原則配置。整合OIDC協議還能實現單點登入,您只需一次登入即可訪問多個服務。

前提條件

已建立統一的認證鑒權服務,且支援標準的OIDC(OpenID Connect)協議。

背景資訊

網關作為外界訪問內部服務的一個控制點,需要對外部的請求進行認證鑒權,確保內部服務的安全性。企業內一般會自建一套統一的認證鑒權體系,雲原生網關支援通過OIDC協議與自建的認證鑒權體系打通,支援對接入的內部服務做統一認證鑒權,避免每個服務都需要對接認證鑒權體系。

基於OIDC認證

OIDC(OpenID Connect)是一種安全認證機制,第三方應用串連到身份認證供應商(Identify Provider)擷取使用者資訊,並把這些資訊以安全可靠的方式返回給第三方應用。OIDC對OAuth2.0協議進行了擴充,通過擴充的ID Token欄位,提供使用者基礎身份資訊,ID Token使用JWT(JSON Web Token)格式進行封裝,提供自包含性、防篡改機制,可以安全地傳遞給第三方應用程式並容易被驗證。

假設有以下四個角色:

  • 用戶端:直接為使用者提供服務。

  • 認證服務:OpenID提供方,通常是指OpenID證明伺服器,為第三方頒發用於認證的ID Token。

  • 商務服務:提供商務服務。

  • 使用者:指資源持有人。

商務程序如下:

  1. 用戶端發送認證請求給認證服務。

  2. 使用者在認證頁面進行授權確認(通過使用者名稱和密碼登入)。

  3. 認證服務對認證請求進行驗證,並返回Code給用戶端。

  4. 用戶端向商務服務請求回調介面,請求中攜帶Code。

  5. 商務服務請求認證服務頒發Token,請求中攜帶Code、Client ID、Client Secret。

  6. 認證服務驗證合法性,並返回ID Token。

  7. 認證成功,商務服務返回ID Token給用戶端。

  8. 用戶端向業務請求,請求中攜帶ID Token。

  9. 商務服務驗證ID Token是否合法,然後返回業務應答。

雲原生網關OIDC認證流程

在上述OIDC認證流程中,如果有不同的商務服務,例如使用者服務、訂單服務等,則每個商務服務都需要實現認證鑒權邏輯,包括校正請求是否合法、對接認證服務等。通過雲原生網關的OIDC認證功能,可以實現在網關統一認證鑒權。

商務程序如下:

  1. 用戶端向網關發起認證請求。

  2. 網關將認證請求直接轉寄到給認證服務。

  3. 認證服務讀取請求中的驗證資訊(例如使用者名稱、密碼)進行驗證,驗證通過後返回Code給網關。

  4. 網關將攜帶Code的應答返回給用戶端。

  5. 用戶端向網關請求回調介面,請求中攜帶Code。

  6. 網關請求認證服務頒發Token,請求中攜帶Code、Client ID、Client Secret。

  7. 認證服務驗證合法性,並返回ID Token。

  8. 認證成功,網關將攜帶ID Token的應答返回給用戶端。

  9. 用戶端向網關發起業務請求,請求中攜帶ID Token,網關校正請求中是否攜帶ID Token和合法性。

  10. 網關校正用戶端的業務請求合法,將請求透傳給商務服務。

  11. 商務服務進行業務處理後應答。

  12. 網關將業務應答返回用戶端。

在整個認證鑒權過程中,雲原生網關會驗證請求是否合法。如果請求不合法,雲原生網關會重新導向到使用者登入頁面,並能代理請求認證服務實現使用者登入認證,實現商務服務對認證服務無感知。

建立認證鑒權規則

  1. 登入MSE網關管理主控台

  2. 在左側導覽列,選擇云原生网关 > 网关列表,並在頂部功能表列選擇地區。

  3. 网关列表頁面,單擊目標網關名稱。

  4. 在左側導覽列,選擇安全管理 > 全局认证鉴权

  5. 在頁面左上方,單擊建立鑒權配置網關鑒權相關參數,然後單擊確定

    雲原生網關OIDC認證鑒權參數說明如下。

    參數

    描述

    鑒權名稱

    自訂雲原生網關鑒權的名稱。

    鑒權類型

    選擇OIDC認證方式。

    Issuer

    設定認證服務的Issuer,即簽發人。

    重新導向URL

    輸入授權成功後的重新導向地址,需要與OIDC中配置的重新導向地址保持一致。

    重要

    格式為http(s)://yourdomain/path(地址中的path必須為 /oauth2/callback

    Client-ID

    輸入服務註冊的應用ID。

    Client-Secret

    輸入服務註冊的應用Secret。

    Cookie-Domain

    輸入Cookie的網域名稱,認證通過後會將Cookie發送到指定的網域名稱,保持登入狀態。例如:設定Cookie-domain=a.example.com,則Cookie會發送到網域名稱a.example.com;設定Cookie-domain=.example.com,則Cookie會發送到example.com的所有子網域名稱。

    Scope

    輸入授權範圍,多個域值用英文分號(;)分隔。

    授權

    授權模式支援白名單模式黑名單模式

    • 白名單模式:白名單中的hosts+paths不需要校正即可訪問,其餘的都需要校正。

    • 黑名單模式:黑名單中的hosts+paths需要校正,其餘可直接存取。

    單擊+規則條件,佈建要求網域名稱和路徑。

    • 網域名稱:請求訪問的網域名稱,即hosts。

    • 路徑(Path):請求訪問的介面路徑,即paths。

建立認證路由

雲原生網關認證鑒權規則建立完成後,然後建立認證相關路由規則。具體操作,請參見建立路由

認證規則路由參數配置如下:

  • 關聯網域名稱:選擇建立鑒權配置的重新導向URL的網域名稱,如果沒有佈建網域名可以選擇*。

    重要

    如果使用HTTPS,必須佈建網域名並關聯。

  • 路徑:選擇首碼匹配,並輸入/oauth2

  • 目標服務:選擇目標服務oauth2-proxy。

查看鑒權詳情

  1. 登入MSE網關管理主控台

  2. 在左側導覽列,選擇云原生网关 > 网关列表,並在頂部功能表列選擇地區。

  3. 网关列表頁面,單擊目標網關名稱。

  4. 在左側導覽列,選擇安全管理 > 全局认证鉴权

  5. 全域認證鑒權頁面,單擊鑒權規則名稱或操作列的詳情,可查看當前認證配置授權資訊的管理。

    image.png

您可在授權資訊地區單擊建立授權資訊,在對話方塊中輸入請求網域名稱請求Path,並選擇匹配方式,單擊確定新增授權規則。

結果驗證

返回全域認證鑒權頁面查看鑒權資訊,如果已包含建立網關鑒權資訊,則說明網關認證鑒權建立成功。

相關操作

您還可以執行以下其他動作,管理網關的認證鑒權:

  • 開啟鑒權:在全局认证鉴权頁面,單擊目標鑒權規則操作列的開啟,使認證鑒權資訊生效。

  • 關閉鑒權:在全局认证鉴权頁面,單擊目標鑒權規則操作列的關閉,關閉網關認證鑒權資訊。

  • 編輯鑒權:在全局认证鉴权頁面,單擊目標鑒權規則操作列的編輯,可編輯網關認證鑒權資訊。

  • 刪除鑒權:在全局认证鉴权頁面,單擊目標鑒權規則操作列的刪除,可刪除網關認證鑒權資訊。

說明

只有在認證鑒權資訊關閉的狀態下才可執行刪除操作。

相關文檔

如果您想瞭解其他認證鑒權機制,請參見全域認證鑒權