《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)https://developer.aliyun.com/article/1554227
特性与原理
ACL 2.0 新特性
RocketMQ ACL 2.0 针对 ACL 1.0 中的问题进行了解决,同时还带来了六个主要的新特性,具体如下:
- 精细的 API 资源权限定义:ACL 2.0 对 RocketMQ 系统中所有的资源都进行了定义,包括集群、命名空间、主题、消费者组,以实现对所有类型的资源进行独立的 访问控制。此外,它将所有的 API 都纳入权限控制范畴,覆盖了包括消息收发、集群管理、元数据等各项操作,确保所有资源的任何操作都施加了严格的权限控制。
- 授权资源的多种匹配模式:在资源众多的集群环境中,为每个资源进行逐一授权会
带来繁复的配置过程和管理负担。因此,ACL 2.0 引入了三种灵活的匹配模式:完全匹配、前缀匹配,以及通配符匹配。这些模式可以让用户根据资源的命名规范和 结构特点,快速地进行统一的设定,简化权限的管理操作,提升配置的效率。
- 支持集群组件间访问控制:由于将所有资源类型和 API 操作都纳入了访问控制体系, 集群内部组件之间的连接和访问也受到了权限控制,包括 Broker 主从之间的Leader 选举、数据复制的过程,以及 Proxy 到 Broker 的数据访问等环节,这可以有效地避免潜在的数据泄露问题和对系统稳定性的风险,加强了整个集群的安全 性和可靠性。
- 用户认证和权限校验分离:通过对认证和授权这两个关键模块进行解耦,系统可以 提供类似“只认证不鉴权”等方式的灵活选择,以适应各种不同场景的需求。此外, 两个组件可以分别演进、独立发展,从而诞生出多样的认证方式和先进的鉴权方法。
- 安全性和性能之间的平衡:当启用 ACL 后,客户端的每次请求都必须会经过完整的认证和授权流程。这确保了系统的安全性,但同时也引入了性能上的开销。在 ACL
2.0 中,提供了无状态认证授权策略和有状态认证授权策略,来分别满足对安全有极致要求,以及安全可控但性能优先这两种不同的安全和性能需求。
- 灵活可扩展的插件化机制:当前市场上,认证方式存在多种实现,授权方式也有不 同场景的定制需求。因此,ACL 2.0 设计了一套插件化的框架,在不同层面上进行接口的定义和抽象,以支持未来对认证和授权进行扩展,满足用户根据自身业务需 求定制和实现相应的解决方案。
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)https://developer.aliyun.com/article/1554225