Autorización de usuario de tareas del planificador
El servicio de planificador utiliza el mecanismo de inicio diferido de Concurrency Utilities for Java EE para propagar la información de contexto de servicio Java™ EE (Java Platform, Enterprise Edition) a una tarea cuando ésta se ejecuta. Si piensa proteger la aplicación utilizando el contexto de seguridad JAAS del mecanismo de seguridad administrativo incorporado en WebSphere Application Server, cree cada tarea con las credenciales correctas en la hebra.
- Utilizando el contexto de seguridad JAAS (Java Authentication and Authorization Service) en la hebra cada vez que se crea la tarea. Consulte el tema Inicio diferido y seguridad en la documentación de simultaneidad.
- Utilización del método setAuthenticationAlias en el objeto TaskInfo.
- Utilizando una identidad de seguridad especificada en un método TaskHandler EJB de la tarea BeanTaskInfo.
El servicio de planificador utiliza el mecanismo de inicio diferido de Concurrency Utilities for Java EE para propagar la información del contexto de servicio Java EE a una tarea cuando ésta se ejecuta. La cantidad de información del contexto de servicio que se propaga se controla mediante los valores del contexto de servicio en el objeto de configuración del gestor de trabajo al que hacen referencia los planificadores. Por ejemplo, pueden habilitarse los contextos de servicio de seguridad e internacionalización. Consulte información sobre la simultaneidad para obtener más detalles sobre cómo configurar el servidor de aplicaciones para propagar estos contextos de servicio.
Contexto de seguridad JAAS (Java Authentication and Authorization Service)
Si tiene la intención de proteger la aplicación utilizando el contexto de seguridad JAAS del mecanismo de seguridad administrativo incorporado en el producto, cree cada tarea con las credenciales correctas en la hebra. Cuando cada tarea tenga las credenciales correctas, podrá inhabilitar y volver a habilitar la seguridad administrativa sin ocasionar ningún problema de seguridad. Si no establece el contexto de seguridad una vez creada la tarea del planificador y habilita la seguridad posteriormente en la aplicación de destino, es posible que se muestre un mensaje de error o una excepción de seguridad como, por ejemplo, SECJ0053E. Es posible que también encuentre este error si dos o más planificadores de distintos servidores están accediendo a las mismas tablas (un planificador redundante o en clúster) y los valores de seguridad son distintos.- Está inhabilitada la seguridad administrativa.
- Las políticas del contexto de seguridad están inhabilitadas en el gestor de trabajo configurado para la configuración del planificador asociado.
- No se ha establecido una credencial en la hebra. Por ejemplo, el enterprise bean o el servlet que se utiliza para crear la tarea planificada no es seguro, o la tarea se ha creado con un WASScheduler MBean.
- Localice la tarea mediante los métodos get o find de la API del planificador.
- Cancele la tarea con la API del planificador.cancel().
- Vuelva a crear la tareas mediante el método Scheduler.create() con la seguridad habilitada. Al someter una tarea que se haya recuperado de un planificador mediante los métodos find o get generarán automáticamente un nuevo ID de tarea.
Orden de seguridad de prioridad
Como se ha indicado anteriormente, hay tres formas de verificar que una tarea se ejecutará con las credenciales de usuario correctas. Además, cada implementación de TaskInfo puede tener su propia forma de proporcionar información, que puede prevalecer sobre los mecanismos estándar. Si se utilizan varios métodos, consulte las listas siguientes para determinar qué mecanismos de seguridad se van a emplear.
BeanTaskInfo- Identidad de seguridad TaskHandler definida en el método process() del archivo Enterprise Java Bean
- Alias de autenticación definido con el método setAuthenticationAlias en la interfaz TaskInfo
- Contexto de seguridad JAAS
- Alias de autenticación definido con el método setAuthenticationAlias en la interfaz TaskInfo
- Métodos setUsername y setPassword de la interfaz MessageTaskInfo. Consulte el artículo Características en desuso para obtener más información.