Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Modernization
Samples

Security and permissions

Component: IBM MQ Transport

The IBM MQ transport requires specific queue manager authorities depending on the endpoint's role and whether infrastructure setup (installers) is enabled. Use setmqaut, the IBM MQ Explorer, or equivalent tooling to grant the required authorities.

Infrastructure setup permissions

When EnableInstallers() is called, the endpoint creates IBM MQ resources at startup using PCF commands. This requires elevated administrative authorities in addition to the runtime permissions below.

OperationObject typeObjectAuthority
Create queuesQueue managerQMGRcrt
Create topicsQueue managerQMGRcrt

The following resources are created automatically:

ResourceCreated by
Endpoint input queueThe endpoint that owns it
Error queueAny endpoint configured to send to it
Send destination queuesThe sending endpoint
Topic objectsAny endpoint with explicit PublishTo or SubscribeTo routes configured
Durable subscriptionsThe subscribing endpoint, at subscribe time

Runtime permissions

All endpoints

OperationObject typeObjectAuthority
Connect to queue managerQueue managerQMGRconnect, inq
Receive from input queueQueueEndpoint input queueget
Send to error queueQueueError queueput

Sending endpoints

OperationObject typeObjectAuthority
Send a commandQueueDestination queueput
Reply to a messageQueueReply-to queueput

Publishing endpoints

OperationObject typeObjectAuthority
Publish an eventTopicEvent topicpub

Subscribing endpoints

OperationObject typeObjectAuthority
Subscribe to an eventTopicEvent topicsub
Receive subscription messagesQueueEndpoint input queueget
Unsubscribe from an eventSubscriptionSubscription objectctrl

Least privilege

In production environments, avoid granting crt authority to application accounts. Instead:

  1. Pre-create all queues, topics, and subscriptions using the command-line tool or native runmqsc scripts during deployment.
  2. Run endpoints without EnableInstallers().
  3. Grant only the minimum runtime authorities listed above.

SSL/TLS authentication

For encrypted and certificate-authenticated connections, see SSL/TLS configuration.

Related Articles