Acceso a los recursos de seguridad de z/OS mediante WZSSAD
El WLP z/OS System Security Access Domain (WZSSAD) hace referencia a los permisos otorgados al servidor Liberty. Estos permisos controlan qué perfiles de dominios de la aplicación SAF (System Authorization Facility) y perfiles de recursos pueden consultar el servidor cuando autentica y autoriza a los usuarios.
Por ejemplo, si desea configurar dos instancias de servidor de Libertyy, una para producción y otra para prueba y desea que su acceso de rol sea distinto entre producción y prueba, puede configurar dos dominios de acceso de seguridad del sistema distintos.
El servidor de Liberty es un programa no autorizado que pueden ejecutar y configurar los usuarios que no son administradores ni tienen privilegios, por lo tanto, es importante para fines de seguridad e integridad del sistema que el usuario no pueda beneficiarse del servidor para ejecutar operaciones de seguridad para las que no tiene concedido ningún permiso de forma explícita.
- Autenticación de usuarios
- Autorización de un sujeto a un rol Java™ EE
- Autorización de un sujeto a otros recursos SAF
Autenticación de usuarios
El servidor autentica a los usuarios para un dominio SAF determinado que se configura definiendo un recurso, al que se hace referencia como el APPLID de la clase APPL. Para autenticar a un usuario para el dominio, el usuario debe tener acceso de lectura al recurso APPLID de la clase APPL. Además, siempre que la clase APPL esté activa, el ID de usuario no autenticado (que es WSGUEST de forma predeterminada) también requiere acceso READ al recurso APPLID de la clase APPL.
El nombre de recurso APPLID utilizado por el servidor se especifica mediante el atributo profilePrefix en el elemento de configuración <safCredentials>. Si no especifica este elemento, se utiliza el profilePrefix predeterminado de BBGZDFLT.
<safCredentials profilePrefix="BBGZDFLT"/>
// Definir el APPLID de BBGZDFLT en RACF.
RDEFINE APPL BBGZDFLT UACC(NONE)
// Activar la clase APPL.
//Si no está activo, el dominio no está restringido, lo que significa que alguien puede autenticarlo.
SETROPTS CLASSACT(APPL)
//Todos los usuarios que el servidor va a autenticar deben tener acceso de lectura para el APPLID de la clase APPL:
PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(UserID)
//El ID de usuario no autenticado requiere acceso READ a la APPLID en la clase APPL:
PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(WSGUEST)
RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
PERMIT BBG.SECPFX.BBGZDFLT CLASS(SERVER) ACCESS(READ) ID(serverUserId)
Autorización de un sujeto a un rol Java EE
profilePrefix="BBGZDFLT"
Application resource name = "MYAPP"
Application role name = "ADMIN"
Mapped profile name = "BBGZDFLT.MYAPP.ADMIN"
Para obtener más información, consulte Liberty: Controlar cómo se correlacionan los roles con los perfiles SAF
EJBROLE profile name = "BBGZDFLT.ADMIN"
HLQ = "BBGZDFLT"
RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
PERMIT BBG.SECPFX.BBGZDFLT CLASS(SERVER) ACCESS(READ) ID(serverUserId)
En el ejemplo, debido a que el correlacionador de roles de SAF establece el HLQ del perfil correlacionado en profilePrefix,
el mismo perfil BBG.SECPFX.BBGZDFLT rige los permiso de autenticación de APPLID y los permisos de autorización de perfil de EJBROLE.Autorización de un sujeto a otros recursos SAF
Las aplicaciones Java EE pueden realizar comprobaciones de control de acceso con otras clases de SAF que no sean EJBROLE. WZSSAD restringe qué clases SAF externas a EJBROLE puede autorizar el servidor. Esto impide que un usuario no autorizado o una aplicación se beneficie de los servicios SAF autorizados que utiliza el servidor para obtener información acerca de los perfiles de recursos de las clases SAF que no son EJBROLE para los que está o no está autorizado el usuario o la aplicación.
RDEFINE SERVER BBG.SECCLASS.FACILITY UACC(NONE)
PERMIT BBG.SECCLASS.FACILITY CLASS(SERVER) ACCESS(READ) ID(serverUserId)