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

方案概述

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

方案示意圖如下所示:

應用場景

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

主要步驟:

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

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

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

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

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

  6. 測試結束釋放環境

部署架構

架構說明:

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

產品介紹

專有網絡 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): 是一款爲上雲應用提供自助式雲架構管理的產品,顯著地降低應用雲上管理的難度和時間成本。本產品提供豐富的預製應用架構模板,同時也支持自助拖拽方式定義應用雲上架構;支持較多阿里雲服務的配置和管理。用戶可以方便的對雲上架構方案的成本、部署、運維、回收進行全生命週期的管理。

前置條件

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

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

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

操作步驟

本實踐可通過 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. 一鍵釋放資源

最佳實踐全部內容,請點擊此處查看。對方案和產品感興趣的朋友,可以加入釘釘羣交流(羣號:31852400)。

往期文章:

雲原生最佳實踐系列 1:藉助雲速搭 CADT 如何實現 Kafka 的性能壓測?

雲原生最佳實踐系列2:基於 MSE 雲原生網關同城多活

雲原生最佳實踐系列 3:基於 SpringCloud 應用玩轉 MSE

雲原生最佳實踐系列 4:基於 MSE 和 SAE 的微服務部署與壓測雲原生最佳實踐系列 5:基於函數計算 FC 實現阿里雲 Kafka 消息內容控制 MongoDB DML 操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章