本文来源于阿里云社区电子书《阿里云产品四月刊》
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)https://developer.aliyun.com/article/1554218
扩容与迁移
如果想要在运行过程中的集群扩容一台 Broker,就需要将所有的元数据都同步到这台新的 Broker 上,ACL 2.0 提供了相应的拷贝用户和拷贝授权的接口来支持这项操作。
接口定义
使用案例
# 拷贝用户 sh mqadmin copyUser -n 127.0.0.1:9876 -f 192.168.0.1:10911 -t 192.168.0.2:10911 # 拷贝授权 sh mqadmin copyAcl -n 127.0.0.1:9876 -f 192.168.0.1:10911 -t 192.168.0.2:10911
迁移
如果已经使用上了 ACL 1.0,想要无缝地迁移至 ACL 2.0,也提供了相应的解决方案, 只需要做以下配置即可。
配置定义
在 Broker 的配置文件中开启以下配置:
migrateAuthFromV1Enabled = true
特别说明
启用以上配置后,将在 Broker 启动过程中自动触发执行。该迁移功能会把 ACL 1.0 中的用户权限信息写入 ACL 2.0 的相应存储结构中。对于在 ACL 2.0 中尚未存在的用户和权限,系统将自动添加。对于已存在的用户和权限,迁移功能不会进行覆盖,以避免 重写 ACL 2.0 中已经进行的任何修改。ACL 1.0 中关于 IP 白名单,由于是用于绕过访问控制的检查,和 ACL 2.0 的行为不匹配,所以不会迁移到 ACL 2.0 中。如果已经使用相关的能力,请完成改造后再做迁移。
规划
关于 RocketMQ ACL 的未来规划,可能会体现在以下两个方面:
- 丰富的认证和授权扩展:市场上存在丰富的认证和授权解决方案,其他的存储或计
算产品也都采用了各种各样的实现方式。为了紧跟行业的发展趋势,RocketMQ ACL 未来也将努力创新,以满足更为广泛和多变的客户需求。同时,也将持续深化研究 和发展更加出色的认证和授权策略,以达到安全性和性能之间的理想平衡。
- 可视化的用户权限操作:当前,在 ACL 中进行用户和权限的配置仅能通过命令行工具,不够友好。未来我们希望能在 RocketMQ Dashboard 上提供一个清晰、易用的可视化管理界面,从而简化配置流程并降低管理的技术门槛。另一方面,现有 的 Dashboard 尚未集成 ACL 访问控制体系,后续也要将它纳入进来,以实现用户在 Dashboard 上对各项资源进行操作的访问权限。
总结
RocketMQ ACL 2.0 不管是在模型设计、可扩展性方面,还是安全性和性能方面都进行了全新的升级。旨在能够为用户提供精细化的访问控制,同时,简化权限的配置流程。 欢迎大家尝试体验新版本,并应用在生产环境中。非常期待大家的在社区中反馈、讨论, 和参与贡献, 共同推进 RocketMQ 社区的成长和技术进步。欢迎加入 Apache RocketMQ 中国开发者钉钉群。(群号:21982288)
相关链接:
- RocketMQ 中文学习网站ttps://rocketmq-learning.com
- 云 消 息 队 列 RocketMQ https://www.aliyun.com/product/rocketmq