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

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 微服务实践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

目录
相关文章
|
16天前
|
API 持续交付 开发者
后端开发中的微服务架构实践与挑战
在数字化时代,后端服务的构建和管理变得日益复杂。本文将深入探讨微服务架构在后端开发中的应用,分析其在提高系统可扩展性、灵活性和可维护性方面的优势,同时讨论实施微服务时面临的挑战,如服务拆分、数据一致性和部署复杂性等。通过实际案例分析,本文旨在为开发者提供微服务架构的实用见解和解决策略。
|
17天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
14天前
|
存储 Java 关系型数据库
微服务概述
微服务概述
26 1
微服务概述
|
6天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
29 5
|
9天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
25天前
|
Kubernetes 负载均衡 Docker
构建高效后端服务:微服务架构的探索与实践
【10月更文挑战第20天】 在数字化时代,后端服务的构建对于任何在线业务的成功至关重要。本文将深入探讨微服务架构的概念、优势以及如何在实际项目中有效实施。我们将从微服务的基本理念出发,逐步解析其在提高系统可维护性、扩展性和敏捷性方面的作用。通过实际案例分析,揭示微服务架构在不同场景下的应用策略和最佳实践。无论你是后端开发新手还是经验丰富的工程师,本文都将为你提供宝贵的见解和实用的指导。
|
7天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
9天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
10天前
|
监控 API 持续交付
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势、面临的挑战以及最佳实践策略。不同于传统的单体应用,微服务通过细粒度的服务划分促进了系统的可维护性、可扩展性和敏捷性。文章首先概述了微服务的核心概念及其与传统架构的区别,随后详细阐述了构建微服务时需考虑的关键技术要素,如服务发现、API网关、容器化部署及持续集成/持续部署(CI/CD)流程。此外,还讨论了微服务实施过程中常见的问题,如服务间通信复杂度增加、数据一致性保障等,并提供了相应的解决方案和优化建议。总之,本文旨在为开发者提供一份关于如何在现代后端系统中有效采用和优化微服务架构的实用指南。 ####
|
12天前
|
消息中间件 设计模式 运维
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在现代后端开发中的应用,通过实际案例分析,揭示了其在提升系统灵活性、可扩展性及促进技术创新方面的显著优势。同时,文章也未回避微服务实施过程中面临的挑战,如服务间通信复杂性、数据一致性保障及部署运维难度增加等问题,并基于实践经验提出了一系列应对策略,为开发者在构建高效、稳定的微服务平台时提供有价值的参考。 ####