请问大神们,我有个这样的需求,根据组织结构中的userId会创建对应mqtt的连接的用户密码,出于安全考虑,这个用户只能订阅查看自己权限范围的主题。比如:张三,只能读取主题A的数据,其他的主题数据均不可读也不可写,那么我改如何配置?是像这么调用api 传参配置吗:http://192.168.0.234:18083/api/v4/acl:[
{
“username”:“zhangsan”,
“topic”:“#”,
“action”:“pub”,
“access”: “deny”
},
{
“username”:“zhangsan”,
“topic”:“#”,
“action”:“sub”,
“access”: “deny”
},
{
“username”:“zhangsan”,
“topic”:“topicA”,
“action”:“sub”,
“access”: “allow”
},
{
“username”:“zhangsan”,
“topic”:“topicA”,
“action”:“sub”,
“access”: “allow”
}
]
总感觉这样配置特别复杂,有更好的方案吗?
{
“username”:“zhangsan”,
“topic”:“topic/zhangsan”,
“action”:“pub”,
“access”: “allow”
}
不是应该设置每一个用户允许使用的 Topic 吗,然后最后在 acl.conf 里做一个 deny,all 来拒绝所有没有匹配到的规则?
至于 10万条规则关系不大,只要每个用户对应的规则数目不是很多,那还好。