《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(9)https://developer.aliyun.com/article/1554216
插件化机制
为了适应未来持续发展的认证鉴权方式,以及满足用户针对特定场景的定制需求, RocketMQ ACL 2.0 在多个环节上提供了灵活性和可扩展性。
- 认证和授权策略的扩展:默认情况下,RocketMQ ACL 2.0 提供了无状态认证授权策略(Stateless)和有状态认证授权策略(Stateful),以满足绝大多数用户对安
全和性能的要求。但是,后续仍然可以探索出更优的策略,来兼顾安全和性能之间 的平衡。
- 认证和授权方式的扩展:当前,在认证方面,市场上已经沉淀了多种成熟的实现, RocketMQ 目前只实现了其中一种,通过插件化的能力进行预留,未来可以轻松的引入更多的认证机制。在授权方面,RocketMQ 基于 ABAC 模型实现了一套主流的授权方式,以适应广泛的用户需求。但也提供了插件化的能力,方便未来能适配 出更多贴合未来发展的解决方案。
- 认证和授权流程的编排:基于责任链设计模式,RocketMQ ACL 2.0 对其默认的认证和授权流程进行了灵活的编排。用户可以扩展或重写这些责任链节点,从而能够 定制针对其具体业务场景的认证和授权逻辑。
- 用户和权限存储的扩展:RocketMQ 默认采用 RocksDB 在 Broker 节点上本地存储用户和权限数据。然而,通过实现预定义的接口,用户可以轻松地将这些数据迁 移至任何第三方服务或存储系统中,从而优化其架构设计和操作效率。
审计日志
审计日志,用于记录和监控所有关于认证和授权的访问控制操作。通过升级日志,我们 可以追踪到每一个访问的请求,确保系统的可靠性和安全性,同时,它也有助于问题的 排查,进行安全的升级和满足合规的要求。
RocketMQ ACL 2.0 对认证和授权相关的审计日志都进行了支持,格式如下:
认证日志
# 认证成功日志[AUTHENTICATION] User:rocketmq is authenticated successwith Signature = eMX/+tH/7Bc0TObtDYMcK9Ls+gg=.# 认 证 失 败 日 志 [AUTHENTICATION] User:rocketmq is authenticated failed with Signature = eMX/+tH/7Bc0TObtDYMcK9Ls+xx=.
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(11)https://developer.aliyun.com/article/1554213