雲原生最佳實踐系列 6:MSE 雲原生閘道器使用 JWT 進行認證鑑權

阿里云云栖号發表於2024-04-29

01 方案概述

MSE 閘道器可以為後端服務提供轉發路由能力,在此基礎上,一些敏感的後端服務需要特定認證授權的使用者才能夠訪問。MSE 雲原生閘道器致力於提供給雲上使用者體系化的安全解決方案,其中 JWT 認證能力是在 Json Web Token 這種結構化令牌的基礎上實現了一套基於使用者體系對使用者的 API(服務)進行授權訪問的機制,滿足使用者個性化安全設定的需求。本最佳實踐方案就是介紹如何在 MSE 閘道器中整合 JWT 進行全域性認證鑑權的配置。

方案示意圖如下所示:

雲原生最佳實踐系列 6:MSE 雲原生閘道器使用 JWT 進行認證鑑權

02 應用場景

藉助 CADT 迅速的搭建 MSE 閘道器以及 SAE 例項,並部署測試應用(jwt-demo),在MSE 閘道器上配置對應的測試路由(/login、/biz),並配置 JWT 的全域性認證鑑權功能,透過 postman 進行模擬測試。

主要步驟:

1. 透過 CADT 快速完成環境部署

2. 透過工具欄生成 JWT 所需的公鑰、私鑰

3. SAE 上部署測試應用 jwt-demo

4. MSE 上配置後端服務及路由,並配置 JWT 的全域性認證鑑權

5. 透過 postman 工具發起模擬測試請求,驗證功能是否符合預期

6. 測試結束釋放環境

03 部署架構

雲原生最佳實踐系列 6:MSE 雲原生閘道器使用 JWT 進行認證鑑權

架構說明:

本方案涉及的雲產品包括一個 MSE 例項(前面掛公網 NLB)、一個私網 CLB、一個部署在 SAE 中的測試應用。

04 產品介紹

專有網路 VPC(Virtual Private Cloud):是使用者基於阿里雲建立的自定義私有網路, 不同的專有網路之間二層邏輯隔離,使用者可以在自己建立的專有網路內建立和管理雲產品例項,比如 ECS、負載均衡、RDS 等。

傳統型負載均衡 CLB(Classic Load Balancer):支援 TCP、UDP、HTTP 和 HTTPS 協議,具備良好的四層處理能力,以及基礎的七層處理能力。

雲原生閘道器 MSE(Microservices Engine):MSE 雲原生閘道器是相容 K8s Ingress標準的下一代閘道器產品,將傳統的流量閘道器和微服務閘道器功能合併,降低 50%資源開銷,支援 ACK 容器服務和 Nacos 等多種服務發現方式,支援多種認證登入方式快速構建安全防線。

Serverless 應用引擎 SAE(Serverless App Engine):是一款零程式碼改造、極簡易用、自適應彈性的應用全託管平臺。SAE 能夠讓您免運維 IaaS 和 K8s,秒級完成從原始碼、程式碼包、Docker 映象部署任意語言的線上應用(例如 Web、微服務、Job 任務)到 SAE,並自動伸縮例項按使用量計費,開箱即用日誌、監控、負載均衡等配套能力。

雲速搭 CADT(Cloud Architect Design Tools):是一款為上雲應用提供自助式雲架構管理的產品,顯著地降低應用雲上管理的難度和時間成本。本產品提供豐富的預製應用架構模板,同時也支援自助拖拽方式定義應用雲上架構;支援較多阿里雲服務的配置和管理。使用者可以方便的對雲上架構方案的成本、部署、運維、回收進行全生命週期的管理。

05 前置條件

在進行本文操作之前,您需要完成以下準備工作:

1)註冊阿里雲賬號,並完成實名認證。您可以登入阿里雲控制檯,並前往實名認證頁面https://account.console.aliyun.com/v2/#/authc/home檢視是否完成實名認證。

2)購買按量付費資源,阿里雲賬戶餘額需要大於 100 元。考慮到部署後每小時會產生費用,建議賬號內餘額或者代金券金額大於 200 元。您可以登入阿里雲控制檯,前往賬戶總覽頁面https://usercenter2.aliyun.com/home檢視賬戶餘額。

06 操作步驟

本實踐可透過 CADT 官方模板快速拉起演示環境。

1. CADT 基礎環境搭建

2. 工具生成公鑰、私鑰、JWKS

2.1. 生成公私鑰

2.2. 生成 JWKS

3. SAE 部署應用

3.1. SAE 中透過應用環境變數設定公鑰、私鑰

3.2. SAE 中新增私網 CLB

4. MSE 閘道器配置及測試驗證

4.1. 配置 jwt-demo 後端服務

4.2. 配置路由並測試驗證

4.3. 配置全域性認證鑑權並測試驗證

5. 其他說明

6. 一鍵釋放資源

原文連結

本文為阿里雲原創內容,未經允許不得轉載。

相關文章