写点什么

云原生最佳实践系列 6:MSE 云原生网关使用 JWT 进行认证鉴权

  • 2024-04-01
    浙江
  • 本文字数:1634 字

    阅读完需:约 5 分钟

方案概述

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

  3. 2.1. 生成公私钥

  4. 2.2. 生成 JWKS

  5. SAE 部署应用

  6. 3.1. SAE 中通过应用环境变量设置公钥、私钥

  7. 3.2. SAE 中添加私网 CLB

  8. MSE 网关配置及测试验证

  9. 4.1. 配置 jwt-demo 后端服务

  10. 4.2. 配置路由并测试验证

  11. 4.3. 配置全局认证鉴权并测试验证

  12. 其他说明

  13. 一键释放资源


最佳实践全部内容,请点击此处查看。对方案和产品感兴趣的朋友,可以加入钉钉群交流(群号:31852400)。


往期文章:


云原生最佳实践系列 1:借助云速搭 CADT 如何实现 Kafka 的性能压测?


云原生最佳实践系列2:基于 MSE 云原生网关同城多活


云原生最佳实践系列 3:基于 SpringCloud 应用玩转 MSE


云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作

用户头像

阿里云云原生 2019-05-21 加入

还未添加个人简介

评论

发布
暂无评论
云原生最佳实践系列 6:MSE 云原生网关使用 JWT 进行认证鉴权_阿里云_阿里巴巴云原生_InfoQ写作社区