Hi Stephan,
Bluntly speaking, at its core, zSecure is merely a reporting tool. It allows its users to view information from the RACF database and the system. If those users happen to have a RACF privilege (SPECIAL, GROUP SPECIAL, OWNER of profiles), they can also generate commands to modify profiles. If they have no privilege in RACF, they may be able to see, but not change things. From this point of view, there is no real need for roles.
In order to see RACF profiles, zSecure needs READ access to a RACF data source. This can be a READ PERMIT for the PRIMARY RACF database, or the BACKUP database. You can also use a scheduled batch job to create a (daily?) snapshot of (a) RACF database, and offer this to the users by doing into SE.D.1 from the maintainer's user ID, and creating a Set of input files with the snapshot dsname and type UNLOAD. For installations with more interest in securing their RACF database, you can also install the zSecure network server (CKNSERVE) to give administrators live access to the RACF database, but without requiring a PERMIT to the RACF data set(s). The CKNSERVE access is controlled (only) through XFACILIT profiles starting with CKN.
Once the user has READ access to one of the 4 RACF data sources, zSecure emulates RACF administration rules to determine what it shows the user. Again, in vanilla mode, you do not need CKR or CKG profiles. It immediately shows GROUP SPECIAL users the profiles in their scope, just like the RACF commands would. Note, the presence of profiles is shown if the user has READ permit on a profile, but not all details. If the user has the SYSTEM SPECIAL privilege, all profiles will be shown, but not the AUDIT related fields. If the user has SYSTEM AUDIT or ROAUDIT they may see more fields in profiles.
There are cases where the administrators (SPECIAL) need to see all fields, or production control staff needs to see all profiles. This is before RACF got the ROAUDIT privilege. To disable the built-in scope filters, zSecure uses XFACILIT CKR.READALL, to display (read) all profiles and profile fields. Some zSecure components (C2POLICE, CKQRADAR) don't function well without a PERMIT on this profile. It would also be of benefit for technical administrators that have been given group special (or class authority) but need to see all groups or users to better do their admin work.
Note, this allows the users to SEE information from RACF, the ability to make changes is strictly controlled with the user's native RACF privilege.
In order to see system information, or user catalog information to manage users, zSecure uses the CKFREEZE data sets. To write into a CKFREEZE a batch job needs PERMIT on XFACILIT CKF.** (or less generic). The users do not need this permit, they merely need READ access to the CKFREEZE data set, and the name of the CKFREEZE must be stated in their Set of input files via SE.1 or SE.D.1.
OK, now we move from vanilla zSecure to zSecure on steroids. Before RACF brought IRR.LISTUSER, IRR.PASSWORD, IRR.PWRESET capabilities, there was a need to support decentralized administration without relying on group special. This was implemented using the (optional) CKGRACF command. This command only works when it sits in an APF authorized library, and only works in TSO when it is in one of the command lists in IKJTSOxx. The user must have READ permit on one or more CKG profiles to make use of CKGRACF. If CKGRACF is available, zSecure calls it from the ISPF interface to populate the menu and action command controls that Tom mentioned, using the CKGRACF SHOW MYACCESS command.
CKGRACF also has support for TIMED commands, where you can grant permits for a future date, and have the permit deleted after a given time, and much more. Do not grant access to CKGRACF unless you have identified a real need for it. Make sure you don't have widely generic CKG profiles only because it was activated during a trial (or POC). Note: CKGRACF is optional, many installations do not need it, or only use it because of the SHOW MYACCESS command.
The 4 basic roles you described can be implemented with RACF privileges, READ permit on one of the RACF data sources and CKFREEZE data sets, and CKR.READALL for some (or all) of the central team.
------------------------------
Rob van Hoboken
------------------------------
Original Message:
Sent: Thu July 10, 2025 04:39 AM
From: Stephan Reichelt
Subject: Roles in zSecure
Hello
We want to create roles in our zSecure for using zSecure. Unfortunately, the documentation is very poor in this regard. The only role that is covered is that of the helpdesk. And that is only via the Visual Server. However, we do not use the Visual Server (nor do we intend to in the future) and work via the ISPF interface.
Can anyone help me?
We want to set up the following roles:
Admin – RACF administrators with all rights
Auditor – The person who is supposed to audit us but is not allowed to make any changes.
User administrator – Restricted to certain areas only (Group Special)
External employees – Employees who support us but do not have full system SPECIAL access.
Many thanks
Stephan
------------------------------
Stephan Reichelt
------------------------------