Channel Permissions

Channel permissions are Object Authority Manager grants on CHANNEL definitions—primarily who may use a given SVRCONN name to attach to the queue manager. Beginners focus on queues and forget that MQCONNX often specifies a channel name; missing +connect on that channel produces 2035 before any queue operation. Channel permissions do not replace CHLAUTH, CONNAUTH, or TLS—they stack. A fully authorized channel grant still fails when CHLAUTH blocks the client IP or when the password is wrong. Message channels (SDR, RCVR, CLUSSDR) use MCAUSER and partner trust differently from application SVRCONN paths. This tutorial explains +connect and related channel OAM bits, SVRCONN versus CLNTCONN versus message channels, pairing channel grants with queue and topic rights, CHLAUTH interaction, dedicated versus shared SVRCONN design, setmqaut and dspmqaut examples, and troubleshooting connect-time 2035 for Java, .NET, and C clients.

Why Channel OAM Exists

CHANNEL objects are first-class MQ entities in the repository. Using a channel definition is an operation OAM can gate. Restricting +connect on PAYMENT.SVRCONN to mqpay while ORDERS.SVRCONN allows mqorders prevents a stolen orders credential from attaching on the payment channel even if both share the same listener port. Defense in depth: network firewall, TLS, CONNAUTH, CHLAUTH, channel OAM, then queue OAM.

Channel types and typical OAM focus
CHLTYPEWho connectsOAM focus
SVRCONNClient applications+connect per app or group
CLNTCONNClient conn route to SVRCONNOften +connect on CLNTCONN name
SDR / RCVRQueue manager partnersMCAUSER queue rights, CHLAUTH
CLUSRCVR / CLUSSDRCluster membersCluster standard roles

Granting +connect on SVRCONN

shell
1
2
3
4
DEFINE CHANNEL('PAYMENT.SVRCONN') CHLTYPE(SVRCONN) TRPTYPE(TCP) setmqaut -m QM1 -n PAYMENT.SVRCONN -t channel -p mqpay +connect setmqaut -m QM1 -t qmgr -p mqpay +connect dspmqaut -m QM1 -n PAYMENT.SVRCONN -t channel -p mqpay

The second line grants queue manager connect when your policy requires it—some estates embed connect in channel-only grants. JMS connection factory channel name must match PAYMENT.SVRCONN exactly. Case sensitivity depends on platform conventions; standardize uppercase channel names in mainframe style estates.

Channel Permissions Versus CHLAUTH

CHLAUTH rules answer whether this connection attempt is allowed and which MCAUSER applies. OAM +connect answers whether this principal may use the channel object. Example: CHLAUTH SSLPEERMAP maps CN=payapp to mqpay; setmqaut grants mqpay +connect on PAYMENT.SVRCONN. Missing CHLAUTH rule blocks before OAM; missing +connect fails OAM after CHLAUTH passes. DISPLAY CHLAUTH(*) and dspmqaut together.

MCAUSER and Channel Permissions

Channel permissions gate use of the definition; MCAUSER determines which ID performs puts and gets after connect when ADOPTCTX does not override. Grant queue permissions to MCAUSER or adopted client ID consistently. Shared SVRCONN with MCAUSER(mqsvc) concentrates risk—prefer per-application channels and IDs.

Explainer: Which Door You May Enter

The building has several doors (channels). Channel permissions are whether your badge works on the payment door specifically. Queue permissions are which rooms you may enter after you are inside.

Message Channels and Transmission

SDR starting from XMITQ does not use application +connect on SVRCONN. Focus on MCAUSER +put on target queues on the receiver and +put on XMITQ on the sender. CHLAUTH on message channels blocks rogue partners—see channel authentication tutorials. Channel OAM on SDR definitions is less common in client-style troubleshooting.

Dedicated SVRCONN Design

  • One SVRCONN per application or domain—PAYMENT.SVRCONN, ORDERS.SVRCONN.
  • Match CHLAUTH rules to the same channel name for IP or cert restrictions.
  • Grant +connect only to the service ID for that channel.
  • Avoid SYSTEM.DEF.SVRCONN for production apps.

Troubleshooting Connect 2035

  1. Confirm channel name in client matches DEFINE CHANNEL.
  2. dspmqaut -t channel -n name -p principal.
  3. DISPLAY CHLAUTH and AMQERR01 for blocks.
  4. Verify CONNAUTH if failure is at bind time.
  5. Test TLS handshake separately from OAM.

Explain Like I'm Five: Channel Permissions

The school has different doors for little kids and big kids. Channel permissions say which door your badge opens. You still need permission for each classroom inside.

Practice Exercises

Exercise 1

Write setmqaut and DEFINE CHANNEL for a dedicated SVRCONN.

Exercise 2

List order of checks when connect fails before MQOPEN.

Exercise 3

Compare security of one shared SVRCONN versus three dedicated channels.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. SVRCONN channel OAM often uses:

  • +connect
  • Only +put
  • XMITQ
  • DLQ

2. CHLAUTH with +connect granted:

  • Either can still block
  • CHLAUTH never applies
  • OAM disabled
  • TLS not needed

3. setmqaut channel type:

  • -t channel
  • -t queue
  • -t topic
  • -t authinfo

4. Shared SVRCONN for all apps:

  • Harder to audit per app
  • Best practice
  • Required by IBM
  • Replaces TLS
Published
Read time18 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation