2017-11-08 7 views
0

Wie kann ich die Veröffentlichung auf nur ausgewählte Benutzer eines Mosquitto MQTT-Brokers beschränken?Zugriffskontrolle in Mosquitto MQTT Broker

Ich möchte einige Benutzer in der Lage sein zu abonnieren, einige andere Benutzer in der Lage zu veröffentlichen, und ich brauche diese beiden Gruppen von Benutzern getrennt.

Ich weiß, dass es ein Autorisierungssteuerelement gibt, das den Zugriff mit Benutzername: Kennwort ermöglicht. Mir ist jedoch nicht klar, wie ich Benutzern Rollen zuweisen soll.

Wenn es keine solchen Rollenzuweisungen gibt, können unterschiedliche Ports für Publisher und Abonnenten eingerichtet werden?

Antwort

2

Die Seite man für die Konfigurationsdatei von mosquitto deckt all dies ab.

Die Option acl_file gibt die Datei an, die die ACL-Liste enthält. Die Datei enthält Gruppen von Einträgen, die den Zugriff auf ein Thema oder ein Muster steuern, die mit einem Thema übereinstimmen. z.B.

user user1 
topic read foo/bar 

user user2 
topic readwrite foo/bar 

Dies ermöglicht user1 von Thema zu lesen foo/bar und ermöglicht user2 sowohl zum Thema lesen und schreiben.

Die Option password_file kann verwendet werden, um die Datei anzugeben, um Benutzernamen-/Passwortzuordnungen zu finden. Diese Datei wird mit dem Befehl mosquitto_passwd bearbeitet, hier ist es man page.

Diese beiden Optionen können durch ein Plug-in ersetzt werden, das eine API für die Authentifizierung und Autorisierung von Benutzern bereitstellt. Im Moment gibt es nur ein öffentlich verfügbares Plugin, das mehrere verschiedene Datenbank-Backends zum Speichern von Benutzer-/Apl-Daten unterstützt. Sie können es finden here

+0

danke! das hat mir geholfen. – Onur

Verwandte Themen