【导读】本篇文章主要介绍了ACL的配置项、如何启用、示例demo以及其源码分析。
一、ACL介绍
1.什么是ACL?
ACL(权限控制)是RocketMQ提供topic资源级别的客户端访问控制,客户端在使用RocketMQ权限控制时,可以在客户端通过RPCHook注入AccessKey和SecretKey签名。
2.plain_acl.yml文件
在RocketMQ中权限控制属性的配置是在plain_acl.yml中,其配置项及其含义具体如下
字段 | 取值 | 含义 |
---|---|---|
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 |