Enable z/OS authorized services on Liberty for z/OS
Liberty on z/OS offers the ability for the applications to take advantage of z/OS authorized services for System Authorization Facility (SAF) authorization, Workload Manager (WLM), Resource Recovery services (RRS), and SVCDUMP. If the application requires these services, set up an Liberty angel process and grant access for our Liberty server to use these services. To use the z/OS Authorized Services, we can set up the following types of profiles using a SAF security product such as RACF:
- SAF STARTED profile is required if you plan on running the Liberty server or the Liberty angel process as a z/OS Started Task. For more information about the Liberty angel process, see Process types on z/OS.
- SAF SERVER profile is required if you plan on having the Liberty server access any of the z/OS Authorized Services for the applications. We can find the description of each service in the following content.
Note: If we are not planning to run the Liberty server as a Started Task and are not planning to use any of the authorized services, RACF need not be set up.
- Create STARTED profiles for users WLPUSER0 and WLPUSER1
- Create STARTED profiles for the PROCs for the angel and Liberty server processes. This action enables the angel and Liberty server to run as Started
Tasks.
- To cause the angel to run under the user ID
WLPUSER0:
rdef started bbgzangl.* uacc(none) stdata(user(WLPUSER0) group(wasuser) privileged(no) trusted(no) trace(yes))
- To cause the angel to run under the user ID
WLPUSER0:
- To cause a server running under the BBGZSRV procedure name to run under the user ID
WLPUSER1:
rdef started bbgzsrv.* uacc(none) stdata(user(WLPUSER1) group(wasuser) privileged(no) trusted(no) trace(yes))
- Create STARTED profiles for the PROCs for the angel and Liberty server processes. This action enables the angel and Liberty server to run as Started
Tasks.
RDEF SERVER BBG.ANGEL UACC(NONE) PERMIT BBG.ANGEL CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
To create a named angel server profile and enable a server running as WLPUSER1 to connect to it, use the following commands:
RDEF SERVER BBG.ANGEL.namedAngelName UACC(NONE) PERMIT BBG.ANGEL.namedAngelName CLASS(SERVER) ACCESS(READ) ID(WLPUSER1)
The profile name specified for the namedAngelName variable is the name of the new angel. Tip: We can use generic profiles such as BBG.ANGEL.* to grant a user ID access to multiple angels.
- Create a SERVER profile for the authorized module BBGZSAFM and permit the Started Task user ID
of the Liberty server to the profile. This action enables a Liberty server to use the z/OS Authorized services. To enable a server running as WLPUSER1 to access the authorized
module:
RDEF SERVER BBG.AUTHMOD.BBGZSAFM UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
- To enable the SAF authorized user registry services and SAF authorization services
(SAFCRED):
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.SAFCRED UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.SAFCRED CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.ZOSWLM UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.ZOSWLM CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.TXRRS UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.TXRRS CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.ZOSDUMP UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.ZOSDUMP CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.LOCALCOM UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.LOCALCOM CLASS(SERVER) ACCESS(READ) ID(wlpuser1) RDEF SERVER BBG.AUTHMOD.BBGZSAFM.WOLA UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.WOLA CLASS(SERVER)ACCESS(READ) ID(wlpuser1)
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.PRODMGR UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.PRODMGR CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
RDEF SERVER BBG.AUTHMOD.BBGZSAFM.ZOSAIO UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSAFM.ZOSAIO CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
Note: During server startup, Liberty checks all authorized services for access. Specifying the SAFLOG=Y JCL parameter on the angel PROC causes SAF error messages for all authorized services that a server is not allowed to use.
- Create a SERVER profile for the authorized client module BBGZSCFM and permit the Started Task
user ID of the Liberty server to the profile.
This action enables a Liberty server to load
the z/OS Authorized client services. To enable a server running as WLPUSER1 to access the authorized client
module:
RDEF SERVER BBG.AUTHMOD.BBGZSCFM UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSCFM CLASS(SERVER) ACCESS(READ) ID(wlpuser1)
- To enable optimized local adapter services:
RDEF SERVER BBG.AUTHMOD.BBGZSCFM.WOLA UACC(NONE) PERMIT BBG.AUTHMOD.BBGZSCFM.WOLA CLASS(SERVER) ACCESS(READ) ID(wlpuser1)