rocketmq acl
https://github.com/apache/rocketmq/blob/master/docs/cn/acl/user_guide.md
2.1权限定义
对RocketMQ的Topic资源访问权限控制定义主要如下表所示,分为以下四种
| 权限 | 含义 |
|---|---|
| DENY | 拒绝 |
| ANY | PUB 或者 SUB 权限 |
| PUB | 发送权限 |
| SUB | 订阅权限 |
2.2 权限定义的关键属性
| 字段 | 取值 | 含义 |
|---|---|---|
| globalWhiteRemoteAddresses | *;192.168.*.*;192.168.0.1 | 全局IP白名单 |
| accessKey | 字符串 | Access Key |
| secretKey | 字符串 | Secret Key |
| whiteRemoteAddress | *;192.168.*.*;192.168.0.1 | 用户IP白名单 |
| admin | true;false | 是否管理员账户 |
| defaultTopicPerm | DENY;PUB;SUB;PUB|SUB | 默认的Topic权限 |
| defaultGroupPerm | DENY;PUB;SUB;PUB|SUB | 默认的ConsumerGroup权限 |
| topicPerms | topic=权限 | 各个Topic的权限 |
| groupPerms | group=权限 | 各个ConsumerGroup的权限 |
具体可以参考/conf/plain_acl.yml配置文件
发送权限:globalWhiteRemoteAddresses || (topicPerms || defaultTopicPerm) && && (whiteRemoteAddress is null || whiteRemoteAddress = clientIp)
订阅权限:globalWhiteRemoteAddresses || (topicPerms || defaultTopicPerm) && (groupPerms || defaultGroupPerm) && (whiteRemoteAddress is null || whiteRemoteAddress = clientIp)
注意:groupPerms || defaultGroupPerm 限制的是消费者 group
(1)特殊的请求例如 UPDATE_AND_CREATE_TOPIC 等,只能由 admin 账户进行操作;
(2)对于某个资源,如果有显性配置权限,则采用配置的权限;如果没有显性配置权限,则采用默认的权限;

浙公网安备 33010602011771号