扩展知识:RocketMQ 如何开启 ACL 验证

扩展知识:RocketMQ 如何开启 ACL 验证

RocketMQ 在 4.4.0 版本开始支持 ACL 功能,ACL 验证的主要作用就是保证消息的安全性,实现权限控制功能,比如控制可以发送和订阅消息的群体,如某些主题只能被订阅,某些主题只有指定的IP,或者只有携带账号密码才可以订阅和发布等。

了解 ACL 配置

在 RocketMQ 的 conf 目录下有一个 plain_acl.yml 文件,打开这个文件就可以看到有如下默认配置:

globalWhiteRemoteAddresses:
- 10.10.103.*
- 192.168.0.*

accounts:
- accessKey: RocketMQ
  secretKey: 12345678
  whiteRemoteAddress:
  admin: false
  defaultTopicPerm: DENY
  defaultGroupPerm: SUB
  topicPerms:
  - topicA=DENY
  - topicB=PUB|SUB
  - topicC=SUB
  groupPerms:
  # the group should convert to retry topic
  - groupA=DENY
  - groupB=PUB|SUB
  - groupC=SUB

- accessKey: rocketmq2
  secretKey: 12345678
  whiteRemoteAddress: 192.168.1.*
  # if it is admin, it could access all resources
  admin: true

下面详细解释上述 plain_acl.yml 配置文件中的各项配置及其作用:

  1. globalWhiteRemoteAddresses
    • 这是全局的白名单IP地址列表。
    • 配置中的10.10.103.*和192.168.0.*表示所有以这些前缀开头的IP地址都可以访问RocketMQ服务,无需进一步的身份验证。
    • 注意:这里定义的是全局白名单,意味着这些IP地址将绕过后续的账户验证,直接可以访问RocketMQ服务。
  2. accounts
    • 这是一个账户列表,每个账户下面都定义了一系列的访问权限。
    • accessKey 和 secretKey
      • accessKey是账户的用户名。
      • secretKey是账户的密码,与accessKey成对使用。
    • whiteRemoteAddress
      • 这个字段定义了账户的IP白名单。只有来自这些IP地址的客户端才能使用这个账户进行身份验证。
      • 如果为空(如第一个账户),则没有IP限制。
    • admin
      • 如果设置为true,则该账户拥有管理员权限,可以访问所有资源。
      • 如果设置为false或未设置,则账户将受到topicPerms和groupPerms中定义的权限限制。
    • defaultTopicPerm 和 defaultGroupPerm
      • 当某个主题或组在topicPerms或groupPerms中没有明确指定权限时,将使用这些默认值。
      • 在上面的例子中,对于账户RocketMQ,如果某个主题没有在topicPerms中指定&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值