《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)

本文涉及的产品
访问控制,不限时长
简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

本文来源于阿里云社区电子书《阿里云产品四月刊》


《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)https://developer.aliyun.com/article/1554227


访问控制模型

 

基于角色的访问控制(RBAC)和基于属性的访问控制(ABAC)是访问控制体系中两种主要的方法。RocketMQ ACL 2.0 将这两种方法进行了融合,打造出了一套更加灵活和强大的访问控制系统。

 

 

image.png

 

RBAC 是基于角色的访问控制模型,通过角色进行权限的分配。RocketMQ ACL 2.0用户角色划分为超级用户(Super)和普通用户(Normal),超级用户具有最高级别的    权限,能够无需授权即可访问资源,这简化了集群初始化及日常运维过程中的权限依赖  问题。而普通用户在访问资源之前,需要被赋予相应的权限,适用于业务场景中,对资  源进行按需访问。

 

ABAC  是基于属性的访问控制模型,通过用户、资源、环境、操作等多维属性来表达访问控制策略。RocketMQ ACL 2.0 为普通用户提供了这种灵活的访问控制机制。帮助管理员根据业务需求、用户职责等因素,对资源进行更加精细的访问控制。

 

在安全体系中,认证和授权分别扮演着不同的角色,RocetMQ ACL 2.0 将认证和授权进行了模块分离。这可以确保两个组件各司其职,降低系统的复杂度。认证服务致力于   验证用户身份的合法性,而授权服务则专注于管理用户权限和访问控制。这样的划分不   仅可以让代码更易于管理、维护和扩展,也为用户提供了使用上的灵活性。根据需求,  用户可以选择单独启用认证或授权服务,也可以选择同时启用两者。

 

这使得 RocketMQ ACL 既可以满足简单场景的快速部署,也能够适应复杂环境下对安全性的严格要求。

 

 

认证(Authentication)

 

认证作为一种安全机制,旨在验证发起访问请求者的身份真实性。它用于确保只有那些   经过身份验证的合法用户或实体才能访问受保护的资源或执行特定的操作。简而言之, 认证就是在资源或服务被访问之前回答你是谁?这个问题。

 

RocketMQ ACL 2.0  版本维持了与  ACL 1.0  相同的认证机制,即基于  AK/SK  的认证方式。这种方式主要通过对称加密技术来核验客户端的身份,保证敏感的认证信息(如  密码)不会在网络上明文传输,从而提升了整体的认证安全性。

 

主体模型

image.png

 

为了提升 RocketMQ 系统的访问控制和权限管理,ACL 2.0 针对主体模型做了以下改进和扩展:

 

  • 统一主体模型的抽象:为了实现不同实体的访问控制和权限管理,设计了统一的主    体接口,允许系统中多个实例作为资源访问的主体。用户作为访问资源的主体之一,  按照该模型实现了主体的接口。这为未来新实体类型的权限适配提供了扩展能力。

 

  • 角色分级与权限赋予:

 

  • 超级用户:为了简化管理流程,超级用户被自动授予了全部权限,无需单独配 置,从而简化了系统的初始化和日常的运维管理工作。
  • 普通用户:普通用户的权限则需要明确授权。ACL  2.0  提供了相关的权限管理工具,可以根据组织的政策和安全需求,为普通用户赋予合适的权限。
  • 支持用户状态管理:为了应对可能出现的安全风险,比如用户密码泄露,ACL  2.0  提供了用户的启用与禁用功能。当发生安全事件,可以通过禁用用户状态,快速进行  止血,从而达到阻止非法访问的目的。

 

 

认证流程

 

image.png

 

客户端流程:

 

  1. 客户端在构建  RPC  请求时,检查是否设置了用户名和密码,若未配置,则直接发送请求;

 

  1. 若已配置,则使用预设的加密算法对请求参数进行加密处理,并生成对应的数字签  (Signature)
  2. 在请求中附加用户名和 Signature,并将其发送至服务端以进行身份验证。

 

服务端流程:

 

  1. 服务端接收到请求后,首先检查是否开启认证,若未开启,则不校验直接通过;若  已开启了,则进入下一步。
  2. 服务端对请求进行认证相关的参数进行解析和组装,获取包括用户名和 Signature 等信息。
  3. 通过用户名在本地库中查询用户相关信息,用户不存在,则返回处理无;用户存在,  则进入下一步。
  4. 获取用户密码,采用相同的加密算法对请求进行加密生成 Signature,并和客户端传递的 Signature 进行比对,若两者一致,则认证成功,不一致,则认证失败。


《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)https://developer.aliyun.com/article/1554225

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
6月前
|
消息中间件 人工智能 Apache
Apache RocketMQ 中文社区全新升级!
RocketMQ 中文社区升级发布只是起点,我们将持续优化体验细节,推出更多功能和服务,更重要的是提供更多全面、深度、高质量的内容。
633 18
|
13天前
|
消息中间件 存储 Apache
恭喜 Apache RocketMQ、Apache Seata 荣获 2024 开源创新榜单“年度开源项目”
近日,以“新纪天工、开物焕彩——致敬开源的力量”为活动主题的“重大科技成就发布会(首场)”在国家科技传播中心成功举办,并隆重揭晓了 2024 开源创新榜单,旨在致敬中国开源力量,传播推广开源科技成就,营造中国开源创新生态。2024 年开源创新榜单由中国科协科学技术传播中心、中国计算机学会、中国通信学会、中国科学院软件研究所共同主办,中国开发者社区承办,以王怀民院士为首组建评审委员会,进行研讨评审,面向中国开源行业领域,遴选具有创新性、贡献度和影响力的开源项目、社区、应用场景与开源事件。在评审出的 10 个年度开源项目中,Apache RocketMQ、Apache Seata 成功入选。
|
5月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
335 2
|
2月前
|
SQL DataWorks 关系型数据库
阿里云 DataWorks 正式支持 SelectDB & Apache Doris 数据源,实现 MySQL 整库实时同步
阿里云数据库 SelectDB 版是阿里云与飞轮科技联合基于 Apache Doris 内核打造的现代化数据仓库,支持大规模实时数据上的极速查询分析。通过实时、统一、弹性、开放的核心能力,能够为企业提供高性价比、简单易用、安全稳定、低成本的实时大数据分析支持。SelectDB 具备世界领先的实时分析能力,能够实现秒级的数据实时导入与同步,在宽表、复杂多表关联、高并发点查等不同场景下,提供超越一众国际知名的同类产品的优秀性能,多次登顶 ClickBench 全球数据库分析性能排行榜。
|
5月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
3月前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
82 0
|
5月前
|
消息中间件 存储 Cloud Native
RocketMQ从4.9.7 升级到5.3.0有什么变化?
【8月更文挑战第25天】RocketMQ从4.9.7 升级到5.3.0有什么变化?
347 4
|
5月前
|
消息中间件 人工智能 监控
|
3月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
222 9
|
3月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
119 11

推荐镜像

更多