CloudSignal Docs
GuidesAccess Control (ACL)

Access control lists (ACL)

Control which topics your MQTT users can publish and subscribe to with ACL rules.

ACL rules determine which topics your MQTT users can publish to or subscribe from. Use them to isolate tenants, scope agent topics to their owner, and prevent clients from reading data they shouldn't see.

What are ACL rules?

An ACL rule has three components:

ComponentDescriptionExample
User/patternWhich user(s) the rule applies toagent-001 or agent-%
TopicThe MQTT topic patternagents/+/state
PermissionPublish, subscribe, or bothpubsub

Why use ACL rules?

Without custom ACL rules, users have access to all topics in your organization by default.

Use ACL rules to:

GoalResult
Limit agent accessAgents only publish to their own topics
Protect sensitive topicsOnly admin users can access system topics
Enforce data flowProducers publish, consumers subscribe, not vice versa
Multi-tenant isolationCustomer A can't see Customer B's data

Quick example

To allow agent-001 to only publish state updates:

User:       agent-001
Topic:      agents/agent-001/state
Permission: publish

This user can now:

ActionResult
Publish to agents/agent-001/stateAllowed
Publish to other topicsDenied
Subscribe to any topicDenied

Default behavior

ScenarioDefault access
No ACL rules definedFull access to all topics
ACL rules exist for userOnly specified permissions apply
ACL rules exist for other usersUser has no access

Once you create any ACL rule for a user, that user is restricted to only the topics explicitly allowed.

Guides

ACL at a glance

ACL evaluation
MQTT user
agent-001@org-id
Publish/Subscribe
ACL rules evaluated
First match wins
Allowed topics

Next steps

On this page