云原生最佳实践系列 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 操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507308.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

递归究竟是什么?如何快速编写正确的递归代码? —— 力扣经典面试题详解

递归究竟是什么?如何快速编写正确的递归代码? —— 力扣经典面试题详解 一、递归1.1 什么是递归?1.2 为什么会用到递归?1.3 如何快速编写正确的递归代码? 二、力扣相关笔试题解析[面试题 08.06. 汉诺塔问题](https://l…

【C++】list介绍

个人主页 : zxctscl 如有转载请先通知 文章目录 1. list介绍2. list的构造3. ist iterator的使用4. capacity5. element access6. modifiers7. 迭代器失效8. Operations8.1 reverse8.2 sort8.3 unique8.4 splice 1. list介绍 list是可以在常数范围内在任意位置进行插…

关闭搜狗输入法的输入框广告

使用搜狗输入法输入内容时,下面总是会有广告显示 可以通过如下方式关闭该广告显示 通过以上的设置,可以发现输入框不会再显示广告了

MySQL(常用函数、多表查询)

文章目录 1.数据库函数1.count函数案例答案count(*)与count(列)的区别 2.sum函数案例答案 3.avg函数案例答案 4.max/min函数案例答案 5.group by 分组统计案例答案 6.字符串相关函数演示练习 7.数学相关函数演示 8.日期相关函数演…

即时配送行业吸引百万骑手就业,这个行业真的赚钱吗?

互联网浪潮的影响下,人们的就业模式开始呈现出多元化的发展趋势,新生代劳动者更加偏爱自由灵活的工作模式。在这样的背景下,同城配送服务的诞生,就为大量骑手创造了灵活的就业机会。据数据平台报告显示,2023年我国外卖…

linux Centos7 部署 nodejs服务

nodejs服务要有nodejs环境。所以要先安装nodejs 不会安装的可以看 Centos7 安装 npm 学习 安装pm2 cnpm install pm2 -g, 查看pm2是否安装成功 pm2 -v,如果报错,升级node版本 进入node项目目录,安装项目依赖 cnpm install 创建pm2任务 [rootlocalhost serv…

手写简易操作系统(二十)--实现堆内存管理

前情提要 前面我们实现了 0x80 中断,并实现了两个中断调用,getpid 和 write,其中 write 还由于没有实现文件系统,是个残血版,这一节我们实现堆内存管理。 一、arena 在计算机科学中,“arena” 内存管理通…

鸿蒙人才供需两旺、抓住职业“薪”机遇

鸿蒙生态崛起,人才需求旺盛! 鸿蒙生态迅猛发展,人才供需均呈增长态势,鸿蒙开发工程师平均月薪显著领跑,显示出该领域的巨大潜力和吸引力,对于有志于鸿蒙开发的人才,这无疑是职业发展的黄金时期…

OpenHarmony实战:代码上库

前言 到达这一步好比临门一脚,意义很大!您的代码被合入 OpenHarmony 平台,这是最后的一道关口,保证合入的是正确的,并且不会对系统造成意外。 避坑指南 1. 填写 ISSUE 和 PR 按照规范进行 ISSUE 和 PR 填写不规范会…

CentOs7.9中修改Mysql8.0.28默认的3306端口防止被端口扫描入侵

若你的服务器被入侵,可以从这些地方找到证据: 若有上述信息,300%是被入侵了,重装服务器系统以后再重装Mysql数据库,除了设置一个复杂的密码以外,还需要修改默认的Mysql访问端口,逃避常规端口扫描…

马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4!

本文原文来自DataLearnerAI官方网站:马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4! | 数据学习者官方网站(Datalearner) 继Grok-1开源之后,xAI宣布了Grok-1.5的内测消息&…

Homebrew 镜像源配置

前言 当我们使用默认官方源时,经常会遇到以下问题 查看镜像配置 brew config 切换国内源 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 4.0 镜像配置 温馨提示:不要使用阿里云的 Homebrew 源&am…

使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件

一、使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件 一、创建 Vue 项目 1. 使用 Vite 创建 Vue 项目 npm create vitelatest # npm yarn create vite # yarn pnpm create vite # pnpm选择 Vue 和 TS 进入项目…

Spring IOC 容器循环依赖解决(三级缓存)

对于循环依赖的解决,首先得了解Spring IOC 容器的创建过程,在加载过程中,Bean 的实例化和初始化是分开的,所以在解决循环依赖的问题时,也是基于Bean 的实例化和初始化分开执行这一特点。 我们将实例化后的Bean 叫 半成…

【Web自动化】Selenium的使用(一)

目录 关于自动化测试selenium工作机制 selenium的使用selenium中常用API定位元素按id定位按名称定位按类名定位按标签名定位按CSS选择器定位按XPath定位示例 操作测试对象等待sleep休眠隐式等待显示等待 打印信息浏览器操作键盘事件鼠标事件切换窗口截图关闭浏览器 欢迎阅读本文…

Windows 11 专业版 23H2 Docker Desktop 下载 安装 配置 使用

博文目录 文章目录 Docker Desktop准备系统要求 (WSL 2 backend)在 Windows 上打开 WSL 2 功能先决条件开启 WSL 2 WSL下载安装启动配置使用镜像 Image卷积 Volumes容器 Containers 命令RedisMySQLPostGreSQL Docker Desktop Overview of Docker Desktop Docker Desktop 疑难解…

揭秘五五复制模式,助力平台用户快速裂变至百万级!

你是否时常为平台的用户增长缓慢而倍感压力?是否渴望找到一种方法,让平台用户迅速扩张,实现百万级用户量的突破?今天,我将为大家揭晓一种创新的商业模式——五五复制模式,它或许能成为你实现梦想的关键。 五…

位运算

本文用于记录个人算法竞赛学习,仅供参考 目录 一.n的二进制表示中第k位x 二.通过lowbit操作返回x的最后一位1 1.lowbit实现:x & (-x) 2. lowbit具体作用 一.n的二进制表示中第k位x n 15 (1111)2 操作:1.x …

Redis主从同步机制

一、步骤如下:(全量) 1.从服务器向主服务器发送同步命令 sync; 2.主数据库接收到同步命令后,会执行 bgsave 命令,在后台生成一个 rdb 文件,并使用一个缓冲区记录从现在开始执行的所有写命令&a…

苏州金龙新V系客车创新打造,剑指新标杆

诞生于2004年的苏州金龙V系客车在20年时间里销售了6万多辆,用户超过5000家,用户的反复选择体现了它超强的产品力。3月下旬,全新打造的苏州金龙新V系客车震撼登场,拥趸们发现,该系列客车在智能化、网联化及设计语言方面…