全部產品
Search
文件中心

Microservices Engine:配置JWT認證鑒權

更新時間:Dec 27, 2024

JSON Web Token (JWT) 用於在用戶端和服務端之間以JSON對象的形式安全地傳輸資訊。該資訊可以被驗證和信任,因為JWT可以使用HMAC演算法、RSA或ECDSA的公開金鑰/私密金鑰對其進行簽名。JWT認證可以在網關中驗證身份並控制授權訪問。

前提條件

  • 瞭解JWT基本標準,請參見JWT簡介

  • 瞭解雲原生網關支援的整合方式:自主頒發Token(安全性有保障)和網關配置公開金鑰對請求驗簽。

  • 準備用於產生與驗證Token的私密金鑰與公開金鑰。私密金鑰用於授權服務的簽發JWT;公開金鑰配置在雲原生網關中,用於對請求驗簽。

背景資訊

雲原生網關致力於提供給雲上使用者體系化的安全解決方案,其中JWT認證能力是在Json Web Token這種結構化令牌的基礎上實現了一套基於使用者體系對使用者的API(服務)進行授權訪問的機制,滿足使用者個人化安全設定的需求。

基於Token的認證

雲原生網關對外開放的API需要識別要求者的身份,並據此判斷所請求的資源是否可以返回給要求者。Token就是一種用於身分識別驗證的機制,基於這種機制,應用不需要在服務端保留使用者的認證資訊或者會話資訊,可實現無狀態、分布式的Web應用授權,為應用的擴充提供了便利。

支援的接入整合方式

支援接入的繼承方式

建立鑒權

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

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

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

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

  5. 全局认证鉴权頁面左上方,單擊创建鉴权,然後配置網關鑒權相關參數,最後單擊确定

    配置項

    描述

    鉴权名称

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

    鉴权类型

    預設支援JWT認證方式。

    Issuer

    設定JWT Claims的Issuer,即簽發人。

    Sub

    設定JWT claims的sub(subject),即主體。

    JWKS

    設定JWT公開金鑰,參考格式如下:

    {
        "keys":[
             {
            "e":"AQAB",
            "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ",
            "kty":"RSA",
            "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-
    P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2
    He95lZdHtOcU5DXIg_pbhLdKXbi66Gl
    VeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-
    4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSG
    ZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZ
    PYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3D
    RrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"
              }
           ]
    }

    JWT Token配置

    設定JWT Token配置資訊。

    • 類型:Token參數類型,預設Header。

    • Key:Token參數名稱。

    • 首碼:Token參數名的首碼。設定需要校正的Token參數資訊,預設是以Bearer為首碼放在Authorization Header中,例如:Authorization: Bearer token

    • 是否透傳:選中Token參數透傳,表示透傳此Token參數到後端服務。

    授权

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

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

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

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

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

    • 請求path:請求訪問的介面Path,即paths。

查看鑒權詳情

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

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

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

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

  5. 全局认证鉴权頁面,單擊目標鑒權規則操作列的详情,可查看當前服務的基本信息认证配置,也可查看並管理授权信息

    jwt鑒權.png

    您可在授权信息地區,單擊创建授权信息,在對話方塊中輸入请求域名请求Path,新增授權規則。

結果驗證

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

相關操作

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

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

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

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

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

說明

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

相關文檔

如果您想瞭解其他認證鑒權機制,請參見網關認證鑒權概述