Valores de entrada de configuración de inicio de sesión del sistema de JAAS (Java Authentication and Authorization Service)

Utilice esta página para especificar una lista de configuraciones de inicio de sesión del sistema de JAAS (Java Authentication and Authorization Service).

Para ver esta página de la consola administrativa, realice los pasos siguientes:
  1. Pulse Seguridad > Seguridad global.
  2. En Autenticación, pulse Java Authentication and Authorization Service > Inicios de sesión del sistema.
Lea la documentación de JAAS (Java Authentication and Authorization Service) antes de empezar a definir módulos de inicio de sesión adicionales para autenticarlos durante la ejecución de la seguridad del servidor de aplicaciones. No elimine los siguientes módulos de inicio de sesión del sistema:
ICSF [z/OS]

Procesa las solicitudes de inicio de sesión cuando se utiliza ICSF (Integrated Cryptographic Services Facility) como mecanismo de autenticación.

RMI_INBOUND, WEB_INBOUND, DEFAULT

Procesa solicitudes de inicio de sesión de entrada para RMI (invocación de métodos remotos), aplicaciones web y la mayoría de los demás protocolos de inicio de sesión.

RMI_INBOUND
Esta configuración de inicio de sesión maneja inicios de sesión para solicitudes de RMI de entrada. En general, estos inicios de sesión son solicitudes de acceso autenticado a archivos EJB (Enterprise JavaBeans). Estos inicios de sesión podrían ser solicitudes para JMX (Java Management Extensions) cuando se utiliza el conector RMI.
WEB_INBOUND
Esta configuración de inicio de sesión maneja inicios de sesión para solicitudes de aplicaciones web, que incluyen servlets y JSP (JavaServer Pages). Esta configuración de inicio de sesión puede interactuar con la salida generada de un interceptor de asociación de confianza (TAI), si está configurado. Es posible que el sujeto que se pasa a la configuración de inicio de sesión de WEB_INBOUND contenga objetos generados por el TAI.
DEFAULT
Esta configuración de inicio de sesión maneja los inicios de sesión de las solicitudes de entrada realizadas por la mayoría de los demás protocolos y autenticaciones internas.

Estas tres configuraciones de inicio de sesión se pasarán en la siguiente información de retorno de llamada, que manejan los módulos de inicio de sesión dentro de estas configuraciones. Estos retornos de llamadas no se pasan a la vez. No obstante, la combinación de estos retornos de llamada determina cómo el servidor de aplicaciones autentica el usuario.

Retorno de llamada

callbacks[0] = new javax.security.auth.callback.
NameCallback("Username: ");

Responsabilidad
Recopila el nombre de usuario proporcionado durante un inicio de sesión. Esta información puede ser el nombre de usuario para los siguientes tipos de inicio de sesión:
  • Inicio de sesión con nombre de usuario y contraseña, que se conoce como autenticación básica.
  • Nombre de usuario sólo para aserción de identidad.
Retorno de llamada

callbacks[1] = new javax.security.auth.callback.
PasswordCallback("Password: ", false);

Responsabilidad
Recopila la contraseña proporcionada durante un inicio de sesión.
Retorno de llamada

callbacks[2] = new com.ibm.websphere.security.auth.callback.
WSCredTokenCallbackImpl("Credential Token: ");

Responsabilidad
Recopila la señal LTPA (Lightweight Third Party Authentication) u otro tipo de señal durante un inicio de sesión. Generalmente, esta información existe cuando no hay nombre de usuario ni contraseña.
Retorno de llamada

callbacks[3] = new com.ibm.wsspi.security.auth.callback.
WSTokenHolderCallback("Authz Token List: ");

Responsabilidad
Recopila la lista ArrayList de los objetos TokenHolder que se devuelven de la llamada al método WSOpaqueTokenHelper. El retorno de llamada utiliza el método createTokenHolderListFromOpaqueToken con la señal de autorización Common Secure Interoperability versión 2 (CSIv2) como entrada.
Restricción: Este retorno de llamada sólo está presente cuando la opción Propagación de atributos de seguridad está habilitada y este inicio de sesión es un inicio de sesión de propagación. Durante un inicio de sesión de propagación, se propagan los suficientes atributos de seguridad con la solicitud para evitar el acceso al registro de usuarios para obtener atributos adicionales. Debe habilitar la propagación de los atributos de seguridad para la autenticación de salida y de entrada.
Puede habilitar la opción Propagación de atributos de seguridad para la autenticación de salida CSIv2 realizando los pasos siguientes:
  1. Pulse Seguridad > Seguridad global.
  2. En Autenticación, expanda la seguridad RMI/IIOP y pulse Autenticación de salida CSIv2.
  3. Habilite la opción Propagación de atributos de seguridad.
Puede habilitar la opción Propagación de atributos de seguridad para la autenticación de entrada CSIv2 realizando los pasos siguientes:
  1. Pulse Seguridad > Seguridad global.
  2. En Autenticación, expanda la seguridad RMI/IIOP y pulse Autenticación de entrada CSIv2.
  3. Habilite la opción Propagación de atributos de seguridad.

En configuraciones de inicio de sesión del sistema, el servidor de aplicaciones autentica el usuario basándose en la información recopilada por los retornos de llamada. No obstante, no es necesario que un módulo de inicio de sesión personalizado actúe en ninguno de estos retornos de llamada. En la siguiente lista se explican las combinaciones típicas de estos retornos de llamada:

  • Sólo el retorno de llamada callbacks[0] = new javax.security.auth.callback.NameCallback("Username: ");

    Este retorno de llamada se produce para la aserción de identidad de CSIv2, inicios de sesión web y de certificados CSIv2 X509, inicios de sesión del interceptor de asociación de confianza antiguos, etc. En un inicio de sesión web y de certificados CSIv2 X509, el servidor de aplicaciones correlaciona el certificado con un nombre de usuario. Este retorno de llamada lo utiliza cualquier tipo de inicio de sesión que establece confianza utilizando únicamente el nombre de usuario.

  • El retorno de llamada callbacks[0] = new javax.security.auth.callback.NameCallback("Username: "); y el retorno de llamada callbacks[1] = new javax.security.auth.callback.PasswordCallback("Password: ", false);.

    Esta combinación de retornos de llamada es típica de los inicios de sesión de autenticación básica. La mayor parte de las autenticaciones de usuario se producen utilizando estos dos retornos de llamada.

  • Sólo el retorno de llamada callbacks[2] = new com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl("Credential Token: ");
    Este retorno de llamada se utiliza para validar una señal LTPA (Lightweight Third Party Authentication). Esta validación suele producirse durante un inicio de sesión único (SSO) o inicio de sesión en sentido descendente. Cuando se origina una solicitud desde el servidor de aplicaciones, en lugar de un cliente puro, la señal LTPA fluye hacia el servidor de destino. Para el inicio de sesión único (SSO), la señal LTPA se recibe en la cookie y la señal se utiliza para iniciar la sesión. Si un módulo de inicio de sesión personalizado necesita el nombre de usuario de una señal LTPA, el módulo puede utilizar el siguiente método para recuperar el ID exclusivo de la señal:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    validateLTPAToken(byte[])

    Después de recuperar el ID exclusivo, utilice el siguiente método para obtener el nombre de usuario:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    getUserFromUniqueID(uniqueID)

    Importante: Siempre que un módulo de inicio de sesión se conecta antes que los módulos de inicio de sesión del servidor de aplicaciones y cambia de identidad mediante un servicio de correlación de credenciales, es importante que este módulo de inicio de sesión valide la señal LTPA, si existe. La llamada del siguiente método es suficiente para validar la confianza en la señal LTPA:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    validateLTPAToken(byte[])

    El servidor receptor debe tener las mismas claves LTPA que el servidor emisor para que esta validación se realice correctamente. Cabe la posibilidad de problemas de seguridad, si no valida esta señal LTPA cuando esté presente.
  • Una combinación de cualquiera de los retornos de llamada antes citados más el retorno de llamada callbacks[3] = new com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback("Authz Token List: ");.
    Este retorno de llamada indica que algunos atributos propagados han llegado al servidor. Los atributos propagados requieren uno de los siguientes métodos de autenticación:
    • callbacks[0] = new javax.security.auth.callback.
      NameCallback("Username: ");

    • callbacks[1] = new javax.security.auth.callback.
      PasswordCallback("Password: ", false);

    • callbacks[2] = new com.ibm.websphere.security.auth.callback.
      WSCredTokenCallbackImpl("Credential Token: ");

    Si los atributos se añaden al Asunto desde un cliente puro, los retornos de llamada NameCallback y PasswordCallback autentican la información y los objetos que se serializan en el contenedor de señales se añaden al Asunto autenticado.

    Si la propagación y la aserción de identidad CSIv2 se han habilitado, el servidor de aplicaciones utiliza el retorno de llamada NameCallback y el contenedor de señales, que contiene todos los atributos propagados, para deserializar la mayoría de los objetos. El servidor de aplicaciones utiliza el retorno de llamada NameCallback porque se ha establecido la fiabilidad con los servidores que ha indicado en la lista de servidores de confianza CSIv2. Para especificar los servidores de confianza, realice los pasos siguientes:
    1. Pulse Seguridad > Seguridad global.
    2. En Autenticación, pulse Autenticación de entrada CSIv2.

    Es necesario que los módulos de inicio de sesión personalizados manejen una serialización personalizada. Para obtener más información, consulte "Propagación de atributos de seguridad" en el centro de información.

Además de los retornos de llamada definidos anteriormente, la configuración de inicio de sesión WEB_INBOUND sólo puede contener los siguientes retornos de llamada adicionales:
Retorno de llamada

callbacks[4] = new com.ibm.websphere.security.auth.callback.
WSServletRequestCallback("HttpServletRequest: ");

Responsabilidad
Recopila el objeto de solicitud de servlet HTTP, si existe. Este retorno de llamada permite a los módulos de inicio de sesión recuperar información de una solicitud HTTP para utilizarla durante un inicio de sesión.
Retorno de llamada

callbacks[5] = new com.ibm.websphere.security.auth.callback.
WSServletResponseCallback("HttpServletResponse: ");

Responsabilidad
Recopila el objeto de respuesta de servlet HTTP, si existe. Este retorno de llamada permite a los módulos de inicio de sesión añadir información en la respuesta HTTP como resultado del inicio de sesión. Por ejemplo, los módulos de inicio de sesión podrían añadir la cookie SingleSignonCookie a la respuesta.
Retorno de llamada

callbacks[6] = new com.ibm.websphere.security.auth.callback.
WSAppContextCallback("ApplicationContextCallback: ");

Responsabilidad
Recopila el contexto de la aplicación web utilizado durante el inicio de sesión. Este retorno de llamada consta de una tabla de totales de control, que contiene el nombre de aplicación y la dirección web de redirección.
Retorno de llamada

callbacks[7] = new WSRealmNameCallbackImpl("Realm Name: ", <reino_predeterminado>);

Responsabilidad
Recopila el nombre del reino para la información de inicio de sesión. Es posible que la información de reino no se proporcione siempre y se debe presuponer que es el reino actual si no se proporciona uno.
Retorno de llamada

callbacks[8] = new WSX509CertificateChainCallback("X509Certificate[]: ");

Responsabilidad
Si el origen de inicio de sesión es un X509Certificate de la autenticación de cliente SSL, el retorno de llamada contiene el certificado que se ha validado mediante SSL. ltpaLoginModule llama a las mismas funciones de correlación que en los releases anteriores. Una vez que se ha pasado en el inicio de sesión, proporciona un módulo de inicio de sesión personalizado con la oportunidad de correlacionar el certificado de forma personalizada. A continuación, efectúa un inicio de sesión de la tabla de totales de control (consulte el enlace relacionado Módulo de inicio de sesión personalizado, para obtener un ejemplo del inicio de sesión de una tabla de totales de control). .
Si desea utilizar la propagación de atributos de seguridad con la configuración de inicio de sesión WEB_INBOUND, puede habilitar la opción Propagación de atributos de seguridad de entrada Web en el panel de Inicio de sesión único.
  1. Pulse Seguridad > Seguridad global.
  2. En Autenticación, expanda Seguridad web y pulse Inicio de sesión único (SSO).
  3. Seleccione la opción Propagación de atributos de seguridad de entrada Web.
Los siguientes módulos de inicio de sesión están predefinidos para las configuraciones de inicio de sesión del sistema RMI_INBOUND, WEB_INBOUND y DEFAULT. Puede añadir módulos de inicio de sesión personalizados, antes, entre o después de estos módulos de inicio de sesión, aunque no podrá eliminar estos módulos de inicio de sesión predefinidos:
  • com.ibm.ws.security.server.lm.ltpaLoginModule
    Realiza el inicio de sesión primario cuando la propagación de atributos está habilitada o inhabilitada. Un inicio de sesión primario utiliza información de autenticación normal, como un ID de usuario y contraseña, una señal LTPA, o un interceptor de asociación de confianza (TAI) y un nombre distinguido (DN) de certificado. Si se da alguna de las siguientes circunstancias, este módulo de inicio de sesión no se utiliza y com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule lleva a cabo el inicio de sesión primario:
    • El objeto java.util.Hashtable con los atributos de usuario necesarios se encuentra en el Asunto.
    • El objeto java.util.Hashtable con los atributos de usuario necesarios está presente en la correlación hash de estado compartido del contexto de inicio de sesión.
    • El retorno de llamada WSTokenHolderCallback está presente sin una contraseña especificada.Si un nombre de usuario y contraseña están presente con un retorno de llamada WSTokenHolderCallback, que indica la información propagada, es posible que la respuesta se origine desde un cliente puro o un servidor de un reino distinto que haya correlacionado la identidad existente con un ID de usuario y contraseña.
  • com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule
    Este módulo de inicio de sesión lleva a cabo el inicio de sesión primario utilizando la información de autenticación normal si se dan cualquiera de las siguientes condiciones:
    • Un objeto java.util.Hashtable con los atributos de usuario necesarios se encuentra en el Asunto.
    • Un objeto java.util.Hashtable con los atributos de usuario necesarios está presente en la correlación hash de estado compartido del contexto LoginContext.
    • El retorno de llamada WSTokenHolderCallback está presente sin un retorno de llamada PasswordCallback.

    Cuando el objeto java.util.Hashtable existe, el módulo de inicio de sesión se correlaciona con los atributos de objeto en un Asunto válido. Cuando el retorno de llamada WSTokenHolderCallback está presente, el módulo de inicio de sesión deserializa los objetos de señales de byte y vuelve a generar el contenido del sujeto serializado. La tabla de totales de control java.util.Hashtable tiene prioridad sobre todas las demás formas de inicio de sesión. Tenga cuidado y evite duplicar o alterar lo que el servidor de aplicaciones puede haber propagado anteriormente.

    Al especificar una tabla de totales de control java.util.Hashtable para que tenga prioridad ante el resto de información de autenticación, el módulo de inicio de sesión personalizado ya debe haber verificado la señal LTPA, si está presente, para establecer la suficiente confianza. El módulo de inicio de sesión personalizado puede utilizar el método com.ibm.wsspi.security.token.WSSecurityPropagationHelper.validationLTPAToken(byte[]) para validar la señal LTPA presente en el retorno de llamada WSCredTokenCallback. La imposibilidad de validar señal LTPA supone un riesgo para la seguridad.

    Para obtener más información sobre cómo añadir una tabla de totales de control que contenga atributos bien formados y conocidos, que el servidor de aplicaciones utilice como información de inicio de sesión suficiente, consulte "Configuración de la correlación de identidad de entrada".

RMI_OUTBOUND

Procesa solicitudes RMI (Remote Method Invocation) que se envían de salida a otro servidor cuando la propiedad com.ibm.CSI.rmiOutboundLoginEnabled o la propiedad com.ibm.CSIOutboundPropagationEnabled son verdaderas.

Estas propiedades se establecen en el panel de autenticación CSIv2. Para acceder al panel, siga estos pasos:
  1. Pulse Seguridad > Seguridad global.
  2. En Autenticación, expanda la seguridad RMI/IIOP y pulse Autenticación de salida CSIv2.
Para establecer la propiedad com.ibm.CSI.rmiOutboundLoginEnabled, seleccione Correlación de salida personalizada.Para establecer la propiedad com.ibm.CSIOutboundPropagationEnabled, seleccione la opción Propagación de atributos de seguridad.

Esta configuración de inicio de sesión determina las prestaciones de seguridad del servidor de destino y su dominio de seguridad. Por ejemplo, si el servidor de aplicaciones Versión 5.1.1 o posterior (o 5.1.0.2 para z/OS) se comunica con WebSphere Application Server Versión 5.x, WebSphere Application Server Versión 5.1.1 sólo envía la información de autenticación, a través de una señal LTPA, a WebSphere Application Server Versión 5.x. Sin embargo, si WebSphere Application Server Versión 5.1.1 o posterior se comunica con WebSphere Application Server Versión 5.1.x, la información de autenticación y autorización se envía al servidor de aplicaciones receptor si la propagación está habilitada en los servidores de envío y recepción. Cuando el servidor de aplicaciones envía la información de autenticación y autorización en sentido descendente, éste elimina la necesidad de volver a acceder al registro de usuarios y buscar los atributos de seguridad del usuario para fines de autorización. Adicionalmente, cualquier objeto personalizado añadido en el servidor emisor está presente en el sujeto del servidor en sentido descendente.

El siguiente retorno de llamada está disponible en la configuración de inicio de sesión RMI_OUTBOUND. Puede utilizar el objeto com.ibm.wsspi.security.csiv2.CSIv2PerformPolicy devuelto por este retorno de llamada para consultar la política de seguridad para esta solicitud de salida concreta. Esta consulta puede ayudar a determinar si el reino de destino es distinto del reino actual y si el servidor de aplicaciones debe correlacionarse con el reino. Para obtener más información, consulte "Configuración de la correlación de salida a un reino de destino distinto" en el centro de información.

Retorno de llamada
callbacks[0] = new WSProtocolPolicyCallback("Protocol Policy Callback: ");
Responsabilidad

Proporciona información de política específica del protocolo para los módulos de inicio de sesión en esta invocación de salida. Esta información se utiliza para determinar el nivel de seguridad, incluido el reino de destino, los requisitos de seguridad del destino y los requisitos de seguridad fusionados.

El siguiente método obtiene la política CSIv2PerformPolicy desde este módulo de inicio de sesión específico:

csiv2PerformPolicy = (CSIv2PerformPolicy)((WSProtocolPolicyCallback)callbacks[0]).getProtocolPolicy();

Un protocolo distinto del RMI puede tener un tipo distinto de objeto de política.

El siguiente módulo de inicio de sesión está predefinido en la configuración de inicio de sesión RMI_OUTBOUND. Puede añadir módulos de inicio de sesión personalizados, antes, entre o después de estos módulos de inicio de sesión, aunque no podrá eliminar estos módulos de inicio de sesión predefinidos.
com.ibm.ws.security.lm.wsMapCSIv2OutboundLoginModule
Recupera los siguientes señales y objetos antes de crear un byte opaco que se envía a otro servidor mediante la capa de señales de autorización CSIv2 (Common Secure Interoperability) Versión 2:
  • Implementaciones com.ibm.wsspi.security.token.Token que se pueden enviar desde el Asunto
  • Objetos personalizados serializables del Asunto
  • Señales de propagación de la hebra

Puede utilizar un módulo de inicio de sesión personalizado antes de este módulo de inicio de sesión antes de realizar la correlación de credenciales. No obstante, se recomienda que el módulo de inicio de sesión cambie el contenido del Asunto que se pasa durante la fase de inicio de sesión. Si se sigue esta recomendación, los módulos de inicio de sesión procesados después de que este módulo de inicio de sesión actúa sobre el nuevo contenido del Asunto.

Para obtener más información, consulte "Configuración de la correlación de salida a un reino de destino distinto" en el centro de información.

SWAM [AIX Solaris HP-UX Linux Windows] [iSeries]

Procesa solicitudes de inicio de sesión en un entorno de un solo servidor cuando se utiliza SWAM (Simple WebSphere Authentication Mechanism) como método de autenticación.

SWAM no da soporte a credenciales que se puedan enviar. Cuando SWAM es el método de autenticación, el servidor de aplicaciones no puede enviar solicitudes de servidor a servidor. En este caso, se debe utilizar LTPA.
Nota: La configuración de inicio de sesión SWAM es una característica obsoleta y se eliminará en un release posterior.
[z/OS] Nota: SWAM es una característica obsoleta del servidor de aplicaciones Versión 7.0 y se eliminará en un release posterior.
SWAM [z/OS]

Esta configuración de inicio de sesión le permite correlacionar un ID de un registro de usuarios LDAP (Lightweight Directory Access Protocol) con un ID de usuario SAF (System Authorization Facility)

[z/OS] Nota: SWAM es una característica obsoleta del servidor de aplicaciones Versión 7.0 y se eliminará en un release posterior.
wssecurity.IDAssertion

Procesa solicitudes de configuración de inicio de sesión para la seguridad de servicios web utilizando la aserción de identidad.

Esta configuración de inicio de sesión es para los sistemas de la versión 5.x. Para obtener más información, consulte "Método de autenticación de la aserción de identidad" en el centro de información.

wssecurity.PKCS7

Verifica un certificado X.509 con una lista de revocación de certificados de un objeto PKCS7 (Public Key Cryptography Standards #7).

Esta configuración de inicio de sesión es para los sistemas de la versión 6.0.x.

wssecurity.PkiPath

Verifica un certificado X.509 con una vía de acceso PKI (Infraestructura de claves públicas)

Esta configuración de inicio de sesión es para los sistemas de la versión 6.0.x.

wssecurity.signature

Procesa solicitudes de configuración de inicio de sesión para la seguridad de servicios web utilizando la validación de signatura digital.

Esta configuración de inicio de sesión es para los sistemas de la versión 5.x.

wssecurity.UsernameToken

Comprueba la autenticación básica (nombre de usuario y contraseña).

Esta configuración de inicio de sesión es para los sistemas de la versión 6.0.x.

wssecurity.X509BST

Verifica una señal de seguridad binaria (BST) X.509 comprobando la validez del certificado y la vía de acceso del certificado.

Esta configuración de inicio de sesión es para los sistemas de la versión 6.0.x.

LTPA_WEB

Procesa las solicitudes de inicio a los componentes del contenedor web, como servlets y archivos JSP (JavaServer Pages).

El módulo de inicio de sesión com.ibm.ws.security.web.AuthenLoginModule está predefinido en la configuración de inicio de sesión LTPA. Puede añadir módulos de inicio de sesión personalizados antes o después de este módulo en la configuración de inicio de sesión LTPA_WEB.

La configuración de inicio de sesión LTPA_WEB puede procesar el objeto HttpServletRequest, el objeto HttpServletResponse y el nombre de aplicación web que se pasan utilizando un manejador de retorno de llamada. Para obtener más información, consulte "Ejemplo: Personalización de una configuración de inicio de sesión y autenticación JAAS (Java Authentication and Authorization Service) del servidor" en el centro de información.

LTPA

Procesa solicitudes de inicio de sesión que no maneja la configuración de inicio de sesión LTPA_WEB.

Esta configuración de inicio de sesión la utiliza WebSphere Application Server Versión 5.1 y versiones anteriores.

El módulo de inicio de sesión com.ibm.ws.security.server.lm.ltpaLoginModule está predefinido en la configuración de inicio de sesión LTPA. Puede añadir módulos de inicio de sesión personalizados antes o después de este módulo en la configuración de inicio de sesión LTPA. Para obtener más información, consulte "Ejemplo: Personalización de una configuración de inicio de sesión y autenticación JAAS (Java Authentication and Authorization Service) del servidor" en el centro de información.




Los enlaces marcados (en línea) requieren acceso a Internet.

Conceptos relacionados
Tareas relacionadas
Referencia relacionada
Valores de entrada de configuración de JAAS (Java Authentication and Authorization Service)


Nombre de fichero: usec_sysjaas.html