Configuración de inicio de sesión de JAAS (Java Authentication and Authorization Service)

Java™ Authentication and Authorization Service (JAAS) es una nueva característica de WebSphere Application Server. JAAS es la API (interfaz de programación de aplicaciones) estratégica de WebSphere Application Server para autenticación que sustituye a la API de inicio de sesión programado de CORBA (Common Object Request Broker Architecture).

WebSphere Application Server proporciona algunas extensiones a JAAS:

  • com.ibm.websphere.security.auth.WSSubject: La API com.ibm.websphere.security.auth.WSSubject amplía el modelo de autorización JAAS a los recursos J2EE (Java 2 Platform, Enterprise Edition (J2EE). Puede configurar el inicio de sesión JAAS en la consola administrativa, o utilizando las funciones de scripts, y almacenar esta configuración en la API (Interfaz de programas de aplicación) de configuración de WebSphere Application Server. No obstante, WebSphere Application Server continúa dando soporte al formato de configuración de inicio de sesión JAAS por omisión, archivo de texto plano, que proporciona la implementación por omisión de JAAS. Si hay configuraciones de inicio de sesión duplicadas definidas en formato de archivo de texto plano y en la API de configuración de WebSphere Application Server, la de WebSphere Application Server tiene prioridad. Las ventajas de definir la configuración de inicio de sesión en la API de configuración de WebSphere son:
    • Soporte de interfaz de usuario al definir la configuración de inicio de sesión JAAS
    • Gestión central de la configuración de inicio de sesión JAAS
    • Distribución de la configuración de inicio de sesión JAAS en una instalación del producto WebSphere Application Server, Network Deployment

    Debido a un error de diseño en el método de JAAS Versión 1.0, javax.security.auth.Subject.getSubject no devuelve el objeto Subject asociado a la hebra en ejecución incluida en un bloque de código java.security.AccessController.doPrivileged. Esto puede dar lugar a un comportamiento incoherente que puede resultar problemático. La extensión com.ibm.websphere.security.auth.WSSubject proporciona una solución alternativa que permite asociar el objeto Subject a la hebra en ejecución. La extensión com.ibm.websphere.security.auth.WSSubject amplía el modelo de autorización JAAS a los recursos J2EE.

    Por qué WebSphere Application Server tiene su propia clase de sujeto: puede recuperar los sujetos en un bloque Subject.doAs con la llamada Subject.getSubject. Sin embargo, este procedimiento no funciona si existe una llamada AccessController.doPrivileged en el bloque Subject.doAs. En el siguiente ejemplo, s1 es igual a s, pero s2 es nulo:
    * AccessController.doPrivileged() no solo trunca la propagación de Subject, 
    * sino que también reduce los permisos. No incluye la política de seguridad JAAS 
    * definida para los principales de Subject.
    Subject.doAs(s, new PrivilegedAction() {
      public Object run() {
        System.out.println("Within Subject.doAsPrivileged()");
        Subject s1 = Subject.getSubject(AccessController.getContext());
        AccessController.doPrivileged(new PrivilegedAction() {
          public Object run() {
          Subject s2 = Subject.getSubject(AccessController.getContext());
          return null;
        }
      });
      return null;
    }
    });
  • La configuración de inicio de sesión de JAAS se puede efectuar en la consola administrativa, o utilizando las funciones de scripts, y almacenar en el depósito de configuración de WebSphere Application Server. Las aplicaciones pueden definir la nueva configuración de inicio de sesión JAAS en la consola administrativa y los datos persisten en el repositorio de configuración almacenado en la API de configuración de WebSphere Application Server. No obstante, WebSphere Application Server continúa dando soporte al formato de configuración de inicio de sesión JAAS por omisión que proporciona la implementación por omisión de JAAS. Si hay configuraciones de inicio de sesión duplicadas definidas en formato de archivo de texto plano y en la API de configuración de WebSphere Application Server, la de WebSphere Application Server tiene prioridad. Las ventajas de definir la configuración de inicio de sesión en la API de configuración de WebSphere Application Server son:
    • Soporte de UI para definir la configuración de inicio de sesión JAAS.
    • La configuración de inicio de sesión de la configuración JAAS se puede gestionar centralmente.
    • La configuración de inicio de sesión de la configuración JAAS se distribuye en una instalación de WebSphere Application Server, Network Deployment.
  • LoginModule de proxy: Proxy.LoginModule es un proxy del usuario configurado o módulo definido por el sistema que utiliza el cargador de clases de contexto, en lugar del cargador de clases del sistema, para cargar el módulo. La implementación JAAS por omisión no utiliza el cargador de clases de contexto de hebra para cargar las clases. El módulo LoginModule no puede cargarse si el archivo de clase de LoginModule no está en el cargador de clases de la aplicación ni en la classpath del cargador de clases de la extensión Java. WebSphere Application Server proporciona un módulo LoginModule de proxy que permite cargar el LoginModule de JAAS utilizando el cargador de clases del contexto de la hebra. No es necesario colocar la implementación de LoginModule en el cargador de clases de la aplicación ni en la classpath del cargador de clases de la extensión Java con este módulo LoginModule del proxy.
Consejo: No suprima las configuraciones de inicio de sesión JAAS definidas previamente (ClientContainer, WSLogin y DefaultPrincipalMapping). Si las suprime o elimina, es posible que las demás aplicaciones de empresa no funcionen correctamente.

Un administrador del sistema determina las tecnologías de autenticación o módulos de inicio de sesión que se han de utilizar para cada aplicación y las configura en una configuración de inicio de sesión. El origen de la información de configuración, por ejemplo, un archivo o una base de datos, está en la implementación actual de javax.security.auth.login.Configuration. La implementación de WebSphere Application Server permite que la configuración de inicio de sesión se defina en el documento de seguridad de la API de configuración de WebSphere Application Server y en un archivo de configuración JAAS donde el primero tiene prioridad.

Las configuraciones de inicio de sesión JAAS se definen en el documento de seguridad de la API de configuración de WebSphere Application Server para que las aplicaciones lo utilicen. Para acceder a las configuraciones, siga estos pasos:
  1. Pulse Seguridad > Seguridad global.
  2. En JAAS (Java Authentication and Authorization Service), pulse Inicio de sesión de la aplicación.

El módulo WSLogin define una configuración de inicio de sesión y la implementación de LoginModule que pueden utilizar las aplicaciones en general.

El módulo ClientContainer define una configuración de inicio de sesión y la implementación de LoginModule similar a la de la configuración WSLogin, pero aplica los requisitos del contenedor de cliente de WebSphere Application Server.

El módulo DefaultPrincipalMapping define un LoginModule especial utilizado habitualmente por Java 2 Connector para correlacionar una identidad de usuario de WebSphere Application Server autenticada con un conjunto de datos de autenticación de usuario (ID de usuario y contraseña) para el sistema EIS (Enterprise Information System) de programa de fondo. Para obtener más información acerca de Java 2 Connector y DefaultMappingModule, consulte la sección sobre seguridad de Java 2.

Una configuración de inicio de sesión JAAS nueva se puede añadir y modificar mediante la consola administrativa. Los cambios se guardan en el documento de seguridad de nivel de célula y están disponibles a todos los servidores de aplicación gestionados. Es necesario reiniciar el servidor de aplicaciones para que los cambios entren en vigor durante la ejecución y para que esté disponible la configuración de inicio de sesión del contenedor de cliente.

WebSphere Application Server también lee la información de configuración de JAAS desde el archivo wsjaas.conf en el subdirectorio de propiedades del directorio raíz bajo el que está instalado WebSphere Application Server. Los cambios realizados en el archivo wsjaas.conf los utiliza solamente el servidores de aplicaciones local y entran en vigor en cuanto se reinicia el servidor de aplicaciones. La configuración de JAAS en el documento de seguridad de la API de configuración de WebSphere Application Server tiene prioridad sobre lo definido en el archivo wsjaas.conf. Una entrada de configuración en el archivo wsjaas.conf es modificada por una entrada del mismo nombre de alias en el documento de seguridad de la API de configuración de WebSphere Application Server.

Las entradas de la configuración de inicio de sesión JAAS (Java Authentication and Authorization Service) de la consola de administración se propagan en el código de tiempo de ejecución del servidor cuando se crean, no cuando se guarda la configuración. No obstante, las entradas de la configuración de inicio de sesión JAAS suprimidas no se eliminan del código de tiempo de ejecución del servidor. Para eliminar las entradas, guarde la nueva configuración, y detenga y reinicie el servidor.

Los ejemplos del infoCenter proporcionan un ejemplo de inicio de sesión JAAS que muestra cómo utilizar JAAS con WebSphere Application Server. El ejemplo utiliza un inicio de sesión del lado del servidor con JAAS para autenticar un usuario con el tiempo de ejecución de la seguridad para WebSphere Application Server. El ejemplo muestra la tecnología siguiente:
  • JAAS (Java Authentication and Authorization Service) de J2EE (Java 2 Platform, Enterprise Edition)
  • JAAS para WebSphere Application Server
  • Seguridad de WebSphere Application Server
El ejemplo de inicio de sesión basado es un componente de los ejemplos de tecnología.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_logmod
File name: rsec_logmod.html