Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Instance Admin
    • Is allowed to connect to the MQTT server using the specified ACLs.
    • Is allowed to create and make changes to all users in the system (Add, View, Edit, Reset Password, Delete).
    • Is allowed to make changes to the VM instance such as setting the hostname, network settings, resetting the trial, and uploading a license.
    • Is not allowed to delete self.
  • Account Admin
    • Is allowed to connect to the MQTT server using the specified ACLs.
    • Is allowed to create and make changes to all Account Admin and Account User users in the system (Add, View, Edit, Reset Password, Delete).
    • Is allowed to make changes to the VM instance such as setting the hostname, network settings, resetting the trial, uploading a licenseIs not allowed any operations on Instance Admins - not even view.
    • Is not allowed to delete self.
  • Account User
    • Is allowed to connect to the MQTT server using the specified ACLs.
    • Is allowed to view self.
    • Is not allowed any operations on any other users - not even view.
    • Is allowed to Reset Password of self.


Basic Usage of Features

  • Adding a User
    • Users can be added by Instance Admin and Account Admins but the users
    • The user being added must be at that the role level of the creator or lower
    • Done by clicking 'Add User' which opens the following Window
    • Username and Password must be set as well as one of the three roles.
    • ACLs must be defined.  This is a comma separated list of ACLs that define which topics users can publish and subscribe on
    • ACLs are defined by the following format: [R|W|RW] topic

      where:

      R = Read or 'subscribe' privileges

      W = Write or 'publish' privileges

      RW = Read and Write (subscribe and publish) privileges

      topic = The topic or wildcard topic representing the scope of the privilege

      Below are some example ACL definitions

      • RW #
        • This allows clients connecting using this username/password to publish and subscribe on any topic
      • R #
        • This allows clients connecting using this username/password to subscribe on any topic but not publish on any topics
      • W #
        • This allows clients connecting using this username/password to publish on any topic but not subscribe on any topics
      • W device_one/temp/#,R state/#
        • This allows clients connecting using this username/password to publish on device_one/temp/# and subscribe on state/# topics

      ACLs should be designed with a 'principal of least privilege' model while also considering device management and maintenance.  For example gateways and devices in the field should be limited to publishing and subscribing only on the topics for which they should be expected to.  The same should be true of 'consumer' applications that will be either sending commands to devices in the field or consuming data coming from those devices.

      It is also important to note that a username is not limited to a single MQTT client.  A username/password pair could be used for multiple MQTT clients.

      If you are new to MQTT topics, Eclipse provides good information here on the basics and wildcards.

  • Editing a User
    • This is the same as adding a user except does not allow modifying the username.  It also doesn't allow resetting the passwords from this view.
  • Resetting a User Password
    • Resets the password for another user.
  • Deleting a User
    • Deletes a user.  This is only allowed for users other than the one currently logged in.
  • Reset Trial Timer
    • Resets the trial timer to two hours.  This is only allowed once the trial timer has expired and as long as a license has not been issued to this instance.  If a valid license has been uploaded to this instance, the trial timer is unnecessary.
    • Important: The trial must be running or the instance must have a valid license from Cirrus Link for the MQTT server to work!
    • Once the Chariot MQTT Server is licensed, this option goes away.
  • Change Password
    • Resets the password for the currently logged in user.
  • Change Network Settings
    • Allows for changing the following parameters:
      • Hostname
      • IP Address
      • Network Mask
      • Default Gateway
      • DNS Servers
    • Once the Chariot MQTT Server is licensed, this option goes away.
  • Generate License Request
    • Used to create a license request to submit to Cirrus Link for acquire a Chariot MQTT Server license.  Once generated and downloaded, this is the file to submit to Cirrus Link to receive a license file.
    • Once the Chariot MQTT Server is licensed, this option goes away.
  • Upload License
    • This is used to upload a license file after Cirrus Link creates it from the license request file.
    • Once the Chariot MQTT Server is licensed, this option goes away.
  • Logout
    • Logs the current user out of the system.

...

  1. Subscribe on # to enable this client to receive all messages.  To do so, select the Subscribe tab, Type '#' into the topic window, and click the Subscribe button.  Once done, it should look as follows.


  2. Publish a message on a topic.  To do so, select the Publish tab, 'type test/1/2' into the topic window, and click the Publish button.  Once dodone, it should look as follows.


  3. Now switch back to the Subscribe tab.  You should see that a message has come in on 'test/1/2' in the lower right pane.

This example isn't very interesting because we're sending and receiving a message from the same client.  But, this exercise does prove the Chariot MQTT Server is up and running properly.

...