Mosquitto MQTT Broker中的访问控制

Onu*_*nur 2 mqtt mosquitto paho

如何限制仅发布到Mosquitto MQTT代理上的选定用户?

我希望一些用户能够订阅,其他一些用户能够发布,我需要将这两组用户分开.

我知道有一个授权控件允许用username:password访问.但我不清楚如何为用户分配角色.

如果没有此类角色分配,是否可以为发布者和订阅者设置不同的端口?

har*_*llb 9

mosquitto配置文件的手册页涵盖了所有这些.

acl_file选项指定包含ACL列表的文件.该文件包含控制对主题或模式的访问以匹配主题的条目组.例如

user user1
topic read foo/bar

user user2
topic readwrite foo/bar
Run Code Online (Sandbox Code Playgroud)

这允许user1从主题中读取foo/bar并允许user2读取和写入主题.

password_file选项可用于指定文件以查找用户名/密码映射.使用该mosquitto_passwd命令编辑此文件,这是它的手册页.

这两个选项都可以由插件替换,该插件提供用于对用户进行身份验证和授权的API.目前只有一个公开可用的插件支持多个不同的数据库后端来存储用户/ acl数据.你可以在这里找到它