全部產品
Search
文件中心

API Gateway:配置JWT認證鑒權

更新時間:Jan 08, 2025

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

前提條件

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

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

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

背景資訊

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

基於Token的認證

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

支援的接入整合方式

支援接入的繼承方式

建立鑒權

  1. 登入雲原生API Gateway控制台

  2. 在左側導覽列,選擇執行個體,並在頂部功能表列選擇地區。

  3. 執行個體頁面,單擊目標網關執行個體名稱。

  4. 在左側導覽列,單擊安全管理 > 全域認證鑒權

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

    配置項

    描述

    開啟

    是否開啟雲原生API Gateway鑒權。

    鑒權名稱

    自訂雲原生API Gateway鑒權的名稱。

    鑒權類型

    預設支援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. 登入雲原生API Gateway控制台

  2. 在左側導覽列,選擇執行個體,並在頂部功能表列選擇地區。

  3. 執行個體頁面,單擊目標網關執行個體名稱。

  4. 在左側導覽列,單擊安全管理 > 全域認證鑒權

  5. 全域認證鑒權頁面,單擊目標鑒權規則操作列的詳情,可查看當前服務的基本資料認證配置,也可查看並管理授權資訊

    jwt鑒權.png

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

結果驗證

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

相關操作

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

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

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

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

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

說明

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

相關文檔

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