Configuración de la seguridad para z/OS Connect

Los usuarios autenticados que también han sido autorizados bajo el rol zosConnectAccess, pueden acceder a la aplicación de z/OS Connect. Puede configurar la autorización de grupos a nivel de definición de servicio. Se da soporte a la autorización de grupos para los tipos de grupos SAF y LDAP.

Acerca de esta tarea

Los usuarios deben estar autenticados antes de acceder a la aplicación de z/OS Connect.

El mecanismo de autenticación predeterminado que necesita z/OS Connect es CLIENT_CERT. Los usuarios deben estar autorizados bajo el rol zosConnectAccess para poder acceder a la aplicación de z/OS Connect. El mecanismo de transporte necesario es HTTPS.

Puede configurar que z/OS Connect se ejecute sin restricciones de seguridad estableciendo las definiciones de atributos requireSecure y requireAuth. Estos atributos se definen bajo el elemento zosConnectManager, que se aplica a todos los servicios configurados o está definido bajo el elemento zosConnectService para un servicio específico. Si los atributos se definen en el elemento zosConnectService y globalmente en el elemento zosConnectManager, se utiliza el valor definido en zosConnectService. Consulte zosConnectManager y zosConnectService si desea más información sobre estos atributos.

Para proporcionar un mayor nivel de seguridad, z/OS Connect ofrece la posibilidad de restringir el acceso en base a la autorización del grupo que se puede configurar a través de SAF o LDAP. Para ello, z/OS Connect define tres niveles de autorización:

  • Administrador - IUsers con autorización de administrador disponen de autorización para consultar servicios, llevar a cabo tareas operativas en ellos e invocarlos.
  • Operaciones - Los usuarios con autorización de operaciones pueden llevar a cabo tareas en servicios como, por ejemplo, detener, iniciar, etc. pero no disponen de autorización para invocar servicios.
  • Invocar - Los usuarios con autorización para invocar pueden invocar servicios pero no tienen ningún otro tipo de autorización.

z/OS Connect suministra un interceptor de autorización que implementa la SPI com.ibm.wsspi.zos.connect.Interceptor(). Este interceptor da soporte tanto a SAF como a LDAP. Este interceptor utiliza la API de seguridad getGroupsforUser() para determinar a nivel interno en qué grupos está el usuario y, a continuación, compara estos grupos con los grupos proporcionados en la definición de servicio o en la definición global.

Cuando se habilita el interceptor de autorización suministrado de z/OS Connect, los nombres de grupo RACF o LDAP asociados a los usuarios también se pueden asociar a cualquiera de los grupos que se mencionaban anteriormente en los niveles de definición de servicio o global. En el nivel global, se pueden definir bajo el elemento de configuración <zosConnectManager>. Los atributos que se definen a este nivel incluyen: globalAdminGroup, globalOperationsGroup y globalInvokeGroup. Si se configuran, se aplican a todos los servicios configurados. Si se desea más granularidad, los grupos también se pueden configurar en el nivel de servicio bajo el elemento de configuración <zosConnectService> . Los atributos que se definen a ese nivel son: adminGroup, operationsGroup e invokeGroup. Estos valores, si se especifican, alteran temporalmente los valores que se han definido a nivel global.

Cuando se define un interceptor de autorización a nivel global, se realizan las comprobaciones de autorización una vez para todos los servicios. Cuando se utiliza la solicitud /zosConnect/operations/getStatistics para más de un servicio y para el descubrimiento de servicios, el usuario obtiene información sobre todos los servicios que se han registrado con z/OS Connect cuando se dan las condiciones siguientes:
  • El usuario pasa la comprobación de autorización
  • Ninguna otra condición impide que se devuelva información de servicio
Si el interceptor de autorizaciones se halla en una definición de nivel de servicio, el acceso a la información para estos servicios se ve limitado a los usuarios que están en esa definición de servicio.

Por ejemplo, dad la configuración siguiente con el interceptor de autorizaciones definido a nivel de servicio:

Grupos de usuario "USR1": ADMINS1, ADMINS2

Grupos de usuario "USR2": OPERATS1

Grupos de usuario "USR3": ADMINS2, OPERATS1

Configuración de z/OS Connect:
<!-- Configuración global de z/OS Connect. Se aplica a todos los servicios. -->
<zosConnectManager globalAdminGroup="ADMINS1"  globalOperationsGroup="OPERATS1" globalInvokeGroup="INVOKES1"/>

<!-- Configuración de interceptor -->
<zosConnectInterceptors id="interceptorList1"  interceptorRef="zosConnectAuthorizationInterceptor"/>
<authorizationInterceptor id="zosConnectAuthorizationInterceptor"/>

<!--Servicio 1-->
<zosConnectService serviceName="service1" serviceRef="service1Ref" adminGroup="ADMINS2" operationsGroup="OPERATS2"   interceptorsRef="interceptorList1" .../>

<!--Servicio 2-->
<zosConnectService serviceName="service2"
serviceRef="service2Ref" operationsGroup="OPERATS2"   interceptorsRef="interceptorList1" .../>

<!--Servicio 3-->
<zosConnectService  serviceName="service3" serviceRef="service3Ref" adminGroup="ADMINS1" interceptorsRef="interceptorList1" .../>
Tabla 1. . Acceso de datos de usuario
  service1 service2 service3
USR1 X X X
USR2 -- -- X
USR3 X -- X

Procedimiento

  1. Configure la autenticación de usuario para acceder a la aplicación de z/OS Connect. Para configurar la autenticación de certificado de cliente, consulte la documentación sobre cómo configurar su aplicación web y el servidor para la autenticación de certificado de cliente. Para configurar la autenticación a través de un registro, consulte la documentación sobre cómo autenticar usuarios en Liberty.

    Ejemplo 1: Configuración de registro básica utilizando los pasos descritos en la documentación para configurar un registro de usuarios básico para Liberty.

    Server.xml:
    <featureManager>    
    	<feature>zosConnect-1.0</feature> 
    	<feature>ssl-1.0</feature>     
    	<feature>appSecurity-2.0</feature>
    </featureManager> 
    
    
    <!-- Definir un almacén de claves. --> 
    <keyStore id="defaultKeyStore" password="Liberty"/>
    
    
    <!-- Migración tras error después de autenticación básica --> 
    <webAppSecurity allowFailOverToBasicAuth="true"/> 
    
    
    <!-- Definición de registro básico -->
    <basicRegistry id="basic1" realm="zosConnect">    
    	<user name="Fred" password="fredpwd"/>
    </basicRegistry>

    Ejemplo 2: Configuración de registros SAF utilizando los pasos destacados en la documentación para activar y configurar el registro SAF en z/OS.

    Server.xml:
    <featureManager> 
    	<feature>zosConnect-1.0</feature>  
    	<feature>ssl-1.0</feature>    
    	<feature>appSecurity-2.0</feature> 
    	<feature>zosSecurity-1.0</feature> 
    </featureManager>    
    
    <!-- Definición de registro Saf -->  
    <safRegistry id="saf" realm="zosConnect"/>

    Configuración de RACF. Si desea más detalles, siga la documentación sobre el Liberty: Acceso de recursos de seguridad z/OS utilizando WZSSAD:

    # Definir la clase APPL en base al prefijo de seguridad predeterminado denominado BBGZDFLT.
    RDEFINE APPL BBGZDFLT UACC(NONE)                                 
    
    # Activar la clase APPL. 
    SETROPTS CLASSACT(APPL)   
    
    # Para que el servidor autentique FRED, asigne acceso FRED READ a APPLID en la clase APPL.                                       
    PERMIT BBGZDFLT ID(FRED) ACCESS(READ) CLASS(APPL)
    
    # El ID de usuario autenticado (por ejemplo, WSGUEST de forma predeterminad) requiere acceso READ a APPLID en la clase APPL
    PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(unauthenticatedUserId)  
    
    # Otorgue al servidor permisos para realizar llamadas de autenticación.
    RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
    PERMIT BBG.SECPFX.BBGZDFLT ID(serverId) ACCESS(READ) CLASS(SERVER)

    Observe que el servidor tiene que disponer de permiso para utilizar las rutinas de servicio autorizadas SAFCRED. Consulte la documentación sobre cómo habilitar servicios autorizados de z/OS en Liberty for z/OS si desea más detalles.

  2. Configure la autorización de usuario para acceder a la aplicación de z/OS Connect asignando usuarios al rol zosConnectAccess. Para ello, consulte la documentación sobre cómo configurar la autorización para aplicaciones en Liberty.
    Añada lo siguiente en la configuración del archivo server.xml resaltado en el paso 1 del ejemplo 1:
    <authorization-roles id="zos.connect.access.roles"> 
    	<security-role name="zosConnectAccess">           
    		<user name="Fred"/>  
    	</security-role>  
    </authorization-roles>

    Ejemplo 2: Configuración de autorización utilizando SAF/RACF:

    1. Añada lo siguiente a la configuración resaltada en el paso 1 del ejemplo 2.
      <safAuthorization id="saf2" />
    2. Configuración de RACF. Los mandatos para asignar FRED al rol zosConnectAccess:
      RDEFINE EJBROLE BBGZDFLT.zos.connect.access.roles.zosConnectAccess 
      UACC(NONE)                                                       
      PERMIT BBGZDFLT.zos.connect.access.roles.zosConnectAccess 
      CLASS(EJBROLE) ID(FRED) ACCESS(READ)
  3. (Opcional) Defina grupos para su autorización cuando utilice el interceptor de autorización de z/OS Connect.
    Ejemplo 1: Definición de grupos de RACF cuando se utiliza SAF:
    ADDGROUP OPERATS1 OMVS(GID(xxx)) OWNER(xxxx)
    
    # Añadir el usuario FRED bajo el grupo OPERATS1
    ADDUSER FRED DFLTGRP(OPERATS1) OMVS(UID(xxx) HOME(/xxxx) PROGRAM(/bin/sh)) NAME('USER FRED') NOPASSWORD
    ALTUSER FRED PASSWORD(xxxxxxx) NOEXPIRED
    
    # Conectar el usuario Fred al grupo OPERATS1
    CONNECT FRED GROUP(OPERATS1)

    Fíjese que se podrá utilizar el grupo "OPERATS1" cuando se definan grupos de autorización por parte del interceptor de autorización de z/OS Connect. Por ejemplo: <zosConnectManager globalOperationsGroup="OPERATS1"/> o <zosConnectService serviceRef="service1" operationsGroup="OPERATS1"/>


Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_zconnect_security.html