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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

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


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


服务端流程:

 

  1. 服务端在收到请求后,首先检查是否开启授权,若未开启,则不校验直接通过;若  已开启了,则进入下一步。
  2. 服务端对请求中和授权相关的参数进行解析和组装,这些数据包括用户信息、访问  的资源、执行的操作,以及请求的环境等。
  3. 通过用户名在本地数据存储中查询用户相关信息,若用户不存在,则返回错误;若  用户存在,则进入下一步。
  4. 判断当前用户是否是超级用户,若超级用户,则直接通过请求,无需做授权检查,  若普通用户,则进入下一步进行详细的授权检查。
  5. 根据用户名获取相关的授权策略列表,并对本次请求的资源、操作,以及环境进行  匹配,同时按照优先级进行排序。
  6. 根据优先级最高的授权策略做出决策,若授权策略允许该操作,则返回授权成功,  若拒绝该操作,则返回无权限错误。

 

授权参数的解析

 

在 ACL 2.0 中,更具操作类型和请求频率,对授权相关参数(包括资源、操作等)的解析进行了优化。

 

  1. 硬编码方式解析

 

 

image.png

 

对于消息发送和消费这类接口,参数相对较为复杂,且请求频次也相对较高。考虑到解  析的便捷性和性能上的要求,采用硬编码的方式进行解析。

 

  1. 注解方式解析

image.png

 

对于大量的管控接口,采用硬编码的方式工作量巨大,且这些接口调用频次较低,对性  能要求不高,所以采用注解的方式进行解析,提高编码效率。

 

权限策略优先级

 

在权限策略匹配方面,由于支持了模糊的资源匹配模式,可能出现同一个资源对应多个  权限策略。因此,需要一套优先级的机制来确定最终使用哪一套权限策略。

image.png

 

假设配置了以下授权策略,按照以上优先级资源的匹配情况如下:

image.png

 

 

认证授权策略

 

出于安全和性能的权衡和考虑,RocketMQ ACL 2.0 为认证和授权提供了两种策略:无状态认证授权策略(Stateless)和有状态认证授权策略(Stateful)。

image.png

 

无状态认证授权策略(Stateless): 在这种策略下,每个请求都会经过独立的认证和授权过程,不依赖于任何先前的会话和状态信息。这种严格的策略可以保证更高级别的安  全保证。对权限进行变更,可以更加实时的反应在随后的请求中,无需任何等待。

 

然而,这种策略在高吞吐的场景中可能会导致显著的性能负担,如增加系统  CPU  的使用率以及请求的耗时。

 

有状态认证授权策略(Stateful): 在这种策略下,同一个客户端连接,相同资源以及相同的操作下,第一次请求会经过完整的认证和授权,后续请求则不再进行重复认证和   授权。这种方法可以有效地降低性能小号,减少请求的耗时,特别适合吞吐量较高的场   景。但是,这种策略可能引入了安全上的妥协,对权限的变更也无法做到实时的生效。

 

在这两者策略的选择上,需要权衡系统的安全性要求和性能需求。如果系统对安全性的    要求很高,并且可以容忍一定的性能损耗,那么无状态认证授权策略可能是更好的选择。   相反,如果系统需要处理大量的并发请求,且可以在一定程度上放宽安全要求,那么有    状态认证授权策略可能更合适。在实际部署时,还应该结合具体的业务场景和安全要求    来做出决策。


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

相关实践学习
消息队列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
相关文章
|
4月前
|
消息中间件 存储 Serverless
【实践】快速学会使用阿里云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
160 2
|
21天前
|
消息中间件 负载均衡 物联网
乐刻运动:基于 RocketMQ + MQTT 实现健身产业数字化升级
乐刻运动通过采用阿里云的云消息队列 RocketMQ 版和云消息队列 MQTT 版,不仅提升了系统的实时数据处理能力,还增强了系统的可扩展性、可靠性和性能,为业务的持续发展和流畅的用户体验,提供了坚实的技术支持,进一步推动了数字经济与健身产业的深度融合。
|
3月前
|
SQL DataWorks 关系型数据库
阿里云 DataWorks 正式支持 SelectDB & Apache Doris 数据源,实现 MySQL 整库实时同步
阿里云数据库 SelectDB 版是阿里云与飞轮科技联合基于 Apache Doris 内核打造的现代化数据仓库,支持大规模实时数据上的极速查询分析。通过实时、统一、弹性、开放的核心能力,能够为企业提供高性价比、简单易用、安全稳定、低成本的实时大数据分析支持。SelectDB 具备世界领先的实时分析能力,能够实现秒级的数据实时导入与同步,在宽表、复杂多表关联、高并发点查等不同场景下,提供超越一众国际知名的同类产品的优秀性能,多次登顶 ClickBench 全球数据库分析性能排行榜。
|
3月前
|
消息中间件 canal 分布式计算
类似apache nifi的产品还有哪些?
【10月更文挑战第23天】类似apache nifi的产品还有哪些?
140 3
|
5月前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
99 9
|
6月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
4月前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
103 0
|
4月前
|
SQL 存储 监控
大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
大数据-161 Apache Kylin 构建Cube 按照日期、区域、产品、渠道 与 Cube 优化
86 0
|
6月前
|
消息中间件 存储 Cloud Native
RocketMQ从4.9.7 升级到5.3.0有什么变化?
【8月更文挑战第25天】RocketMQ从4.9.7 升级到5.3.0有什么变化?
427 4
|
6月前
|
消息中间件 人工智能 监控

推荐镜像

更多