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應用授權,為應用的擴充提供了便利。
支援的接入整合方式

建立鑒權
在左側導覽列,選擇執行個體,並在頂部功能表列選擇地區。
在執行個體頁面,單擊目標網關執行個體名稱。
在左側導覽列,單擊。
在全域認證鑒權頁面左上方,單擊建立鑒權,然後配置網關鑒權相關參數,最後單擊確定。
配置項
描述
開啟
是否開啟雲原生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。
查看鑒權詳情
在左側導覽列,選擇執行個體,並在頂部功能表列選擇地區。
在執行個體頁面,單擊目標網關執行個體名稱。
在左側導覽列,單擊。
在全域認證鑒權頁面,單擊目標鑒權規則操作列的詳情,可查看當前服務的基本資料和認證配置,也可查看並管理授權資訊。

您可在授權資訊地區,單擊建立授權資訊,在對話方塊中輸入請求網域名稱和請求Path,新增授權規則。
結果驗證
返回全域認證鑒權頁面查看鑒權資訊,如果已包含建立的網關鑒權資訊,則說明網關認證鑒權建立成功。
相關操作
您還可以執行以下其他動作,管理網關的認證鑒權:
開啟鑒權:在全域認證鑒權頁面,單擊目標鑒權規則操作列的開啟,使認證鑒權資訊生效。
關閉鑒權:在全域認證鑒權頁面,單擊目標鑒權規則操作列的關閉,關閉網關認證鑒權資訊。
編輯鑒權:在全域認證鑒權頁面,單擊目標鑒權規則操作列的編輯,可編輯網關認證鑒權資訊。
刪除鑒權:在全域認證鑒權頁面,單擊目標鑒權規則操作列的刪除,可刪除網關認證鑒權資訊。
只有在認證鑒權資訊關閉的狀態下才可執行刪除操作。
相關文檔
如果您想瞭解其他認證鑒權機制,請參見全域認證鑒權。