[rabbitmq-discuss] MQTT topic ACLs Query
Mark Wolfe
mark at wolfe.id.au
Tue Jan 7 12:10:13 GMT 2014
Gday Emile
I am working on moving an IoT platform from a custom TCP protocol across to
MQTT, the aim is to provide a combined topic structure for these devices
partitioned by a user identifier then a group or zone identifier.
We have in home and cloud services, with a range of topics used by either
end.
Incoming messages to the central cloud services, which are sent from the in
home gateway are organised under $cloud base, note variable params are
signified by []:
$cloud/[userid]/[zoneid]/[gwid]/config
$cloud/[userid]/[zoneid]/[gwid]/status
$cloud/[userid]/[zoneid]/[gwid]/events
$cloud/[userid]/[zoneid]/[gwid]/device/[deviceid]/...
Outgoing to the gateway, these are subscribed to by the software on the
device.
$gw/[userid]/[zoneid]/[gwid]/config
$gw/[userid]/[zoneid]/[gwid]/commands
$gw/[userid]/[zoneid]/[gwid]/device/[deviceid]/...
Now given that each gateway authenticates using a username and password the
types of rules we are looking for are very similar to those currently
present in RabbitMQ, for AMQP.
Restrict write access to the outgoing topics
$cloud/[userid]/[zoneid]/[gwid]/.* for a given user.
Restrict read access to the incoming topics $gw/[userid]/[zoneid]/[gwid]/.*
for a given user.
The aim here is to keep a given user constrained to a part of the topic
structure.
The reason I am keen to continue using RabbitMQ is it has done a sterling
job of knitting together a number of internal services, most of which
connect using AMQP, using either amqplib by Michael Bridgen or the golang
AMQP library by Sean Treadway.
Outside our core I am keen to use MQTT as:
- the gateway devices are in a lot of cases are on consumer wireless
networks
- in some cases these will be micro controllers such as Arduinos
- mostly non x86, so arm and mips based systems.
Hopefully that gives you some insight into what I am hoping to achieve.
Cheers
On Tue, Jan 7, 2014 at 7:29 PM, Emile Joubert <emile at rabbitmq.com> wrote:
>
> Hi Mark,
>
> On 07/01/14 07:38, Mark Wolfe wrote:
> > Interested to hear if anyone intends to add ACL support to the MQTT
> module?
> >
> > At the moment it is built around routing keys which as i understand
> > cannot be controlled by the existing ACLs.
>
> There are no immediate plans to grant permissions on individual topics.
> That is because the feature barely mentioned in the current
> specification, and also because it has no equivalent in AMQP.
>
> Can you describe your use-case in more detail? This will help us to
> determine which features to include.
>
>
>
> -Emile
>
--
Regards,
Mark Wolfe
--
I am not young enough to know everything.
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20140107/b23cbf6b/attachment.html>
More information about the rabbitmq-discuss
mailing list