跳到主要内容

二十八、RocketMQ ACL使用指南


本节目录

  • 1、什么是ACL?

2、 ACL基本流程图;

3、 如何配置ACL;

  • 3.1 acl配置文件

  • 3.1.1 globalWhiteRemoteAddresses

    3.1.2 accounts

    • 3.1.2.1 accessKey
    • 3.1.2.2 secretKey
    • 3.1.2.3 whiteRemoteAddress
    • 3.1.2.4 admin
    • 3.1.2.5 defaultTopicPerm
    • 3.1.2.6 defaultGroupPerm
    • 3.1.2.7 topicPerms
    • 3.1.2.8 groupPerms
  • 3.2 RocketMQ ACL权限可选值

  • 3.3、权限验证流程

4、 使用示例;

  • 4.1 Broker端安装
  • 4.2 消息发送端示例
  • 4.3 消息消费端示例

1、什么是ACL?

ACL是access control list的简称,俗称访问控制列表。访问控制,基本上会涉及到用户、资源、权限、角色等概念,那在RocketMQ中上述会对应哪些对象呢?

  • 用户
    用户是访问控制的基础要素,也不难理解,RocketMQ ACL必然也会引入用户的概念,即支持用户名、密码。
  • 资源
    资源,需要保护的对象,在RocketMQ中,消息发送涉及的Topic、消息消费涉及的消费组,应该进行保护,故可以抽象成资源。
  • 权限
    针对资源,能进行的操作,
  • 角色
    RocketMQ中,只定义两种角色:是否是管理员。

另外,RocketMQ还支持按照客户端IP进行白名单设置。

2、ACL基本流程图

在讲解如何使用ACL之前,我们先简单看一下RocketMQ ACL的请求流程:
 
对于上述具体的实现,将在后续文章中重点讲解,本文的目的只是希望给读者一个大概的了解。

3、如何配置ACL

3.1 acl配置文件