当前位置: 首页 > news >正文

宜春的网站建设公司/手机网页设计制作网站

宜春的网站建设公司,手机网页设计制作网站,教你怎么做垃圾网站,怎样做网站标题优化nacos架构和原理(十一)——鉴权插件Nacos 账号权限体系账号体系账号实体映射方案Nacos 资源模型Nacos 授权 resource授权 resource 组成不同级别授权资源组成Nacos 授权 OpersNacos 具体权限定义Opers 组成具体实例工程实现RBAC 设计实现RBAC 账号权限组…

nacos架构和原理(十一)——鉴权插件

  • Nacos 账号权限体系
    • 账号体系
  • 账号实体映射
  • 方案
    • Nacos 资源模型
    • Nacos 授权 resource
    • 授权 resource 组成
    • 不同级别授权资源组成
    • Nacos 授权 Opers
    • Nacos 具体权限定义
      • Opers 组成
      • 具体实例
      • 工程实现
  • RBAC 设计实现
    • RBAC 账号权限组成
    • 角色
    • 默认账号
    • 账号体系映射
    • 身份识别
    • 账号区别
  • Nacos 认证机制
    • 安全架构选型
    • 会话管理
    • Session 登录流程
    • Token 登录流程
    • jwt 框架选型
    • 会话超时
    • SSO 支持
    • UI 设计
    • 接口设计
    • 数据库表设计
    • Filter 拦截请求
    • 配置开关
    • 传输通道


Nacos 账号权限体系

为了 Nacos 提升安全能力,更好满足生产要求,需要设计账号权限体系,又要能兼容云上和阿里 内部场景。避免后续代码无法融合。 这块的挑战是要做好抽象,不然没法和不同账号权限体系打通。 默认我们提供⼀个简单的实现,当有类似于 RAM 这样的权限体系后,直接对接即可。

账号体系

目前用的比较多的是 ABAC 和 RBAC 体系。目前阿里云采用 ABAC 体系,阿里内部采用 RBAC 体系。无论哪个体系,最终都是让账号有有限资源的权限,已达到访问控制的目的。不同的是关联 的方法,相同的都是抽象好 Nacos 的 Resource 和 Opers 。鉴权模块可以抽象可插拔,实现两种 都可以支持。

在这里插入图片描述

账号实体映射

在这里插入图片描述

方案

Nacos 资源模型

在这里插入图片描述

Nacos 授权 resource

namespace+group+dataId 组成某⼀个授权资源,是最细能做到的水准,但是这么细的授权粒度, 会导致权限数据暴涨,有多少配置(100w),就会有多少授权数据,这样在分布式权限系统中是不 能搞定的,因为要有 100w 授权数据,意味着我每个 nacos 节点要监听 100w 个权限数据。因此权 限管控粒度在实际生产环境,只能控制到 group 级别。namespace+group。或者 namespace 级 别。

授权 resource 组成

acs:config:region:namespace:group
acs: access controller system 缩写
config:产品名或者模块名
region:区域
namespace:命名空间
group:分组

不同级别授权资源组成

授权⼀个命名空间下所有数据权限 acs:config:region:namespace:*
授权多个命名空间下⼀个分组权限 acs:config:region:*:group

Nacos 授权 Opers

由于使用 nacos 本质是读写数据,监听也是⼀种为了读取的行为。因此对于具体某⼀个数据,只要区分到读或者写(w/r)即可。

Nacos 具体权限定义

Opers 组成

acs:config:region:namespace:group w/r

具体实例

在这里插入图片描述

工程实现

所有的数据请求,都走鉴权切面。 切面里面抽象好 spi,实现上面的鉴权行为。 不同权限模型,不 同场景,插拔不同的 spi。

RBAC 设计实现

RBAC 账号权限组成

rbac 账号体系由 账号 角色 权限,三元组构成,下面介绍该体系模型下,nacos 权限模型的最佳 实践。

角色

首先从角色讲起,以便把账号,权限做⼀个大致的区分。
在这里插入图片描述

默认账号

在这里插入图片描述

账号体系映射

在这里插入图片描述

身份识别

在这里插入图片描述

账号区别

应用账号与应用负责人能用⼀个账号吗?

不可以,因为人会流动,权限变动比较大。 因此⼀个应用的权限和应用开发负责人权限是分开的, 用不同的账号。 应用有开发,测试,owner,其实他们有对应应用使用资源的不同权限。因此应用 负责人与应用的权限也不对等,不能共用⼀个账号。

Nacos 认证机制

随着 Nacos 在生产使用,用户要求权限管理机制。考虑到做完整的账号权限管理机制,需要比较 大的代价。因此先做⼀个管理员账号的登录管理,从而降低安全风险。

需求

  1. 支持定制启用或不启用登录系统,默认启动登录功能(有人自己做控制台,不想启用登录能力)
  2. SSO 支持 LDAP 即可(通过扩展机制)
  3. 用户退出

安全架构选型

目前开源框架主要有 Spring Security 和 Apache Shiro,下面进行⼀下简单对比。 由于 Nacos 本身就是⼀个 spring-boot 的项目,为了更好的能适应外部的多种 sso 需求,和更细 粒度的权限控制台能力,选择 spring security。

在这里插入图片描述

会话管理

登录流程现在主要有两种模式,⼀种是 session 模式,⼀种是 jwt 模式。为了更好的解决多端(移 动端等)和分布式会话保持,采用 jwt 模式。
在这里插入图片描述

Session 登录流程

在这里插入图片描述

Token 登录流程

在这里插入图片描述

jwt 框架选型

目前看 jjwt 框架的 star 和 commiter 比较多: http://andaily.com/blog/?p=956

会话超时

会话默认 30 分钟超时,暂时不可配置。

SSO 支持

目前仅支持 LDAP,后续让社区贡献,如 SMAL。

UI 设计

在这里插入图片描述

登录成功之后,右上角显示登录用户名,和退出按钮。 点击退出,这个 session 失效。

接口设计

接口信息:
在这里插入图片描述

数据库表设计

users 表:
在这里插入图片描述
roles 表:
在这里插入图片描述

Filter 拦截请求

目前发 sso 的时候我们 console server 都跑在⼀个进程里面。调用的接口都是 naming/config 的 openapi。 这些接口登录 filter 是不能拦截的,因为拦截需要登录,会影响 server 调用。 不 拦截,控制台的数据请求又拦截不了,登录请求也控制不了。

关于这个问题,有三个方案:
在这里插入图片描述

配置开关

默认开启登录功能,可配置不开启登录功能,以便部分企业研发自己控制台,使用我们 console 的 openapi。

传输通道

登录目前大部分都是 https,nacos 默认不支持 https,如果需要使用 https 功能,在 nacos 前 面配置 nginx,nginx 上做 443 端口转后端 8848 端口,nginx 上管理证书。

http://www.lbrq.cn/news/828577.html

相关文章:

  • 沈阳企业网站建设公司/知识营销
  • 做网站怎么加弹幕/网络推广公司口碑
  • 短视频免费素材网站/人工智能培训机构
  • 以投资思维做网站/second是什么意思
  • 建立购物网站 app/2023新闻摘抄大全
  • 上海市建设局官方网站/金花关键词工具
  • 免费可以做旅游海报 的网站/有什么好用的搜索引擎
  • 做网站什么商品好/bt磁力猪
  • 哈尔滨网站优化/全网引流推广
  • 河南省建设厅督察网站/百度灰色关键词技术
  • 怎么做网站小编/微商怎么引流被加精准粉
  • 安徽康东建设工程有限公司网站/长沙seo网络推广
  • 服装饰品网站建设/360网站关键词排名优化
  • 宁夏建设工程质量安全监督总网站/如何做网页设计
  • 企业网站建设可以分为几个层次/域名注册服务机构
  • 一个网站如何做推广方案设计/百度的网址是什么
  • 做网站谈单/百度认证有什么用
  • 河北邯郸封闭最新消息/东莞网络推广优化排名
  • 网站开发报价说明/网站推广优化方法
  • 西安那里做网站/地推app接任务平台
  • 国外用tornado做的网站/海外推广
  • 商务部网站市场体系建设司子站/百度搜索资源平台token
  • 中国建筑网官网查询报考/全网seo是什么意思
  • 做特色创意菜品的网站/2345导航网址
  • 上海网站建设高端定制/百度销售平台
  • 代刷网站系统怎么做/百度知道官网手机版
  • 梁山专做网站的公司/谷歌推广真有效果吗
  • 酒水包装设计公司/seo网站地图
  • 诸城网站建设多少钱/强强seo博客
  • wordpress主页音乐/seol英文啥意思
  • 数据库练习3
  • 【设计模式C#】外观模式(用于解决客户端对系统的许多类进行频繁沟通)
  • 练习三:熟知前端知识
  • web.m3u8流媒体视频处理
  • 【Linux驱动-快速回顾】简单了解一下PinCtrl子系统:设备树如何被接解析与匹配
  • 配置华为交换机接口链路聚合-支持服务器多网卡Bind