微服务实践01--微服务管理18--用户管理01--概述

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 微服务实践01--微服务管理18--用户管理01--概述

微服务实践目录,可以参见连接。

背景

对于软件系统来说不管以怎样的形式服务于人,最终都是为了人们更舒适,更便利,更高效的生活而出现的。所以,对于软件系统来说识别出用户,并给用户提供相关的便利就是软件系统的最终目标。

对于人们直接能看到的软件系统,人们能直接感觉到软件系统再对其进行识别和认证的工作。但有很多软件系统是一般的用户看不到的,这些系统里面也有认证不过人们不关心。例如:在使用Wifi的时候,显示的需要知道Wifi的密码才允许登录,隐式的需要IP才能够进行通信。那DHCP系统是不是需要对设备进行认证,认证过程是什么样的?

在显示生活中有很多类似的例子,再比如:打电话的时候我可以通过电话号码知道对方是谁,但是通话过程中通信的链路是怎样建立起来的,这中间是不是有认证的过程,是不是有授权的过程,是不是有计费的过程?

这些就是软件在用户不感知或无法感知的情况下对用户进行了识别与认证的工作。并未客户提供了服务。这就是用户管理的意义。

概述

在用户管理的过程中AAA是用户管理的重中之重。我们也会对AAA进行大概的介绍。但除了AAA之外还有一部分比较重要的内容:用户会话管理。用户会话管理主要是技术上的实现,跟最终用户的关系不太大或者最终用户看不到。所以,在进行用户管理时一般向用户展示的内容提到级别比较高,用户注意不到的内容就省略了。

大概说明这四个部分的关注点:

  • 认证(Authentication):关注用户的身份。认证是通过技术手段对用户的身份进行验证,识别其是否为合法用户。
  • 授权(Authorization):关注用户的权限。授权是两个过程一个是授予权限,另一个是鉴权。对于特定用户是不是要授予某些权限,并在用户使用过程中鉴别这个服务的权限是否授予这个用户了。
  • 计费(Accounting):关注用户对服务的使用情况。记录用户使用服务的情况,针对使用情况进行计费。
  • 会话(Session):关注用户持续在线。关注用户在线情况,以及在线生命周期情况。

具体介绍

在上面所介绍的用户管理四部分中,每一个部分都可以独立于其他部分独立使用。现在业界有很多独立的解决方案出现。有专门负责认证部分的SSO,有专门负责鉴权的Apache Shiro,有专门负责计费的PAAS计费系统。也有很多联合技术,例如OpenAPI系统的用户管理,鉴权,计费的处理。

对于不同的使用场景来说,独立使用四部分中的一部分还是联合使用其中的几部分都是需要根据具体的使用场景进行分析与设计的。为了更清晰的介绍四部分,下面会具体的介绍着四部分。并且会在之后连续的几篇文章中深入的介绍每一个部分。
用户管理

  • 用户认证

对于软件系统来说,外部所有的利益相关者都是需要定义出来的。那对于用户管理系统的用户的定义具体是什么样的?可以使用一个更加能够体现出它的特点的词语:认证实体来表示。

那么定义出用户管理系统的用户之后,那就定义认证过程的动作。认证过程就是通过验证认证实体的某些信息达到认为《认证实体》是软件系统中存在的《认证实体》的目的。

软件业界用户认证思路:

  1. 统一认证

通过统一的认证中心认证用户。通常在企业内部建立一个统一的用户管理与认证中心,由认证中心负责用户的认证。方便企业内部统一管理用户。

  1. 第三方认证

第三方保存用户认证方式,以及用户数据。通过互联网上的用户信息达到快速登录,降低复杂度的方法吸引客户使用系统。

  1. OpenApi

在互联网上免不了和其他的公司有合作有交互。OpenAPI是在互联网上程序间的认证方式。

  • 用户鉴权:

对于通过认证的认证实体来说,认证实体使用软件系统中的某个服务。系统需要判断认证实体是否对这个服务有操作权限,数据是否允许被访问等。更有甚者,对用户的服务级别都有定义。例如:

对于权限控制比较重要的两项:

  1. 功能权限

一般的系统上都比较关注功能权限部分。也就是功能能不能被某些认证实体使用。

  1. 数据权限

数据权限规定数据是否可以被认证实体使用。

  1. 授权权限

功能、数据使用的权限是否可以给认证实体的权限。那些权限归特定的用户分配都是由授权权限控制的。

  • 用户计费:

现在很多互联网企业都对C端用户实行免费使用政策。采用B2C或者融合后的B向C提供服务都是需要一个收费模式的。

在很多Iaas,Paas,Saas中最常采用的计费方式是租户计费方式,而像印象笔记,Processon等直接面对C端用户的更长采用的用户计费模式。

  1. 租户计费模式
  2. 用户计费模式
  3. 资源计费模式
  4. 服务质量计费模式

前两种都是比较常见的。资源计费在用户使用资源时才会计费,这是云基础设施推出时的目标。服务质量计费可以简单的理解为京东Plus会员,电信服务商提供的带宽。

  • 会话管理:

会话保持,会话保存,会话记录都是会话管理需要管理的内容。它们每个项可以在不同的领域发挥作用。

总结:

接下来几篇文章我们会先讨论用户管理的内容,然后在进行用户管理的一些技术实践。在实践中介绍各种技术的不同点,方便之后在实际项目中选用。

参考:

AAA

  • 权限管理方式:

RBAC

  • 协议:

RADIUS
portal认证
TACACS+
Diameter
LDAP
Kerberos

目录
相关文章
|
4天前
|
设计模式 API 开发者
深入浅出微服务架构:从理论到实践
在软件开发领域,微服务架构已经成为一种流行的设计模式。它承诺能够带来更好的模块化、可扩展性和敏捷性。然而,将一个传统的单体应用拆分成多个微服务并非易事。本文旨在通过实际案例分析,帮助读者理解微服务的核心概念,以及如何在实际项目中实施微服务架构。我们将一起探讨微服务的设计原则、技术选型和面临的挑战,并分享一些成功实施的策略。
|
7天前
|
Kubernetes Cloud Native 持续交付
云原生技术浪潮下的微服务架构实践
在数字化转型的今天,云原生技术成为推动企业IT革新的关键力量。本文将通过浅显易懂的语言和实际案例,带领读者了解云原生的核心概念、微服务架构的设计原则以及如何在云平台上高效部署和管理微服务。我们将从基础概念出发,逐步深入到微服务的生命周期管理,探讨如何在云原生生态中实现快速迭代和持续交付。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的指导和思考。
|
1天前
|
Cloud Native Java Nacos
微服务注册中心-Nacos概述
该博客文章提供了对Nacos的全面概述,包括其基本介绍、与Spring Cloud集成的优势、主要功能以及如何在Spring Cloud Alibaba项目中作为服务注册中心使用Nacos。文章解释了Nacos是一个动态服务发现、配置管理和服务管理平台,支持服务发现、健康监测、动态配置、DNS服务和元数据管理。还介绍了如何下载和启动Nacos服务器,以及如何将微服务注册到Nacos中,包括修改pom.xml文件引入依赖、配置application.properties文件和使用@EnableDiscoveryClient注解开启服务注册发现功能。
微服务注册中心-Nacos概述
|
1天前
|
消息中间件 运维 监控
探索微服务架构:从理论到实践
【8月更文挑战第19天】 在数字化时代,微服务架构已成为软件开发的新常态。本文通过深入浅出的方式,介绍了微服务的基本概念、设计原则和实践案例,旨在帮助读者从宏观上理解微服务的设计理念,并掌握将其应用于实际项目中的方法。我们将一起走进微服务的世界,解锁其在现代软件工程中的奥秘。
|
6天前
|
消息中间件 运维 监控
深入浅出微服务架构:从理论到实践
微服务架构,一种将复杂应用拆分成小型、独立服务的设计理念,近年来在软件开发领域大放异彩。它以灵活性、可维护性和可扩展性著称,但同时也带来了一系列挑战,如服务间通信、数据一致性和运维复杂性等。本文旨在通过浅显易懂的语言和实际案例,带领读者深入理解微服务架构的核心概念,掌握其设计原则,并了解如何在实际项目中有效运用。我们将从基础讲起,逐步深入,让初学者能够快速上手,同时为有经验的开发者提供一些高级技巧和最佳实践。
16 4
|
8天前
|
运维 监控 Devops
深入浅出:微服务架构的设计与实践
在软件开发的海洋中,微服务架构如同一艘灵活的快艇,它以小而精的服务单元、松耦合的设计哲学和独立部署的能力,为复杂系统的开发和维护提供了新的解决方案。本文将带你领略微服务的风帆,从理论的灯塔到实践的海岸,共同探索微服务架构的设计原则、技术选型、团队协作模式以及应对常见问题的策略,让你的系统设计之旅充满智慧与乐趣。
22 5
|
6天前
|
监控 API 数据库
深入浅出:微服务架构的设计与实践
微服务架构,作为现代软件工程的一颗璀璨明星,它以小而美、独立部署和易于扩展的特点,正逐步改变着后端开发的面貌。本文将通过浅显易懂的语言,带领读者走进微服务的世界,从概念理解到设计原则,再到实战案例,一步步揭示微服务架构的魅力所在。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和思考。
17 2
|
10天前
|
运维 监控 持续交付
探索微服务架构的演变与实践
在数字化浪潮推动下,微服务架构如同细胞分裂般不断演化,孕育出更灵活、高效的系统设计哲学。本文将带你穿梭于微服务的发展历程,解锁其背后的技术密码,并分享构建和部署微服务的实践智慧。从理论到实战,我们将一同见证微服务如何重塑现代应用开发的面貌。
20 2
|
10天前
|
Kubernetes 监控 Docker
深入浅出:微服务架构的设计与实践
在数字化转型的浪潮中,微服务架构以其灵活性和可维护性成为众多企业的首选。本文将通过浅显易懂的语言,带领读者一探微服务的世界,从基础概念到实战部署,解锁微服务架构的设计与实践之门。
23 1
|
11天前
|
Kubernetes Java API
深入浅出微服务架构:从理论到实践
在软件开发领域,微服务架构以其灵活性和可扩展性成为现代应用设计的热门选择。本文将通过浅显易懂的语言解释微服务的核心概念,并结合案例探讨如何在实际项目中实施微服务架构。我们将从微服务的定义出发,逐步深入到设计原则、关键技术和实战应用,为读者提供一条清晰的学习路径。无论你是初学者还是有一定经验的开发者,都能从中获益。