Configuración de la autenticación RunAs en Liberty
Puede delegar la autenticación a otra identidad configurando la especificación RunAs para Liberty.
Acerca de esta tarea
Al correlacionar una identidad de usuario especificada y la contraseña opcional con un rol RunAs, puede delegar el proceso de autenticación a un usuario que tiene el rol RunAs.
Debe habilitar las características de Liberty appSecurity-2.0 y servlet-3.0 y tener un registro de usuarios para su aplicación para poder configurar el rol RunAs.
Para obtener más información sobre el caso de autenticación RunAs, consulte Autenticación RunAs().
Para configurar la autenticación RunAs, complete estos pasos:
Procedimiento
- Habilite las características Liberty appSecurity-2.0 y servlet-3.0 en el archivo server.xml.
- Configure un registro de usuarios para su aplicación
- Especifique el elemento <run-as> en el descriptor de despliegue de la aplicación.
En el ejemplo siguiente de un archivo web.xml se especifican las llamadas posteriores delegadas al usuario correlacionado con el rol de Employee:
<servlet id="Servlet_1"> <servlet-name>RunAsServlet</servlet-name> <display-name>RunAsServlet</display-name> <description>RunAsServlet</description> <servlet-class>web.RunAsServlet</servlet-class> <run-as> <role-name>Employee</role-name> </run-as> </servlet>
Correlacione el rol especificado en el paso anterior con un usuario. Puede hacerlo en el archivo ibm-application-bnd.xmi/xml o en el archivo server.xml. En el elemento <run-as>, debe especificar un nombre de usuario. Si utiliza el archivo ibm-application-bnd.xml, la contraseña también es necesaria; si utiliza el archivo server.xml, la contraseña es opcional. Si es necesaria la contraseña, codifique la contraseña utilizando el mandato securityUtility encode en el directorio /bin. Para obtener más información sobre el mandato securityUtility, consulte securityUtility, mandato.
En el ejemplo siguiente se utiliza el elemento <run-as> dentro del elemento <application-bnd> en el archivo server.xml, donde el rol Employee se ha correlacionado con el usuario RunAs de user5:
<application-bnd> <security-role name="Employee"> <user name="user1" /> <user name="user5" /> <run-as userid="user5" password="{xor}Lz4sLCgwLTs=" /> </security-role> </application-bnd>
Nota:- Puesto que la contraseña es opcional en el archivo server.xml, puede también utilizar el siguiente código para un usuario sin una contraseña:
<application-bnd> <security-role name="Employee"> <user name="user1" /> <user name="user5" /> <run-as userid="user5" /> </security-role> </application-bnd>
- Si especifica el elemento <application-bnd> en el archivo
server.xml, la aplicación no debe estar en la carpeta
dropins. Si deja la aplicación
en la carpeta dropins, debe inhabilitar la supervisión de aplicaciones estableciendo lo siguiente en el archivo server.xml:
<applicationMonitor dropinsEnabled="false" />
El nombre de usuario RunAs debe ser exclusivo y no existir en las cuentas externas. Por ejemplo, si autentica un usuario en un proveedor de identidades de SAML o un proveedor de OpenID, asegúrese de que el nombre de usuario RunAs no esté en dichas cuentas externas.
Para obtener más información sobre el elemento run-as, consulte Java Servlets 3.0.
- Puesto que la contraseña es opcional en el archivo server.xml, puede también utilizar el siguiente código para un usuario sin una contraseña:
Configure la autenticación RunAs mediante perfiles de recursos SAF, lo que es específico para los usuarios de z/OS.
Habilite la delegación de RunAs mediante SAF.
<safAuthorization enableDelegation="true" />
Asigne la identidad de usuario RunAs al rol y recurso de aplicación. Para ello establezca la identidad de usuario RunAs en el campo APPLDATA del perfil de recurso SAF correspondiente. De forma predeterminada, el perfil de recurso SAF correspondiente para una aplicación y rol determinados se denomina {profilePrefix}.{appName}.{roleName} en la clase SAF EJBROLE.
Este es el mismo perfil de recurso que utiliza la autorización SAF de Liberty para autorizar usuarios en la aplicación y el rol. El nombre del perfil lo rige la configuración safRoleMapper. Para obtener más información sobre cómo correlacionar los nombres de rol y aplicación con los nombres de perfil SAF, consulte Controlar cómo se correlacionan los roles con los perfiles SAF.
A continuación se muestran algunos mandatos RACF de ejemplo para asignar user5 como usuario RunAs para la aplicación myapp y el rol de Employee:RDEFINE EJBROLE BBGZDFLT.myapp.Employee UACC(READ) RALTER EJBROLE BBGZDFLT.myapp.Employee APPLDATA('user5') SETROPTS GENERIC(EJBROLE) REFRESH SETROPTS RACLIST(EJBROLE) REFRESH

Nombre de archivo: twlp_sec_runas.html