Notas de la versión de Sun Java System Message Queue 4.1

Configurar la autenticación compatible con JAAS

Para configurar la autenticación compatible con JAAS, es necesario establecer las propiedades del agente y del sistema para seleccionar este tipo de autenticación, especificar la ubicación del archivo de configuración y especificar las entradas a los módulos de registro que van a utilizarse.

Esta sección ilustra la relación existente entre el cliente JAAS, los módulos de registro y el archivo de configuración de JAAS y describe el proceso necesario para configurar la autenticación compatible con JAAS. La siguiente figura muestra la relación entre el archivo de configuracion, el módulo de registro y el agente.

Figura 1–3 Configurar la compatibilidad con JAAS

Esta figura muestra la relación que existe entre los archivos relacionados con JAAS. El texto que sigue a la figura explica su contenido.

Como muestra la figura, el archivo de configuración de JAAS, MyJAASCFile.config contiene referencias a varios módulos de registro, agrupados en un punto de entrada. Para localizar el archivo de configuración, el agente consulta la propiedad de sistema de Java java.security.auth.login.config o el archivo de propiedades de seguridad de Java. Para determinar los módulos de registro que van a utilizarse, se consulta la propiedad del agente imq.user_repository.jaas.name , que especifica la entrada deseada en el archivo de configuración. Las clases de esos módulos se encuentran en el directorio lib/ext.

Para configurar la compatibilidad de JAAS para Message Queue, debe seguir estos pasos: (En un entorno de desarrollo, el encargado de completar estos pasos sería el desarrollador. En un entorno de producción, el administrador podría encargarse de algunas de estas tareas.)

  1. Cree una o varias clases del módulo de registro que implementen el servicio de autenticación. A continuación, se enumeran los tipos de devoluciones de llamada JAAS que admite el agente.

    javax.security.auth.callback.LanguageCallback

    El agente utiliza esta devolución de llamada para pasar al servicio de autenticación la configuración local en que el agente se está ejecutando. Este valor puede utilizarse para la localización.

    javax.security.auth.callback.NameCallback

    El agente utiliza esta devolución de llamada para pasar al servicio de autenticación el nombre del usuario especificado por el cliente de Message Queue cuando se solicita la conexión.

    javax.security.auth.callback.TextInputCallback

    El agente utiliza esta devolución de llamada para especificar el valor de imq.authentication.type al servicio de autenticación cuando el TextInputCallback.getPrompt() sea imq.authentication.type. En este momento, el único valor posible para este campo es basic, que indica que la codificación de contraseña es Base-64.

    javax.security.auth.callback.PasswordCallback

    El agente utiliza esta devolución de llamada para pasar al servicio de autenticación la contraseña especificada por el cliente de Message Queue cuando se solicita la conexión.

    javax.security.auth.callback.TextOutputCallback

    El agente utiliza esta devolución de llamada para proporcionar acceso al servicio de autenticación registrando la salida del texto en el archivo de registro del agente. Los tipos de mensajes de devolución de llamada ERROR, INFORMATION, WARNING se asignan a los niveles de registro del agente ERROR, INFO, y WARNING respectivamente.

  2. Cree un archivo de configuración JAAS con entradas que hagan referencia a las clases del módulo de registro y especifique la ubicación de este archivo en el administrador de Message Queue. (El archivo puede localizarse de forma remota, y es posible especificar su ubicación con una URL.)

  3. Tome nota del nombre de la entrada (que hace referencia a las clases de implementación de registro) en el archivo de configuración JAAS.

  4. Archive las clases que implementan los módulos de registro en un archivo jar y coloque este archivo en el directorio de Message Queue lib/ext.

  5. Configure las propiedades de agente relacionadas con la compatibilidad con JAAS. Éstas se describen en la Tabla 1–2.

  6. Configure la siguiente propiedad del sistema para especificar la ubicación del archivo de configuración JAAS.

    java.security.auth.login.config= JAAS_Config_File_Location

    Por ejemplo, puede especificar el archivo de configuración al iniciar el agente.

    imqbrokerd -Djava.security.auth.login.config=JAAS_Config_File_Location

    Hay otras formas de especificar la ubicación del archivo de configuración JAAS. Para más información, consulte:

    http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/tutorials/LoginConfigFile.html

La siguiente tabla enumera las propiedades de agente necesarias para configurar la compatibilidad con JAAS.

Tabla 1–2 Propiedades de agente para la compatibilidad con JAAS

Propiedad 

Descripción 

imq.authentication.type

Establézcala en basic para indicar que la codificación de contraseña es Base-64. Este es el único valor que se permite para la autenticación JAAS.

imq.authentication.basic.user_repository

Establézcala enjaas para especificar la autenticación JAAS.

imq.accesscontrol.type

Establézcala en file.

imq.user_repository.jaas.name

Indique el nombre de la entrada deseada (en el archivo de configuración JAAS) que haga referencia a los módulos de acceso que desea utilizar como mecanismo autenticación. Es el nombre que anotó en el paso 3.

imq.user_repository.jaas.userPrincipalClass

Esta propiedad, que utiliza el control de acceso de Message Queue, especifica la clase de implementación java.security.Principal de los módulos de acceso que el agente utiliza para extraer el nombre principal que representa la entidad del usuario en el archivo de control de acceso de Message Queue. Si no se especifica, se utilizará en su lugar el nombre de usuario que facilitó el cliente de Message Queue al solicitar la conexión.

imq.user_repository.jaas.groupPrincipalClass

Esta propiedad, que utiliza el control de acceso de Message Queue, especifica la clase de implementación java.security.Principal de los módulos de acceso que el agente utiliza para extraer el nombre principal que representa la entidad del grupo en el archivo de control de acceso de Message Queue. Si no se especifica, se pasarán por alto las reglas de grupo que pudiera haber en el archivo de control de acceso de Message Queue.