The following document provides guidelines on setting up security for the IBM Health Checker for z/OS started task with TOP SECRET.
IBM Health Checker for z/OS documentation provides RACF examples, but unfortunately no TOP SECRET examples.
Note: The IBM Health Checker for z/OS documentation provides RACF examples that were converted to TOP SECRET examples in order to produce this document.
Release: TOPSEC00200-16-Top Secret-Security
Component:
Security for IBM Health Checker for z/OS must be set up the same way as it would done for any other started task.
Here are the steps to be followed:
1. Create a user ID for IBM Health Checker for z/OS with superuser authority (UID(0)) and connect this superuser user ID to a group.
Example:
TSS CREATE(hcsuperid) NAME('hcsuperid') TYPE(SCA) DEPT(dept) PASS(password,0)
TSS ADD(hcsuperid) UID(0) HOME('/') OMVSPGM('/bin/sh') GROUP(OMVSGRP) DFLTGRP(OMVSGRP)
TSS ADD(OMVSGRP) GID(46)
TSS ADD(hcsuperid) FACILITY(STC)
TSS MODIFY(OMVSTABS)
2. Associate the superuser User ID, hcsuperid, with the IBM Health Checker for z/OS started task, HZSPROC.
Example:
TSS ADD(STC) PROCN(HZSPROC) ACID(hcsuperid)
3. Give the IBM Health Checker for z/OS started task super User ID access to the HZSPDATA data set on each system where you'll run IBM Health Checker for z/OS.
Example:
TSS ADD(owningacid) DSN(SYS1.PRODSYS.HZSPDATA)
TSS PER(hcsuperid) DSN(SYS1.PRODSYS.HZSPDATA) ACCESS(UPDATE)
4. Give IBM Health Checker for z/OS started task super User ID READ access to the HZSPRMxx parmlib member(s).
Example:
TSS ADD(owningacid) DSN(SYS1.PARMLIB)
TSS PER(hcsuperid) DSN(SYS1.PARMLIB) ACCESS(READ)
5. If log stream is being used, UPDATE access must be defined for the IBM Health Checker for z/OS started task super User ID to each RESOURCE(logstreamname) CLASS(LOGSTRM). IBM Health Checker for z/OS connects directly to the defined log stream or streams.
Example:
TSS ADD(owningacid) LOGSTRM(logstreamname)
TSS PER(hcsuperid) LOGSTRM(logstreamname) ACCESS(UPDATE)
Setting up security for the HZSPRINT utility
In order to use HZSPRINT to view check output, it must be authorized for users to QUERY and MESSAGES services.
Note that in the following examples, hcprintuserid is the ID of either a user or group to give access to HZSPRINT output.
// EXEC PGM=HZSPRNT,PARM='CHECK(*,GRS_Mode)')
// EXEC PGM=HZSPRNT,PARM='CHECK(*,*)'
TSS ADD(owningacid) XFACILIT(HZS.sysname.QUERY)
TSS PER(hcprintuserid) XFACILIT(HZS.sysname.QUERY) ACC(READ)
TSS ADD(owningacid) XFACILIT(HZS.sysname.check_owner.MESSAGES)
TSS PER(hcprintuserid) XFACILIT(HZS.sysname.check_owner.MESSAGES) ACC(READ)
// EXEC PGM=HZSPRNT,PARM='CHECK(IBMRACF,*)'
TSS ADD(owningacid) XFACILIT(HZS.sysname.IBMRACF.QUERY)
TSS PER(hcprintuserid) XFACILIT(HZS.SYS1.IBMRACF.QUERY) ACCESS(READ)
TSS ADD(owningacid) XFACILIT(HZS.sysname.IBMRACF.check_name.MESSAGES)
TSS PERMIT(hcprintuserid) XFACILIT(HZS.SYS1.IBMRACF.check_name.MESSAGES) ACCESS(READ
// EXEC PGM=HZSPRNT,PARM='CHECK(IBMRACF,RACF_GRS_RNL)'
TSS ADD(owningacid) XFACILIT(HZS.SYS1.IBMRACF.RACF_GRS_RNL.QUERY)
TSS PERMIT(hcprintuserid) XFACILIT(HZS.SYS1.IBMRACF.RACF_GRS_RNL.QUERY) ACCESS(READ)
TSS ADD(owningacid) XFACILIT(HZS.SYS1.IBMRACF.RACF_GRS_RNL.MESSAGES)
TSS PERMIT(hcprintuserid) XFACILIT(HZS.SYS1.IBMRACF.RACF_GRS_RNL.MESSAGES) ACCESS(READ)
// EXEC PGM=HZSPRINT,PARM='LOGSTREAM(logstreamname)'
// EXEC PGM=HZSPRINT,PARM='LOGSTREAM(logstreamname),CHECK(owner,name)'
// EXEC PGM=HZSPRINT,PARM='LOGSTREAM(logstreamname),CHECK(owner,name),EXCEPTIONS'
TSS ADD(owningacid) IBMFAC(log_stream_data_set_name)
TSS PERMIT(hcprintuserid) IBMFAC(log_stream_data_set_name) ACCESS(READ)