With RACF you can define a profile and give userids access to it. You can also define a global profile for high used datasets, so the profile is cached, and no I/O is needed to the RACF dataset.
Defined a normal profile
ADDSD 'COLIN.Z31B.*' UACC(READ)
PERMIT 'COLIN.Z31B.*' ID(IBMUSER,COLIN) ACCESS(CONTROL)
You can list it
LISTDSD DATASET('COLIN.Z31B.*') ALL
and delete it
DELDSD DATASET('COLIN.Z31B.*')
For some resources used very frequently, you can cache definitions in memory. These are called GLOBAL definitions. When a check is made for a userid to access a resource, if the definition is a global definition, then there should be no RACF database I/O, and should be fast.
Define a global resource
You need to set up the global resource before you can use it. See the IBM documentation.
Example 1 contains
SETROPTS GLOBAL(DATASET)
RDEFINE GLOBAL DATASET
SETROPTS GLOBAL(DATASET) REFRESH
and
RALTER GLOBAL DATASET ADDMEM('SYS1.HELP'/READ)
ADDSD 'SYS1.HELP' UACC(READ)
SETROPTS GLOBAL(DATASET) REFRESH
to define a resource. It gives a default of read access to the data set SYS1.HELP.
You can display the contents of the global data set class
rlist global dataset
which gives
CLASS NAME
----- ----
GLOBAL DATASET
...
RESOURCES IN GROUP
--------- -- -----
SYS1.HELP/READ
...
You can delete a global profile
RALTER GLOBAL DATASET DELMEM('SYS1.HELP'/READ)
SETROPTS GLOBAL(DATASET)
You can remove the global dataset class if there are no elements in the glas
RDElete GLOBAL DATASET
SETROPTS NOGLOBAL(DATASET)
SETROPTS GLOBAL(DATASET) REFRESH
If you now list the global profile
rlist global dataset
gives
ICH13003I DATASET NOT FOUND
I’m guessing that if you want READ access to the SYS1.HELP data set, the entry in the GLOBAL DATASET will be found. If you want UPDATE access to the SYS1.HELP data set, because there is no entry in the GLOBAL DATASET, checking will fall through to the normal profiles defines like ADDSD.
You do not need to configure the GLOBAL DATASET, but it can give performance benefits, if you are on a heavily used system. It is not enabled on my one person zD&Y system.
Beware
In the documentation it also defines a “normal” profile like “ADDSD
‘SYS1.HELP’ UACC(READ)”. I’m guessing that this is a fall back if someone deactivates the global dataset profiles.
So you should read the documentation and follow its instructions.