Security settings for MQ exit resources on z/OS

If security is enabled for your queue manager or queue sharing group, you must set up security for the HCL OneTest API MQ exit resources and give user IDs access to the HCL OneTest API intercept queue.

Note: As of version 9.2,0, HCL OneTest API uses queues that are named COM.GREENHAT.INTERCEPT_LCK, COM.GREENHAT.INTERCEPT.<QMGR>_LCK, RIT.DIVERT.RULES_LCK, and RIT.DIVERT.RULES.<QMGR>_LCK. HCL OneTest API V9.2.0 attempts to create these queues automatically when they are first accessed. If you do not allow HCL OneTest API to create queues, then you must predefine these queues. The jobs within the RIT.PROC dataset contain sample statements for creating the required security profiles to allow HCL OneTest API to create the queues. The RITDEFN job contains commands for creating the queues manually, if you prefer to predefine them.
As of version 9.5.0, HCL OneTest API also requires these namelists, and queues be defined:
  • Namelists
    • COM.GREENHAT.EXIT.INTERCEPT
    • COM.GREENHAT.EXIT.DIVERT1
    • COM.GREENHAT.EXIT.DIVERT2
  • Queue
    • COM.GREENHAT.ALLOW.GENERIC.QNAMES

These resources are not created automatically by the exit and must be created by the WebSphere® MQ administrator before starting the exit. The RITDEFN job contains commands for creating these objects. HCL OneTest API users need READ access to COM.GREENHAT.ALLOW.GENERIC.QNAMES in order to record transports, or to use wild cards in the names of queues to be recorded.

Security settings for a single queue manager

Use the following definitions for the security settings of the various classes when the queue manager is not part of a queue sharing group. Substitute MQPG with the name of the queue manager.
Class Resource RIT Job Userid CHINIT RIT User Application Userid
MQADMIN MQPG.NAMELIST.COM.GREENHAT.INTERCEPT ALTER ALTER
MQPG.NAMELIST.COM.GREENHAT.INTERCEPT_LCK ALTER
MQPG.NAMELIST.COM.GREENHAT.EXIT.INTERCEPT ALTER
MQPG.NAMELIST.COM.GREENHAT.EXIT.DIVERT1 ALTER
MQPG.NAMELIST.COM.GREENHAT.EXIT.DIVERT2 ALTER
MQPG.NAMELIST.RIT.DIVERT.RULES ALTER ALTER
MQPG.NAMELIST.RIT.DIVERT.RULES_LCK ALTER ALTER
MQPG.NAMELIST.RIT.** ALTER
MQPG.QUEUE.COM.GREENHAT.INTERCEPT_LCK ALTER ALTER
MQPG.QUEUE.RIT.DIVERT.RULES_LCK ALTER ALTER
MQPG.CONTEXT.application.queuename CONTROL CONTROL
MQPG.CONTEXT.** ALTER
MQNLIST MQPG.COM.GREENHAT.INTERCEPT ALTER ALTER
MQPG.COM.GREENHAT.INTERCEPT_LCK ALTER ALTER
MQPG.COM.GREENHAT.EXIT.INTERCEPT ALTER
MQPG.COM.GREENHAT.EXIT.DIVERT1 ALTER
MQPG.COM.GREENHAT.EXIT.DIVERT2 ALTER
MQPG.RIT.DIVERT.RULES ALTER ALTER
MQPG.RIT.DIVERT.RULES_LCK ALTER ALTER
MQPG.RIT.DIVERTRULE.** ALTER
MQCMDS MQPG.ALTER.NAMELIST ALTER
MQPG.DEFINE.NAMELIST ALTER ALTER
MQPG.DELETE.NAMELIST ALTER
MQPG.DISPLAY.NAMELIST READ READ
MQPG.DISPLAY.QMGR READ READ
MQPG.DISPLAY.QUEUE READ
MQPG.DISPLAY.SECURITY READ
MQPG.DEFINE.QUEUE ALTER
MQPG.DEFINE.QLOCAL ALTER
MQPG.DELETE.QUEUE (required for mirror queue recording) ALTER
MQPG.CSQ.** UPDATE
MQQUEUE MQPG.COM.GREENHAT.COMMAND.QUEUE ALTER ALTER ALTER
MQPG.CSQ.** UPDATE
MQPG.SYSTEM.COMMAND.INPUT UPDATE UPDATE UPDATE
MQPG.SYSTEM.COMMAND.REPLY.MODEL UPDATE UPDATE
MQPG.SYSTEM.DEFAULT.MODEL.QUEUE ALTER UPDATE
MQPG.AMQ.** ALTER ALTER ALTER
MQPG.COM.GREENHAT.INTERCEPT_LCK ALTER UPDATE
MQPG.RIT.DIVERT.RULES_LC ALTER UPDATE
MQPG.COM.GREENHAT.ALLOW.GENERIC.QNAMES is required for transport recording, or when specifying wildcards within the name of the queue to record. READ
MQPG.APPQUEUE, where APPQUEUE is either a generic or discrete string that identifies the queue to be recorded or stubbed. READ

READ (recording)

UPDATE (stubbing)

MQCONN MQPG.BATCH READ READ

Security settings for a Queue Sharing Group

Use the following definitions for the security settings of the various classes when the queue manager is part of a queue sharing group. Substitute MQPG with either the name of the queue sharing group or the name of the queue manager depending on whether your site defines MQ security at the queue manager level or at the group level.
Note: Each queue manager must have permission to access each of the HCL OneTest API namelists and queues. For example, if the queue sharing group is made up of queue managers named QMGA, QMGB, and QMGC, HCL OneTest API will use the following namelists and queues:
Object Name Object Type QSGDISP
COM.GREENHAT.INTERCEPT.QMGA Namelist GROUP
COM.GREENHAT.INTERCEPT.QMGB Namelist GROUP
COM.GREENHAT.INTERCEPT.QMGC Namelist GROUP
RIT.DIVERT.RULES.QMGA Namelist GROUP
RIT.DIVERT.RULES.QMGB Namelist GROUP
RIT.DIVERT.RULES.QMGC Namelist GROUP
COM.GREENHAT.COMMAND.QUEUE.QMGA Queue SHARED
COM.GREENHAT.COMMAND.QUEUE.QMGB Queue SHARED
COM.GREENHAT.COMMAND.QUEUE.QMGC Queue SHARED
COM.GREENHAT.INTERCEPT_LCK Queue SHARED
COM.GREENHAT.INTERCEPT.QMGA_LCK Queue SHARED
COM.GREENHAT.INTERCEPT.QMGB_LCK Queue SHARED
COM.GREENHAT.INTERCEPT.QMGC_LCK Queue SHARED
RIT.DIVERT.RULES.QMGA_LCK Queue SHARED
RIT.DIVERT.RULES.QMGB_LCK Queue SHARED
RIT.DIVERT.RULES.QMGC_LCK Queue SHARED
Define the MQADMIN, MQNLIST, MQCMDS, and MQQUEUE profiles and accesses as listed in the following table to make them accessible from all the three queue managers:
Class Resource RIT Exit Job/Started Task Userid CHINIT RIT User Application Userid
MQADMIN MQPG.NAMELIST.COM.GREENHAT.INTERCEPT.QQQQ where QQQQ is the name of a queue manager. When using RIT with shared queues, an intercept namelist is required for each queue manager. ALTER access to the intercept namelist for the QMGR associated with the job ALTER access to the intercept namelists for all queue managers
MQPG.NAMELIST.COM.GREENHAT.INTERCEPT_LCK ALTER
MQPG.NAMELIST.COM.GREENHAT.EXIT.INTERCEPT ALTER
MQPG.NAMELIST.COM.GREENHAT.EXIT.DIVERT1 ALTER
MQPG.NAMELIST.COM.GREENHAT.EXIT.DIVERT2 ALTER
MQPG.NAMELIST.RIT.DIVERT.RULES.QQQQ where QQQQ is the name of a queue manager. When using RIT with shared queues, a divert namelist is required for each queue manager. ALTER access to the divert namelist for the QMGR associated with the job ALTER access to the divert namelists for all queue managers
MQPG.NAMELIST.RIT.DIVERT.RULES_LCK ALTER ALTER
MQPG.NAMELIST.RIT.** ALTER
MQPG.QUEUE.COM.GREENHAT.INTERCEPT_LCK ALTER
MQPG.QUEUE.COM.GREENHAT.INTERCEPT.QQQQ_LCK, where QQQQ is the name of a queue manager. When using RIT with shared queues, an intercept locking queue may be required for each queue manager. ALTER
MQPG.QUEUE.RIT.DIVERT.RULES.QQQQ_LCK, where QQQQ is the name of a queue manager. When using RIT with shared queues, a divert locking queue is required for each queue manager. ALTER
MQPG.CONTEXT.application.queuename CONTROL CONTROL
MQPG.CONTEXT.** ALTER
MQNLIST MQNLIST MQPG.COM.GREENHAT.INTERCEPT.QQQQ where QQQQ is the name of a queue manager. When using RIT with shared queues, an intercept namelist is required for each queue manager. ALTER access to the intercept namelist for the QMGR associated with the job ALTER access to the intercept namelists for all queue managers
MQPG.COM.GREENHAT.EXIT.INTERCEPT ALTER
MQPG.COM.GREENHAT.EXIT.DIVERT1 ALTER
MQPG.COM.GREENHAT.EXIT.DIVERT2 ALTER
MQPG.COM.GREENHAT.INTERCEPT_LCK ALTER ALTER
MQPG.RIT.DIVERT.RULES.QQQQ where QQQQ is the name of a queue manager. When using RIT with shared queues, a divert namelist is required for each queue manager. ALTER access to the divert namelist for the QMGR associated with the job ALTER access to the divert namelists for all queue managers
MQPG.RIT.DIVERT.RULES_LCK ALTER ALTER
MQPG.RIT.DIVERTRULE.** ALTER
MQCMDS MQPG.ALTER.NAMELIST ALTER
MQPG.DEFINE.NAMELIST ALTER ALTER
MQPG.DELETE.NAMELIST ALTER
MQPG.DISPLAY.GROUP READ
MQPG.DISPLAY.NAMELIST READ READ
MQPG.DISPLAY.QMGR READ READ
MQPG.DISPLAY.QUEUE READ
MQPG.DISPLAY.SECURITY READ
MQPG.CSQ.** UPDATE
MQPG.DEFINE.QUEUE ALTER
MQPG.DEFINE.QLOCAL ALTER
MQPG.DELETE.QUEUE (required for mirror queue recording) ALTER

MQQUEUE

MQPG.COM.GREENHAT.COMMAND.QUEUE.QQQQ where QQQQ is the name of a queue manager. When using RIT with shared queues, a command queue is required for each queue manager. ALTER access to the command queue for the QMGR associated with the job ALTER ALTER access to the command queues for all queue managers
MQPG.CSQ.** UPDATE
MQPG.SYSTEM.COMMAND.INPUT UPDATE UPDATE UPDATE
MQPG.SYSTEM.COMMAND.REPLY.MODEL UPDATE UPDATE
MQPG.SYSTEM.DEFAULT.MODEL.QUEUE ALTER UPDATE
MQPG.AMQ.** ALTER ALTER ALTER
MQPG.COM.GREENHAT.INTERCEPT_LCK UPDATE
MQPG.COM.GREENHAT.INTERCEPT.QQQQ_LCK, where QQQQ is the name of a queue manager. When using RIT with shared queues, an intercept locking queue may be required for each queue manager. UPDATE
MQPG.RIT.DIVERT.RULES.QQQQ_LCK, where QQQQ is the name of a queue manager. When using RIT with shared queues, a divert locking queue is required for each queue manager. UPDATE
MQPG.COM.GREENHAT.ALLOW.GENERIC.QNAMES is required for transport recording, or when specifying wildcards within the name of the queue to record. READ
MQPG.APPQUEUE, where APPQUEUE is either a generic or discrete string that identifies the queue to be recorded or stubbed. READ

READ (recording)

UPDATE (stubbing)

MQCONN MQPG.BATCH READ READ