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)对于某个资源,如果有显性配置权限,则采用配置的权限;如果没有显性配置权限,则采用默认的权限;

posted @ 2019-12-09 17:34  zbjice  阅读(868)  评论(0)    收藏  举报