JWT認證策略
更新時間 2025-02-21 10:08:00
最近更新時間: 2025-02-21 10:08:00
分享文章
JWT 是一種輕量級的身份驗證和鑒權機制,廣泛應用于Web開發、API安全、單點登錄等場景。服務網格支持配置JWT策略并應用到數據面實現請求身份認證,保護后端服務安全。
JWT策略配置說明
| 配置項 | 說明 |
|---|---|
| 安全策略名稱 | 策略名稱,如testjwt |
| Issuer | JWT的頒發者,如果請求帶的JWT中的iss字段和此字段不一致,則該JWT會被拒絕 |
| JWKS來源 | 用于驗證JWT的密鑰來源 |
| jwks | 用于驗證JWT的密鑰,當JWKS來源是jwks時填寫 |
| jwksUri | 用于驗證JWT的密鑰URI,當JWKS來源是jwksUri時填寫 |
| Audience | JWT頒發給的目標實體 |
| JWTToken位置 | 獲取JWT的位置,支持從請求頭或者請求Query參數中獲取 |
| JWT透傳 | 是否向后端透傳JWT信息 |
| 將Payload通過Header透傳 | 將JWT的Payload信息通過base64編碼后添加到Header透傳到后端 |
JWT策略綁定
策略生效粒度
當前支持命名空間、服務、工作負載、網關的生效粒度配置,說明如下
| 生效粒度 | 說明 |
|---|---|
| 命名空間 | 策略下發到所選擇命名空間下所有數據面 |
| 服務 | 策略下發到所選服務關聯的工作負載數據面 |
| 工作負載 | 策略下發到指定工作負載的數據面 |
| 網關 | 策略下發到網關 |
請求匹配規則
對于JWT策略、OIDC策略和自定義授權服務策略,支持基于請求特征匹配決定是否執行當前策略,支持的匹配項及說明如下
| 匹配項 | 說明 |
|---|---|
| HTTP域名(Host) | 匹配一組請求的域名 |
| HTTP路徑(Path) | 匹配一組請求路徑 |
| HTTP方法(Method) | 匹配一組請求的HTTP Method |
| 端口(Port) | 匹配一組請求的目標服務端口 |
說明域名和路徑匹配支持以下匹配模式
精確匹配:如abc匹配abc字符串
前綴匹配:abc*匹配abc、abcd、abce等
后綴匹配:*abc匹配abc、xabc、zabc等
存在匹配:*匹配所有非空值
請求匹配支持黑白名單模式
黑名單模式:選中請求必須執行認證策略
白名單模式:選中請求跳過認證策略,其他請求需要執行策略