Mosquitto MQTT Broker中的访问控制

时间:2017-11-08 13:45:22

标签: mqtt mosquitto paho

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

我希望有些用户可以订阅,其他一些用户可以发布,我需要将这两组用户分开。

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

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

1 个答案:

答案 0 :(得分:8)

mosquitto配置文件的man页面涵盖了所有这些。

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

user user1
topic read foo/bar

user user2
topic readwrite foo/bar

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

password_file选项可用于指定用于查找用户名/密码映射的文件。此文件使用mosquitto_passwd命令进行编辑,此处为man page

这两个选项都可以替换为提供API来验证和授权用户的插件。目前只有一个公开可用的插件支持多个不同的数据库后端来存储用户/ acl数据。你可以找到它here