Consulta ii Consulta Contenido Consulta . . . . . . . . . . . . . . 1 Funciones de accesibilidad de IBM Tivoli Identity Manager . . . . . . . . . . . . . . . . 1 Ampliaciones de la aplicación . . . . . . . . 2 Interfaz WorkflowApplication . . . . . . . 2 Métodos de ampliación de la aplicación . . . . 3 Registro de ampliaciones . . . . . . . . . 3 Interfaces de programación de aplicaciones . . . . 4 API de aplicaciones . . . . . . . . . . . 5 API de autenticación. . . . . . . . . . . 7 API de servicios de datos . . . . . . . . . 7 API de IBM Directory Integration . . . . . . 7 API de JavaScript . . . . . . . . . . . . 7 API de correo . . . . . . . . . . . . . 8 API de reglas de contraseña . . . . . . . . 8 API de análisis de política . . . . . . . . . 8 API de proveedor de servicios . . . . . . . 9 API de inicio de sesión único . . . . . . . . 9 API de flujo de trabajo . . . . . . . . . . 9 Diccionario para una política de contraseña . . . 10 Atributos dataservices para recertificación . . . . 11 Ampliaciones de flujos de trabajo para recertificación. . . . . . . . . . . . . . 12 Personalización del intervalo de fechas . . . . . 15 Identificadores dinámicos en plantillas de correo . . 15 Plantillas de correo . . . . . . . . . . . 20 Mensajes predeterminados de un servicio manual 21 Mensajes predeterminados de recertificación . . 23 Mensajes predeterminados de flujo de trabajo . . 28 Visión general de las ampliaciones JavaScript . . . 38 Ampliaciones empaquetadas. . . . . . . . 39 Registro de ampliaciones JavaScript . . . . . 46 Configuración de scriptframework.properties . . 47 Migración de ampliaciones FESI personalizadas en IBM JSEngine. . . . . . . . . . . . 48 Descarga y utilización de fesi.jar desde un origen que no es de IBM . . . . . . . . . . . 52 Consulta de ampliaciones JavaScript . . . . . . 53 Cómo leer las páginas de consulta . . . . . . 55 Ampliaciones JavaScript . . . . . . . . . 56 Casos de ejemplo de uso de parámetros de política de suministro . . . . . . . . . . . . . 113 Parámetros de titularidad de la política de suministro . . . . . . . . . . . . . . 115 Constante de la política de suministro . . . . 115 Tipos Null (nulo) de política de suministro . . 115 Funciones JavaScript de la política de suministro 116 Expresiones regulares de la política de suministro . . . . . . . . . . . . . 118 Política de selección de servicios JavaScript . . . 119 Objetos de la política de selección de servicios JavaScript . . . . . . . . . . . . . 119 Ejemplo de script de política de selección de servicios . . . . . . . . . . . . . . 119 Tipo de control Subformulario. . . . . . . . 120 Parámetros contextuales de Subformulario . . 120 Convenio de denominación de parámetros de solicitud HTTP . . . . . . . . . . . . Escritura de un Subformulario. . . . . . . Archivos de propiedades suplementarios . . . . Comprensión de los archivos de propiedades Archivos de propiedades modificables . . . . Archivos de propiedades no modificables . . . adhocreporting.properties . . . . . . . . crystal.properties . . . . . . . . . . . CustomLabels.properties . . . . . . . . DataBaseFunctions.conf . . . . . . . . . enroleAuditing.properties . . . . . . . . enRoleAuthentication.properties . . . . . . enRoleDatabase.properties . . . . . . . . enRoleLDAPConnection.properties . . . . . enRoleLogging.properties . . . . . . . . enRoleMail.properties . . . . . . . . . enrolepolicies.properties . . . . . . . . . enroleworkflow.properties . . . . . . . . fesiextensions.properties (en desuso) . . . . helpmappings.properties . . . . . . . . reportingLabels.properties . . . . . . . . reporttabledeny.properties . . . . . . . . scriptframework.properties (recomendado) . . SelfServiceHelp.properties . . . . . . . . SelfServiceHomePage.properties . . . . . . SelfServiceScreenText.properties . . . . . . SelfServiceUI.properties . . . . . . . . . ui.properties. . . . . . . . . . . . . Configuración de propiedades del sistema en enRole.properties . . . . . . . . . . . . Comprensión de los archivos de propiedades Propiedades de WebSphere Application Server Propiedades del servidor de aplicaciones . . . Propiedades de la organización . . . . . . Propiedades del servidor LDAP . . . . . . Propiedades del control LDAP y de la búsqueda Propiedades de perfil de persona . . . . . . Propiedades de la caché y del esquema y del perfil . . . . . . . . . . . . . . . Propiedades de mensajería . . . . . . . . Propiedades de planificación . . . . . . . Propiedades de supervisión de la transacción de contraseñas . . . . . . . . . . . . . Propiedades XML y DTD . . . . . . . . Propiedades de la agrupación de conexiones LDAP . . . . . . . . . . . . . . . Propiedades de cifrado de contraseñas . . . . Propiedades de codificación de preguntas y respuestas de contraseña . . . . . . . . Propiedades del puerto de escucha del sistema Propiedades de correo . . . . . . . . . Propiedades de flujo de trabajo . . . . . . Propiedades de conciliación . . . . . . . Propiedades del secreto compartido . . . . . Propiedades de la regla de ciclo vital . . . . 121 122 122 122 123 125 127 134 135 136 137 139 141 144 147 159 162 165 166 168 168 168 169 171 172 172 172 175 181 181 181 184 186 186 188 190 191 192 194 195 196 196 198 200 201 201 201 208 212 212 iii Propiedades del nombre de producto . . . Propiedades de solicitud del cliente de aplicación . . . . . . . . . . . . Propiedades de sincronización inversa de contraseñas . . . . . . . . . . . . Propiedades de oficina de correos . . . . Propiedades del paquete de recursos de la base de datos . . . . . . . . . . . . . Propiedades de limpieza de la base de datos Propiedades de restauración de cuentas . . iv Consulta . 213 . 213 . 213 . 214 . 215 216 . 216 Propiedades de recuadro de selección para crear contraseñas . . . . . . . . . . . . . Propiedades de alimentación de identidades . . Propiedades de actualización . . . . . . . Propiedades de varios agentes de sincronización de contraseñas . . . . . . . . . . . . 217 217 218 218 Índice. . . . . . . . . . . . . . . 221 Consulta La información de consulta está organizada para ayudar a localizar datos concretos de forma rápida, como por ejemplo, la descripción de un parámetro de línea de mandatos particular. La información de consulta está disponible a lo largo de la documentación. Para su comodidad, está recopilada y repetida en este tema de navegación de Consulta. Se proporcionan varias categorías de información para una búsqueda rápida. Para obtener una descripción de cada categoría de información de consulta, haga clic en el nombre de la categoría en la navegación. Funciones de accesibilidad de IBM Tivoli Identity Manager Las funciones de accesibilidad facilitan a los usuarios con una discapacidad, como por ejemplo, movilidad restringida o visión limitada, a utilizar los productos de tecnología de la información satisfactoriamente. Funciones de accesibilidad La lista siguiente incluye las funciones de accesibilidad más importantes en IBM® Tivoli Identity Manager: v Soporte para la aplicación de lector de pantalla Freedom Scientific JAWS v Funcionalidad sólo con teclado v Interfaces utilizadas normalmente por lectores de pantalla v Teclas que son discernibles al pulsarlas pero que no se activan con la simple pulsación v Dispositivos estándar del sector para puertos y conectores v La conexión de dispositivos de entrada y salida alternativos IBM Tivoli Identity Manager Centro de información y sus publicaciones relacionadas, son accesibles. Navegación con el teclado Este producto utiliza teclas de navegación estándar de Microsoft® Windows®. Información de accesibilidad relacionada Puede visualizar las publicaciones de IBM Tivoli Identity Manager en formato Adobe Portable Document Format (PDF) mediante el Adobe Acrobat Reader. Los PDF están disponibles en el centro de información. Las funciones de accesibilidad y navegación de teclado siguientes están disponibles en el diseñador de formularios: v Puede utilizar las teclas de tabulación y las teclas de flecha para moverse entre los controles de la interfaz de usuario. v Puede utilizar las teclas Inicio, Fin, Avanzar Página y Retroceder Página para una navegación adicional. 1 v Puede iniciar cualquier applet, como el applet del diseñador de formularios, en una ventana independiente para habilitar la pulsación de Alt+Tabulación para conmutar entre este applet y la interfaz web y también para utilizar más espacio de trabajo en pantalla. Para iniciar la ventana, haga clic en Iniciar como ventana separada. v Puede cambiar la apariencia de los applets, como el diseñador de formularios, utilizando temas, que proporcionan esquemas de color de alto contraste para facilitar que los usuarios con problemas de visión distingan entre los controles. IBM y accesibilidad Consulte IBM Human Ability and Accessibility Center para obtener más información acerca del compromiso que IBM tiene acerca de la accesibilidad. Ampliaciones de la aplicación Las ampliaciones de la aplicación se pueden definir en los archivos de clase Java™ y ejecutar en un flujo de trabajo. Las ampliaciones de la aplicación se definen habitualmente en uno o más archivos de clases Java y se utilizan cuando un conjunto de funcionalidades se tiene que ejecutar desde un flujo de trabajo. La funcionalidad se puede implementar para recibir parámetros de entrada desde un flujo de trabajo y devuelve los parámetros al flujo de trabajo. Interfaz WorkflowApplication Las ampliaciones de la aplicación que necesitan acceso a la información de contexto de flujo de trabajo actual deben implementar la interfaz WorkflowApplication. Si la ampliación no necesita información de contexto de flujo de trabajo, no es necesario implementar esta interfaz. A continuación, se muestra un fragmento de código para implementar la interfaz WorkflowApplication. Para obtener un ejemplo más completo, consulte la información del directorio de ampliaciones (extensions). public class CustomEmail implements WorkflowApplication { public CustomEmail() { } Cuando se implementa la interfaz WorkflowApplication, debe definir un método setContext que acepte un objeto WorkflowExecutionContext. Este objeto debe almacenarse en una variable del miembro de la clase de implementación. // The context of the workflow. Passed in from the workflow engine protected WorkflowExecutionContext ctx; /** * Passes the workflow execution context to the application. * * @param context WorklowExecutionContext holding information about the * currently executing activity. */ public void setContext(WorkflowExecutionContext ctx) { this.ctx = ctx; } 2 Consulta Métodos de ampliación de la aplicación La aplicación puede contener cualquier proceso necesario para cumplir la tarea. Una ampliación puede contener todos los métodos que se pueden exponer al flujo de trabajo. A continuación, se muestra un fragmento de código de un método que estará disponible en el flujo de trabajo por medio del nodo de ampliación. Para obtener un ejemplo más completo, consulte la información del directorio de ampliaciones (extensions). /** * Method sendMailByProperty. * This method is called to send an e-mail to an e-mail address specified by the * "recipient" property in the specified property file. * @param person - the requestee's person object * @param mailTag - the mailtag for this message. Used to look up properties * @param propertyFileName - the name of the property file that contains * this message's data * @param attrList - an optional list of tag/value pairs * @return ActivityResult - a workflow activity result object */ public ActivityResult sendMailByProperty(Person person, String mailTag, String propertyFileName, String attrs) { String recipient_email = ""; try { processSendMail(person,mailTag,propertyFileName,recipient_email, attrs); return new ActivityResult(ActivityResult.STATUS_COMPLETE, ActivityResult.SUCCESS, "Sent Mail", null); } catch (CustomEMailDataException e) { return new ActivityResult(ActivityResult.STATUS_COMPLETE, ActivityResult.FAILED, e.getMessage(), null); } } Los métodos de la ampliación de la aplicación pueden recibir entradas desde el flujo de trabajo. Las entradas definidas en la ventana de la ampliación del flujo de trabajo se correlacionarán con los argumentos del método (asegúrese de que los tipos coinciden). Tenga en cuenta que el método sendMailByProperty devuelve un objeto ActivityResult. Esto permite a la aplicación enviar a la parte que inicia la comunicación un estado y, si es necesario, un valor de retorno. El objeto ActivityResult tiene variables de miembro para el estado (int), resumen (String), detalle (List) y descripción (String). Los valores de retorno se devuelven en la lista de detalles. El orden de los valores de la lista debe corresponder con el orden de los parámetros de salida, tal y como está definido en la ventana de ampliación. Consulte la documentación de las API de IBM Tivoli Identity Manager para obtener una descripción completa de la clase ActivityResult. Registro de ampliaciones Para que el flujo de trabajo haga que la ampliación esté disponible por medio del nodo de ampliación, debe estar antes registrada en el archivo ITIM_HOME/data/ workflowextensions.xml. Cada método requiere una entrada de actividad en el archivo xml. A continuación, se describe la entrada de actividad: Consulta 3 ID de actividad Un ID de actividad es obligatorio y debe ser exclusivo en el flujo de trabajo. Este nombre aparecerá en el menú de tipo de actividad de la ventana de ampliación. Tipo de implementación El tipo de implementación contiene el nombre de clase y el nombre de método que invocará esta ampliación. Secciones de parámetros En las secciones de parámetros aparecen los parámetros de entrada y salida y sus tipos de datos. Son los parámetros que aparecen en la ventana de ampliación Parámetros de entrada/salida. Restricción de transición La restricción de transición define el tipo de unión (también se puede definir el tipo de división). Para obtener más información, consulte la información del directorio de ampliaciones (extensions). <ACTIVITY ACTIVITYID="SendMailByProperty" LIMIT="600000"> <IMPLEMENTATION_TYPE> <APPLICATION CLASS_NAME="com.ibm.itim.CustomWorkflowExtensions.CustomEmail" METHOD_NAME="sendMailByProperty"/> </IMPLEMENTATION_TYPE> <PARAMETERS> <IN_PARAMETERS PARAM_ID="inperson" TYPE="Person"/> <IN_PARAMETERS PARAM_ID="mailtag" TYPE="String"/> <IN_PARAMETERS PARAM_ID="propertyfilename" TYPE="String"/> <IN_PARAMETERS PARAM_ID="attributelist" TYPE="String"/> </PARAMETERS> <TRANSITION_RESTRICTION JOIN="XOR"/> </ACTIVITY> El archivo de clase de ampliación de la aplicación debe colocarse en un archivo jar que se debe colocar en la vía de acceso de clases en IBM Tivoli Identity Manager. Una vez completados todos estos cambios, el servidor debe reiniciarse y, a continuación, la ampliación pasará a estar disponible en el flujo de trabajo. Interfaces de programación de aplicaciones Las interfaces de programación de aplicaciones (API) son parte de un modelo de plug-in que puede utilizar para agregar aplicaciones sin interferir con las aplicaciones existentes. Los programas de aplicación remotos se ejecutan fuera de la máquina virtual Java (JVM) del servidor de IBM Tivoli Identity Manager. Las clases externas a los paquetes de aplicación no están pensadas para ser invocadas por una aplicación remota. La documentación sobre las clases a utilizar en aplicaciones remotas se encuentra en los paquetes de aplicación de IBM Tivoli Identity Manager. Las ampliaciones del servidor, que se ejecutan en la JVM del servidor de IBM Tivoli Identity Manager, pueden utilizar cualquiera de las clases que aparecen en la documentación publicada de la API (JavaDoc). Son clases Java que se ejecutan en la misma JVM que el que realiza la llamada. Estas API se utilizan para desarrollar la personalización y ampliaciones de IBM Tivoli Identity Manager que se pueden conectar en la aplicación IBM Tivoli Identity Manager. 4 Consulta Una aplicación remota puede invocar varias API de aplicación. En el paquete dataservices, también se incluyen algunas API de ampliación del servidor. Las API de aplicación siguientes están pensadas para ser invocadas por una aplicación remota: API de política de suministro Proporciona la posibilidad de buscar, añadir, modificar y suprimir políticas de suministro en IBM Tivoli Identity Manager desde aplicaciones remotas. API de grupo Proporciona la posibilidad de buscar, añadir, modificar y suprimir un grupo de IBM Tivoli Identity Manager. API de ACI Proporciona la posibilidad de buscar, añadir, modificar y suprimir una lista de elementos de control de accesos (permisos de acceso), pero no proporciona la posibilidad de comprobar la autorización. API de conciliación Proporciona la posibilidad de obtener, añadir y modificar una planificación de conciliación para un servicio concreto, y proporciona la posibilidad de desencadenar una conciliación. Se incluyen las API de ampliación del servidor siguientes: v com.ibm.itim.common.ComplexAttributeValue v com.ibm.itim.dataservices.model.ComplexAttributeHandler v com.ibm.itim.dataservices.model.domain.access.Access v com.ibm.itim.dataservices.model.domain.access.ProvisioningConfiguration v com.ibm.itim.dataservices.model.domain.access.NotificationOption API de aplicaciones Puede crear interfaces de usuario personalizadas adicionales o alternativas, utilizando la API de aplicaciones, que proporciona una interfaz para la plataforma de suministro de IBM Tivoli Identity Manager. La API de aplicaciones proporciona un conjunto de clases Java que abstraen las funciones de la plataforma de suministro utilizadas con más frecuencia, como por ejemplo, la gestión de identidades, de contraseñas y de cuentas. Las clases de las que consta esta API son las mismas que utiliza IBM Tivoli Identity Manager para su interfaz de usuario. Para obtener más información, consulte la documentación proporcionada con la API de aplicaciones en el directorio <ITIM_HOME>/extensions/doc/applications. Para ver códigos de ejemplo, consulte el directorio <ITIM_HOME>/extensions/ examples/apps. API de autoregistro Parte de la API de aplicaciones, la API de autoregistro proporciona una interfaz para crear una persona en la plataforma de suministro sin un contexto de usuario. La API de autoregistro se puede invocar sin un contexto de usuario, ya que está configurada para ser invocada sin iniciar sesión en el sistema con nombre de usuario y contraseña de cuenta de IBM Tivoli Identity Manager. La API de autoregistro es parte de un proceso personalizable que proporciona una página de Consulta 5 ejemplo de Página de JavaServer (JSP), como una ampliación de producto basada en la clase inetOrgPerson predeterminada. La JSP invocará la API de autoregistro para crear un usuario. API de lista de elementos de control de accesos (ACI) La API de ACI proporciona una interfaz para la gestión de la lista de control de accesos de IBM Tivoli Identity Manager, contenedor por contenedor. Un cliente remoto puede utilizar operaciones básicas de añadir, listar, modificar y suprimir para la gestión de la lista de control de accesos. No obstante, la API de ACI no proporciona la posibilidad de comprobar la autorización para el usuario. Esta API está dentro de la clase com.ibm.itim.apps.acl.AccessControlListManager. API de grupo de IBM Tivoli Identity Manager La API de grupo de IBM Tivoli Identity Manager proporciona posibilidades de gestión de roles del sistema, es decir, para crear un rol del sistema y para buscar roles del sistema existentes. La API de grupo de IBM Tivoli Identity Manager proporciona una interfaz para la gestión del grupo de IBM Tivoli Identity Manager. Puede buscar, añadir, modificar o suprimir el grupo, y puede añadir y eliminar un usuario en un grupo de IBM Tivoli Identity Manager. La API existe dentro de las clases siguientes: v com.ibm.itim.apps.system.SystemRoleManager v com.ibm.itim.apps.system.SystemRoleMO v com.ibm.itim.apps.system.SystemUserMO API de política de suministro La API de política de suministro de IBM Tivoli Identity Manager proporciona una interfaz para gestionar políticas de suministro definidas en IBM Tivoli Identity Manager. Esta API proporciona la posibilidad de buscar, añadir, modificar y suprimir políticas de suministro. La API existe dentro de las clases siguientes: v com.ibm.itim.apps.policy.ProvisioningPolicyManager v com.ibm.itim.apps.policy.ProvisioningPolicyMO API de conciliación La API de conciliación proporciona la posibilidad de crear y consultar conciliaciones y parámetros de conciliación. La API de conciliación proporciona una interfaz para gestionar las planificaciones de conciliación de servicios. Puede utilizarla para obtener y establecer planificaciones de conciliación de un servicio, haciendo modificaciones al conjunto de planificaciones de conciliación, incluidas adiciones y supresiones, y estableciendo un conjunto nuevo. Puede desencadenar la ejecución de una planificación de conciliación específica. La API existe dentro de las clases siguientes: v com.ibm.itim.apps.recon.ReconManager v com.ibm.itim.apps.recon.ReconUnitData 6 Consulta API de autenticación Utilice la API de autenticación para trabajar con distintos almacenes de identidad de confianza, como la información de identidad almacenada en un servidor de dominio de Windows o en un directorio LDAP, incluido el uso de distintos tipos de claves, por lo general contraseñas, para desbloquear la aplicación para un usuario. La API de autenticación contiene la API de cliente de autenticación, que lleva a cabo las solicitudes de autenticación y la API de proveedor de autenticaciones, que implementa las solicitudes de autenticación. API de servicios de datos La API de servicios de datos proporciona una interfaz para el modelo de datos de IBM Tivoli Identity Manager. Esta API abstrae las entidades de modelo de datos más frecuentemente utilizadas, como identidades, cuentas, acceso y servicios en el proceso de suministro. Incluye una interfaz genérica para gestionar atributos complejos. La sincronización de datos depende de las API de servicios de datos. Además, la API de servicios de datos proporciona el modelo de datos que utiliza la API de aplicaciones. Aunque dentro de esta API se proporciona la posibilidad de cambiar el modelo de datos, dicha posibilidad no es su objetivo. La API de servicios de datos es de bajo nivel, y abstrae el diseño físico del almacén de datos (estructura de directorios), pero no proporciona la lógica empresarial que proporcionan las aplicaciones de suministro con la plataforma. API de IBM Directory Integration Utilice la API de IBM Directory Integration para utilizar IBM Tivoli Directory Integrator para importar información de identidad en IBM Tivoli Identity Manager y para gestionar cuentas en el almacén de datos de IBM Tivoli Identity Manager en recursos externos que utilicen Directory Integrator. En la API de IBM Directory Integration se incluyen las características siguientes: Nota: Directory Service Markup Language versión 2 (DSMLv2) está en desuso. v Un proveedor de servicios de Directory Service Markup Language versión 2 (DSMLv2), que puede utilizar para importar datos en IBM Tivoli Identity Manager, con IBM Tivoli Identity Manager actuando como cliente DSMLv2 e IBM Tivoli Directory Integrator actuando como servidor DSMLv2. v Implementación de un manejador de sucesos de IBM Tivoli Identity Manager de DSMLv2, que puede utilizar para importar datos en IBM Tivoli Identity Manager, con IBM Tivoli Identity Manager actuando como servidor DSMLv2 e IBM Tivoli Directory Integrator actuando como cliente DSMLv2. v Soporte para esquemas listos para utilizar, para la comunicación con IBM Tivoli Directory Integrator. Puede utilizar IBM Tivoli Directory Integrator como un punto final y definir IBM Tivoli Directory Integrator como una instancia de servicio dentro de la interfaz de usuario de IBM IBM Tivoli Identity Manager para la alimentación de identidades. API de JavaScript La API de JavaScript™ amplía los componentes de script que son específicos del lenguaje de script configurado con el producto. Consulta 7 IBM Tivoli Identity Manager proporciona un método para registrar nuevas ampliaciones de JavaScript en el servidor. Puede utilizar la API de JavaScript para añadir objetos y funciones adicionales al glosario del intérprete. Un cliente puede crear y registrar funciones y objetos adicionales en el intérprete para ejecutarlos en tiempo de ejecución. La API de JavaScript proporciona información sobre los participantes de acceso, como el tipo de participante, los participantes de flujo de trabajo, la gestión de accesos de grupos y el contexto de notificación de acceso. API de correo Utilice la API de correo para personalizar el contenido, formato y destinatarios de notificación del correo. Los clientes que utilizan esta API pueden realizar solicitudes de notificación y ampliar la construcción de mensajes de notificación. La API de correo contiene la API de cliente de correo, que hace solicitudes de notificación y la API de proveedor de correo, que implementa solicitudes de notificación. La API de correo también contiene una función denominada oficina de correos que evita que los participantes del flujo de trabajo reciban varias notificaciones de correo electrónico que tengan un contenido parecido. Los correos electrónicos similares se almacenan, se combinan en una única notificación de correo electrónico y se reenvían a un usuario. API de reglas de contraseña La API de reglas de contraseña proporciona una interfaz para personalizar la regla de contraseña estándar establecida y el proceso de generación de contraseñas aleatorias. Puede utilizar la infraestructura de reglas de contraseña para personalizar el mecanismo de generación de contraseñas por parte del servidor de IBM Tivoli Identity Manager. Utilice una de las formas siguientes para añadir lógica personalizada a la infraestructura de contraseña: v Una regla personalizada v Un generador personalizado v Reglas personalizadas y un generador personalizado API de análisis de política La API de análisis de política proporciona una interfaz a la información sobre las políticas definidas en el servidor de IBM Tivoli Identity Manager, y es una interfaz para el acceso otorgado a un individuo específico. La API contiene un conjunto de clases Java que recuperan y abstraen la información de política de suministro que controla el acceso a los recursos gestionados. La API de política de suministro informa sobre la imposición de política de suministro del sistema, pero no da soporte a la modificación de la política por parte de los clientes. Un cliente puede utilizar la información a efectos de auditoría, o bien para tomar decisiones sobre cambios potenciales de la imposición de política. 8 Consulta API de proveedor de servicios La API de proveedor de servicios proporciona conectores personalizados que pueden utilizarse desde la plataforma de suministro de IBM Tivoli Identity Manager o cualquier otra plataforma de suministro basada en Java que dé soporte a la misma interfaz. Las API de proveedor de servicios definen la interfaz que el adaptador de IBM Tivoli Identity Manager debe implementar y comunicar a los agentes de adaptador remoto. La implementación del agente de adaptador no depende de las API de IBM Tivoli Identity Manager, salvo por el conjunto de API de notificación asíncrona proporcionadas en las API de proveedor de servicios. En la interfaz entre la plataforma de suministro y el conector se incluyen las operaciones siguientes: v Agregar v v v v v v Cambiar contraseña Suprimir Modificar Restaurar Buscar Suspender v Probar La plataforma de suministro lleva a cabo todas las operaciones necesarias para determinar las acciones y sus parámetros que se deben ejecutar contra los recursos. El conector ejecuta aquellas operaciones en el recurso que cumplan los requisitos relacionados con el recurso. API de inicio de sesión único La API de inicio de sesión único proporciona una interfaz de inicio de sesión único a los recursos accesibles. Es posible que se requiera que algunas instalaciones de IBM Tivoli Identity Manager estén integradas con proveedores de inicio de sesión único de terceros. Normalmente, dichos proveedores de inicio de sesión único protegen un conjunto de recursos basados en web mediante un almacenamiento de datos de autenticación que se gestiona aparte de IBM Tivoli Identity Manager. La primera vez que un cliente trata de acceder a un recurso protegido, el proveedor de inicio de sesión único proporciona autenticación. Si se permite el acceso, el proveedor pasa una señal que indica la identidad del usuario autenticado a todos los recursos a los que acceda posteriormente. API de flujo de trabajo Utilice la API de flujo de trabajo para el código personalizado que se puede invocar desde un proceso de flujo de trabajo como una aplicación personalizada de Java o una función JavaScript. De este modo, este código personalizado puede realizar lógica empresarial especial, consultar almacenamientos de datos externos o proporcionar integración con otros motores de flujo de trabajo. La API de flujo de trabajo consta de un conjunto de clases Java que abstraen los conceptos del entorno de flujo de trabajo que se utilizan con más frecuencia, como por ejemplo, procesos, actividades y datos relevantes. Consulta 9 La API de flujo de trabajo dan soporte a los tipos de solicitud de acceso nuevo. El propietario del acceso es de tipo participante. La API de flujo de trabajo proporciona la actualización del estado de recertificación y proporciona información de auditoría para recertificación. Los registros de auditoría contienen información sobre la configuración de recertificación, así como el “quién, qué y cuándo” de las tareas de recertificación. Estas auditorías proporcionan informes más útiles sobre el cumplimiento de la recertificación de usuarios, cuentas y accesos. También se puede auditar el proceso de recertificación de los consumidores de políticas de recertificación, a modo de informe. Diccionario para una política de contraseña Puede crear un diccionario para una regla de política de contraseña que prohíba el uso de ciertos términos como contraseñas. Para utilizar un diccionario para una regla de política de contraseña, primero debe crear y cargar un archivo dictionary.ldif en el IBM Tivoli Identity Manager Server. Para crear un diccionario y utilizarlo en una regla de política de contraseña: 1. Mediante un editor de texto ASCII o sin formato, cree un diccionario que contenga la lista de términos, como un archivo con formato LDIF (LDAP Data Interchange Format). Por ejemplo, cree un archivo similar al siguiente archivo dictionary.ldif, en el que se especifica el dominio como dc=com: dn: erword=test,erdictionaryname=password, ou=itim, dc=com erWord: test objectclass: top objectclass: erDictionaryItem dn: erword=secret,erdictionaryname=password, ou=itim, dc=com erWord: secret objectclass: top objectclass: erDictionaryItem dn: erword=password,erdictionaryname=password, ou=itim, dc=com erWord: password objectclass: top objectclass: erDictionaryItem 2. Cargue el archivo dictionary.ldif en el IBM Tivoli Identity Manager Server mediante uno de estos procedimientos: v Utilice un navegador LDAP para importar el archivo dictionary.ldif. v En el indicador de mandados del IBM Tivoli Identity Manager Server, escriba este mandato LDAP en una sola línea: ITDS_HOME/bin/ldapadd.exe -h nombre_host -D cn=usuario_admin -w contraseña_admin -V 3 -f dictionary.ldif -h nombre_host Especifica el nombre de host del sistema donde se está ejecutando el servidor LDAP. -D cn=usuario_admin Especifica el nombre distinguido del administrador que se enlazará con el directorio LDAP. -w contraseña_admin Especifica la contraseña del nombre distinguido del administrador, para la autenticación simple. 10 Consulta -V versión_ldap Especifica la versión del protocolo LDAP que se debe utilizar. El valor predeterminado es 3, que indica el protocolo LDAP v3. El valor 2 utiliza el protocolo LDAP v2. -f archivo Lee la información de modificación de entrada desde un archivo, como dictionary.ldif, en lugar de hacerlo desde la entrada estándar. A continuación, el archivo de diccionario puede utilizarse en la regla de intensidad de contraseñas. Atributos dataservices para recertificación IBM Tivoli Identity Manager proporciona atributos opcionales en la clase de objeto erAccountItem para representar valores diferentes para recertificación. Visión general Los atributos de dataservices para recertificación son relevantes sólo si la recertificación está habilitada para las cuentas y accesos específicos. Se proporcionan los atributos opcionales siguientes: v v v v erLastCertifiedDate erRecertificationLastAction erAccessLastCertifiedDate erAccessRecertificationLastAction erLastCertifiedDate El atributo erLastCertifiedDate sólo lo actualiza el proceso de recertificación de cuentas, pero no de accesos. Un atributo opcional para la indicación de fecha y hora de la última vez que la cuenta se marcó como recertificado; este atributo se actualiza en recertificaciones aprobadas independientemente del tipo de planificación de la política de recertificación, ya sea de estilo de rotación o de calendario. Este atributo se actualiza para ambas aprobaciones durante el ciclo de recertificación normal y a través de la opción recertificationOverride fuera de la ejecución de la política normal de recertificación. La ausencia de un valor significa que la recertificación nunca se aprobó para esta cuenta. El objeto de servicios de datos Account del paquete com.ibm.itim.dataservices.model.domain define los métodos setLastCertifiedDate() y getLastCertifiedDate() para acceder a este atributo. Cuando una cuenta está certificada, este atributo se debe actualizar junto con erRecertificationLastAction. erRecertificationLastAction El atributo erRecertificationLastAction sólo lo actualiza el proceso de recertificación de cuentas, pero no de accesos. Este atributo precisa un método getter y setter definidos en el paquete com.ibm.itim.dataservices.model.domain de la clase de objeto de servicios de datos de cuenta: public void setRecertificationLastAction(String recertificationAction) public String getRecertficiationLastAction() Consulta 11 Este atributo adicional describe la acción realizada la última vez que se ejecutó la recertificación. Los valores siguientes son válidos: v com.ibm.itim.dataservices.model.domain.Account.CERTIFIED = 'CERTIFIED' v com.ibm.itim.dataservices.model.domain.Account.CERTIFIED_ADMIN = 'CERTIFIED_ADMIN' v com.ibm.itim.dataservices.model.domain.Account.REJECTED_MARK = 'REJECTED_MARK' v com.ibm.itim.dataservices.model.domain.Account.REJECTED_SUSPEND = 'REJECTED_SUSPEND' erAccessLastCertifiedDate El atributo erAccessLastCertifiedDate es específico de los accesos definidos en una cuenta determinada. Este atributo de varios valores contiene el nombre distinguido de la definición de grupo de acceso y la indicación de fecha y hora que muestra cuándo se certificó ese acceso por última vez como una cadena delimitada. Ejemplo eraccesslastcertifieddate: erntlocalname=users, erglobalid=7281584268561021074,ou=services, erglobalid=00000000000000000000,ou=hawk,o=ibm, c=us;;200711202115Z Este ejemplo muestra la última fecha de recertificación del acceso que está asociado con el acceso definido para el grupo especificado por el nombre distinguido. Sólo se define un valor de este atributo por acceso para la cuenta. erAccessRecertificationLastAction El atributo erAccessRecertificationLastAction es específico del estado de recertificación de los accesos definidos en una cuenta determinada. Este atributo de varios valores contiene el nombre distinguido de la definición de grupo de acceso y la última acción de recertificación realizada como una cadena delimitada y sirve para el mismo propósito que erRecertificationLastAction tiene para las cuentas. Ejemplo eraccessrecertificationlastaction: erntlocalname=users, erglobalid=7281584268561021074, ou=services,erglobalid=00000000000000000000, ou=hawk,o=ibm,c=us;;CERTIFIED Este ejemplo muestra la última acción de recertificación del acceso que está asociado con el nombre distinguido de la definición de grupo. Los valores para la acción son los mismos que los descritos para el atributo erRecertificationLastAction. Sólo se define un valor de este atributo por acceso para la cuenta. Ampliaciones de flujos de trabajo para recertificación IBM Tivoli Identity Manager proporcione ampliaciones de flujos de trabajo para el seguimiento del estado de las recertificaciones. Visión general Una ampliación de recertificación es código que se puede llamar directamente desde un flujo de trabajo. Una ampliación definida para cuentas también maneja el 12 Consulta estado de recertificación para accesos y utiliza dataservices para actualizar atributos almacenados en el objeto de cuenta en servicios de datos. Estos métodos de ampliación están integrados en la clase AccountExtensions en el paquete com.ibm.itim.workflowextensions. Debido a que el motor de flujo de trabajo considera las ampliaciones de recertificación proporcionadas como actividades, cualquier anomalía en estas ampliaciones se devuelve como una anomalía cuando finaliza la actividad. Este resultado provoca que el flujo de trabajo de recertificación sea erróneo y su anomalía se audita también en la tabla de auditoría RECERTIFICATIONLOG. Se proporcionan las ampliaciones siguientes: v recertificationMark v recertificationMarkAccess v recertificationSuspend v recertificationCertify v recertificationCertifyAccess v recertificationAdminCertify v recertificationAdminCertifyAccess recertificationMark La ampliación public ProcessResult recertificationMark(Account) actualiza erLastRecertificationAction para el tipo de destino dado, actualizando el atributo erLastRecertificationAction a: com.ibm.itim.dataservices.model.domain.Account.REJECTED_MARK = 'REJECTED_MARK' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes. recertificationMarkAccess La ampliación de public ProcessResult recertificationMark(UserAccessAccount) tiene la misma función para los accesos que recertificationMark() para usuarios y cuentas. Actualiza el atributo erAccessLastRecertificationAction específico para UserAccess pasado a: com.ibm.itim.dataservices.model.domain.Account.REJECTED_MARK = 'REJECTED_MARK' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes. Nota: Este método es para suspender sólo cuentas. No se proporciona ningún método para suspender accesos. recertificationSuspend La ampliación public ProcessResult recertificationSuspend(Account) actualiza erLastRecertificationAction para la cuenta dada. Actualiza el atributo erLastRecertificationAction a: com.ibm.itim.dataservices.model.domain.Account.REJECTED_SUSPEND = 'REJECTED_SUSPEND' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes. Consulta 13 Nota: Este método es para suspender sólo cuentas. No se proporciona ningún método para suspender accesos. recertificationCertify La ampliación public ProcessResult recertificationCertify(Account) actualiza erLastRecertificationAction para el tipo de destino dado. Actualiza el atributo erLastRecertificationAction a: com.ibm.itim.dataservices.model.domain.Account.CERTIFIED = 'CERTIFIED' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes.Esta ampliación también actualiza el atributo erLastCertifiedDate con la indicación de fecha y hora actual. recertificationCertifyAccess La ampliación public ProcessResult recertificationCertify(UserAccessAccount) actualiza erLastAccessRecertificationAction para el acceso dado. Actualiza el atributo erLastRecertificationAction para UserAccess especificado a: com.ibm.itim.dataservices.model.domain.Account.CERTIFIED = 'CERTIFIED' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes.Esta ampliación también actualiza el atributo erAccessLastCertifiedDate para accessAttribute con la indicación de fecha y hora actual. Nota: Este método es la versión de acceso de recertificationCertify para usuarios y cuentas. recertificationAdminCertify La ampliación public ProcessResult recertificationAdminCertify(Account) actualiza erLastRecertificationAction para el tipo de destino dado. Actualiza el atributo erLastRecertificationAction a: com.ibm.itim.dataservices.model.domain.Account.CERTIFIED_ADMIN = 'CERTIFIED_ADMIN' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes.Esta ampliación también actualiza el atributo erLastCertifiedDate con la indicación de fecha y hora actual. recertificationAdminCertifyAccess La ampliación public ProcessResult recertificationAdminCertify(UserAccessAccount) actualiza erLastRecertificationAction para el acceso dado. Actualiza el atributo erAccessLastRecertificationAction para UserAccess pasado a: com.ibm.itim.dataservices.model.domain.Account.CERTIFIED_ADMIN = 'CERTIFIED_ADMIN' La acción de recertificación se audita en la tabla RECERTIFICATIONLOG para utilizarla en informes.Esta ampliación también actualiza el atributo erAccessLastCertifiedDate para accessAttribute con la indicación de fecha y hora actual. Nota: Este método es la versión de acceso de recertificationAdminCertify para usuarios y cuentas. 14 Consulta Personalización del intervalo de fechas IBM Tivoli Identity Manager proporciona personalización de intervalo de fechas adicional, no disponible en el applet del diseñador de formularios estándar. Estas opciones le permiten un mayor control de los años disponibles para usuarios en el widget de fechas. Las opciones a continuación se deben configurar manualmente en la plantilla de formulario siguiente, que se almacena en el servidor de directorios: erformname=inetOrgPerson,ou=formTemplates,ou=itim,ou=tivsys,dc=com Los widgets de entrada de fechas le permiten especificar opciones para definir el intervalo de años que se mostrará. Estas opciones le permiten especificar el intervalo de años estándar, así como un año máximo ampliado especial, como 9999 o un valor mínimo especial, como 1900. Existen dos opciones que le permiten mostrar todos los años entre las fechas del intervalo estándar y el ampliado. Las opciones son: minYear Año mínimo a mostrar. spanMinYearRange Cuando se establece un valor de false, se muestran todos los años entre minYear y minRangeYear. minRangeYear Año de inicio del intervalo estándar de años. El valor predeterminado es 1990. maxRangeYear Año de finalización del intervalo estándar de años. El valor predeterminado es 2010. spanYearRange Cuando el valor es false, se muestran todos los años entre maxRangeYear y maxYear. maxYear Año máximo a mostrar. Identificadores dinámicos en plantillas de correo Las plantillas de correo de IBM Tivoli Identity Manager permiten la recuperación dinámica, sustitución y toma de decisiones al crear un mensaje. Identificadores de contenido dinámico y ejemplos Tivoli Identity Manager proporciona identificadores de contenido dinámico para permitir la sustitución de texto y habilitar la traducción. Los identificadores se utilizan para los correos electrónicos generados por estas tareas: v Diseño de flujos de trabajo v v v v v Especificación de actividades de correo Notificación de servicio manual Notificación de recertificación Oficina de correos Plantilla de recordatorio Consulta 15 v Notificaciones del sistema predeterminadas Los identificadores incluyen: Código JavaScript Maneja JavaScript y ejecuta el contenido de JavaScript que está entre los identificadores de apertura y cierre. Este identificador contiene identificadores hijo, a menos que devuelvan una cadena. Se llama al código JavaScript dentro de los delimitadores <JS>CódigoJavaScript</JS>. Tabla 1. Sintaxis y ejemplo de utilización de código JavaScript para sustituir el contenido del mensaje Sintaxis Ejemplo <JS>texto/código JavaScript</JS> Especifique cada sentencia <JS></JS> en una línea: An account request has been initiated for <JS>process.requesteeName;</JS> <JS>if (var x=process.getParent() !=null) return x </JS> <JS escapeentities="false">texto/código JavaScript</JS> Cuando se especifica como "false", cualquier texto que devuelve la ejecución de JavaScript no tendrá los códigos de entidad HTML con escape. Por ejemplo, el carácter < no se devolverá como &lt;. Esta opción puede resulta útil cuando la ejecución del código JavaScript devolverá XML (por ejemplo, notificaciones de texto XHTML incorporadas en el texto XHTML de la plantilla de correo). El valor predeterminado para este atributo es "true", por lo tanto, si no se especifica el código el comportamiento será el normal. Identificador de sustitución Da formato al mensaje representado por la clave, permitiendo la sustitución de cadena. La cadena formateada puede tener cero o más parámetros. Los parámetros pueden contener cadenas, ID de actividades o JavaScript. Debe existir la cadena dentro de la clave en el archivo CustomLabels.properties. Las cadenas se toman de un archivo de paquete de recursos de CustomLabels.properties o del archivo Labels.properties. La clave de la sustitución de cadena se puede especificar mediante el atributo de clave o agregando un identificador KEY entre los identificadores RE. Si especifica una clave que utiliza tanto el atributo como el identificador a la vez, se producirá una excepción. El identificador tiene estos parámetros: Identificador Key Representa la clave de paquete de recurso para un identificador RE. Por ejemplo: <RE key="key"> </RE> Identificador PARM Representa los parámetros para un identificador RE. Por ejemplo: <RE key="key"> <PARM>with plain text</PARM> </RE> 16 Consulta Tabla 2. Sintaxis y ejemplos de utilización de un identificador RE para sustituir el contenido del mensaje Sintaxis Ejemplo <RE key="message key"> <PARM>text or JavaScript tag</PARM> </RE> <RE key="message key"> <PARM>with plain text</PARM> <PARM><JS>process.requesteeName; </JS></PARM></RE> o (especifique cada sentencia <KEY></KEY> en una línea): <RE><KEY>message key or JavaScript tag to return a key </KEY> <PARM>text or JavaScript tag</PARM> </RE> Salida: This is a formatted string replacement example with plain text and JavaScript code for requestee name John Smith. KEY se puede especificar con un atributo en el identificador RE, o como subelemento del identificador RE utilizando el identificador KEY. Si desea habilitar la sustitución de cadenas de texto para la traducción, hay que especificar una etiqueta personalizada en el archivo CustomLabels.properties para que prevalezca sobre una clave de Labels.properties. <RE key="readOnlyDateFormat"> <PARM><JS>if (process.scheduled !=null) return process.scheduled.getTime(); else return "";</JS></PARM></RE> Por ejemplo, si el archivo Labels.properties contiene este par clave/valor: Salida: Apr 18, 2005 05:20:52 EDT readOnlyDateFormat=MMM dd, yyy hh:mm:ss z Para que otro formato prevalezca sobre este, añada la misma clave al archivo CustomLabels.properties. Identificador de mensaje de no conformidad Representa un mensaje que describe los atributos de no conformidad de una cuenta. Por ejemplo: <CAMessage/> Identificadores de mensajes de contenido dinámico Los identificadores vienen delimitados en la sintaxis <TAG/>, como los ejemplos siguientes: Tabla 3. Sintaxis y ejemplo de utilización de identificadores para sustituir el contenido del mensaje Sintaxis <TagName/> Ejemplo <CAMessage/> Devuelve una cadena que describe los atributos de no conformidad de una cuenta. <ManualServiceAddAccount/> Devuelve una cadena de texto con el cuerpo de texto de una notificación de correo electrónico de un servicio manual. <rfiActivityHasBeenSubmitted/> Devuelve una cadena de texto con el cuerpo de texto de una actividad de RFI que se ha enviado en un flujo de trabajo de solicitud de cuenta. Consulta 17 Identificador ID Representa el ID de actividad en el formulario: Process.ActivityId Por ejemplo: <ID/> Identificador ITIMURL Basado en la pertenencia a grupos de una persona, representa el URL del Tivoli Identity Manager.Un URL forzado se puede aplicar mediante el atributo ″forcedurl″ del identificador. Este atributo contiene valores constantes como el valor console o el valor enduser. Tabla 4. Sintaxis y ejemplos de ITIMURL Sintaxis Ejemplo <ITIMURL/> Basado en la pertenencia a grupos de una persona, representa el URL del Tivoli Identity Manager Server. <ITIMURL forcedurl="enduser"/> Representa el URL de la interfaz gráfica de usuario en el Tivoli Identity Manager Server. Si se utiliza el atributo forcedurl, el URL no se genera a partir de la pertenencia a grupos de la persona. Los valores de este atributo son: enduser El URL apunta a la interfaz gráfica de usuario de autoservicio. console El URL apunta a la interfaz gráfica de usuario del administrador. <ITIMURL forcedurl="console"/> Representa el URL de la interfaz gráfica de usuario en el Tivoli Identity Manager Server. Si se utiliza el atributo forcedurl, el URL no se genera a partir de la pertenencia a grupos de la persona. Los valores de este atributo son: enduser El URL apunta a la interfaz gráfica de usuario de autoservicio. console El URL apunta a la interfaz gráfica de usuario del administrador. Valores del archivo de propiedades Para poder cambiar las plantillas, puede agregar las sentencias key=value en el archivo CustomLabels.properties, o cree sus propias propiedades y valores. Caracteres de escape necesarios y JavaScript Es necesario utilizar caracteres de escape con los siguientes caracteres (utilizando el formulario de entidad HTML apropiado que tiene el formato &entidad;) para asegurarse de que el XML de plantilla de notificación está bien formado. 18 Consulta Tabla 5. Caracteres de escape Carácter de escape Carácter &lt; Menor que (<) &gt; Mayor que (>) &quote; Comillas (″) &apos; Apóstrofo (’) &amp; Carácter & Por ejemplo, para utilizar el siguiente código JavaScript: if (i<4) return "less than four"; El identificador de contenido dinámico se formaría de la siguiente manera: <JS> if (i&lt;4) return &quote;less than four&quote;;</JS> Patrones de formato comunes en el cuerpo XHTML A los mensajes predeterminados se les da formato con un patrón común en el cuerpo XHMTL y también contienen sentencias únicas de mensaje. Por ejemplo, el XHTML para la plantilla de recordatorio de tareas pendientes llama a una hoja de estilo común (el archivo imperatives.css) y a logotipos. Las sentencias de mensaje único son parecidas a estas: <!-- Start of notification body --> <textBody/> <RE key="escalation_note"/> <escalationTime/> </td> </tr> <!-- End of notification body --> Un ejemplo de un conjunto completo de sentencias en un cuerpo XHTML es el siguiente: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>$TITLE</title> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <link type="text/css" title="Styles" rel="stylesheet" href="$BASE_URL/console/css/imperative.css" /> </head> <!-- Put Next statement on one line --> <body topmargin="0" marginheight="0" leftmargin="0" marginwidth="0" bgcolor="ffffff"> <!-- Block for the Template Header part --> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <!-- Tivoli logo --> <td width="186" background="$BASE_URL/console/html/images/mid-part-1.gif"> <img src="$BASE_URL/console/html/images/left-tiv-1.gif" alt="$LOGO_ALT" /></td> <!-- Middle part --> <td background="$BASE_URL/console/html/images/mid-part-1.gif" width="692"></td> Consulta 19 <!-- IBM logo --> <td background="$BASE_URL/console/html/images/ibm_banner.gif" width="96"></td> </tr> </tbody> </table> <!-- Title Bar --> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td background="$BASE_URL/console/html/images/titlebar_middle.gif" height="23" width="8"> <img border="0" src="$BASE_URL/console/html/images/titlebar_left.gif" width="10" height="23" /></td> <!-- ITIM Notification Lable --> <td background="$BASE_URL/console/html/images/titlebar_middle.gif" height="23" classpath="portfolio-header" width="979">$TITLE</td> <td background="$BASE_URL/console/html/images/titlebar_middle.gif" height="23" width="5"><img border="0" src="$BASE_URL/console/html/images/titlebar_right.gif" width="5" height="23" /></td> </tr> </tbody> </table> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <!-- Backgroud for the template body --> <td background="$BASE_URL/console/html/images/portfolio_background.gif" height="148"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td align="left" class="text-description" height="65"> <!-- Start of notification body --> <textBody/> <RE key="escalation_note"/> <escalationTime/> </td> </tr> <!-- End of notification body --> </table> </td> </tr> </tbody> </table> <!-- Copy Right Table --> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr bgcolor="#9d9d9d" align="center" valign="middle"> <td class="text-description"><span class="cont1" id="W57ea57ea"><span class="txt" id="text">IBM Copyright 2007</span></span></td> </tr> </tbody> </table> </body> </html> Plantillas de correo Se definen las plantillas de correo para entregar notificaciones de mensaje personalizadas. Las plantillas utilizan varias funciones de personalización. Las plantillas tienen los siguientes componentes principales: Asunto Describe una actividad a un destinatario de la notificación. El asunto 20 Consulta puede ser texto sin formato e identificadores de contenido dinámico. Para actividades de servicio manual, si no se especifica asunto, no se envía ningún correo electrónico. Cuerpo del texto Describe el resultado de una actividad, como la aprobación de una cuenta. El contenido puede ser texto sin formato, identificadores de contenido dinámico y código JavaScript. Cuerpo XHTML Proporciona el contenido del correo electrónico como un mensaje HTML. El contenido dinámico incluye identificadores de mensajes de contenido dinámico, código JavaScript e identificadores que sustituyen variables con otros valores, o hacen referencia a una propiedad que permite la traducción mediante el uso de un archivo CustomLabels.properties. Mensajes predeterminados de un servicio manual IBM Tivoli Identity Manager proporciona plantillas de notificación predeterminadas para mensajes que reciben los participantes que son propietarios del servicio cuando se producen cambios en cuentas o contraseñas correspondientes a los servicios manuales que poseen. Plantillas de notificación predeterminadas IBM Tivoli Identity Manager proporciona estas plantillas de notificación predeterminadas: <ManualServiceAddAccount/> Proporciona un texto predeterminado que se envía al participante cuando se añade una cuenta para el usuario de un servicio manual. <ManualServiceModifyAccount/> Proporciona un texto predeterminado que se envía al participante cuando se modifica una cuenta para el usuario de un servicio manual. <ManualServiceDeleteAccount/> Proporciona un texto predeterminado que se envía al participante cuando se suprime una cuenta para el usuario de un servicio manual. <ManualServiceRestoreAccount/> Proporciona un texto predeterminado que se envía al participante cuando se restaura una cuenta para el usuario de un servicio manual. <ManualServiceSuspendAccount/> Proporciona un texto predeterminado que se envía al participante cuando se suspende una cuenta para el usuario de un servicio manual. <ManualServiceChangePassword/> Proporciona un texto predeterminado que se envía al participante cuando se produce un cambio de contraseña para el usuario de un servicio manual. Propiedades utilizadas para traducción Si existen las propiedades en el archivo CustomLabels.properties, se utilizan sus valores. De lo contrario, se utilizarán los valores de las propiedades en el archivo Labels.properties. Estas propiedades contienen las versiones traducidas de los mensajes (con sustitución de parámetros) que forman los identificadores dinámicos. Consulta 21 Cambie sus valores en el archivo CustomLabels.properties si quiere que aparezca texto diferente. No se deben cambiar los valores predeterminados que se proporcionan en el archivo Labels.properties. Las propiedades incluyen los siguientes elementos: manualServiceWorkOrderAddOperationMessage manualServiceAttributeName manualServiceAttributeValue manualServiceAttributeAction manualServiceAddAction manualServiceRemoveAction manualServiceReplaceAction manualServiceWorkOrderChangePwdOperationMessage manualServiceWorkOrderPwdValueMessage manualServiceWorkOrderDeleteOperationMessage manualServiceWorkOrderModifyOperationMessage manualServiceWorkOrderRestoreOperationMessage manualServiceWorkOrderSuspendOperationMessage manualServiceUnknownPerson Ejemplo de script de notificación Un script de notificación predeterminado correspondiente a un servicio manual proporciona un mensaje que se envía a un participante. Por ejemplo, la salida de la notificación ManualServiceAddAccount es similar a la de este ejemplo: Nombre de atributo: Valor de atributo myattr: TT Contraseña: secret Propietario: Auditor ID de usuario: auditor1 Descripción: operación de servicio manual Persona a la que se solicita: Auditor Asunto: auditor1 Solicitud iniciada: 28 de jun, 2007 05:11:05 IST Solicitada por el proceso: Nombre de proceso: Agregar cuenta Descripción: Proceso de adición de cuentas Solicitante: Administrador del sistema Persona a la que se solicita: Auditor Asunto: auditor1 Ejemplo de salida La plantilla <ManualServiceAddAccount/> proporciona un mensaje que utiliza algunos de los valores en el archivo Labels.properties: manualServiceWorkOrderAddOperationMessage manualServiceAttributeName : manualServiceAttributeValue {inserte aquí nombres de atributo reales} : {inserte aquí valores de atributo reales} El identificador <ManualServiceModifyAccount/> generaría: manualServiceWorkOrderModifyOperationMessage {Coloque los siguientes atributos en una línea:} manualServiceAttributeName : manualServiceAttributeValue 22 Consulta : manualServiceAttributeAction {inserte aquí nombres de atributo reales} : {inserte aquí valores de atributo reales} : {en función de lo que se necesite hacer, una de las siguientes: } {Coloque los siguientes atributos en una línea:} {manualServiceAddAction,manualServiceReplaceAction, manualServiceRemoveAction} Mensajes predeterminados de recertificación IBM Tivoli Identity Manager proporciona plantillas de mensaje predeterminadas para los mensajes de recertificación. Plantillas de recertificación predeterminadas IBM Tivoli Identity Manager proporciona plantillas de mensaje predeterminadas para los mensajes de recertificación. No puede cambiar las plantillas siguientes: Suspender cuenta Proporciona un texto predeterminado en el que se solicita al participante que recertifique el uso de una cuenta. Si se rechaza la solicitud, se suspenderá la cuenta. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del servicio shortword-linux requiere certificación Ha recibido una solicitud de recertificación para la cuenta myaccount del servicio shortword-linux cuyo propietario es firstname lastname. Si se rechaza la solicitud de recertificación, se suspenderá la cuenta myaccount en shortword-linux. Actividad: Recertificación de cuenta/acceso Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: SYSTEM Acceso/Cuenta: myaccount Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Suprimir cuenta Proporciona un texto predeterminado en el que se solicita al participante que recertifique el uso de una cuenta. Si se rechaza la solicitud, se suprimirá la cuenta. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del servicio shortword-linux requiere certificación Ha recibido una solicitud de recertificación para la cuenta myaccount del servicio shortword-linux cuyo propietario es firstname lastname. Si se rechaza la solicitud de recertificación, se suprimirá la cuenta myaccount en shortword-linux. Actividad: Recertificación de cuenta/acceso Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: SYSTEM Acceso/Cuenta: myaccount Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Consulta 23 Marcar cuenta Proporciona un texto predeterminado que se envía a un participante para que recertifique el uso de una cuenta. Rechazar la solicitud marcará la cuenta para una acción posterior en la cuenta. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del servicio shortsword-linux requiere certificación. Ha recibido una solicitud de recertificación para la cuenta myaccount del servicio shortword-linux cuyo propietario es firstname lastname. Si se rechaza la solicitud de recertificación, la cuenta myaccount en shortword-linux se marcará como rechazada para recertificación. Actividad: Recertificación de cuenta/acceso Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: SYSTEM Acceso/Cuenta: myaccount Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Marcar acceso Proporciona un texto predeterminado que se envía a un participante para que recertifique el uso de una cuenta en un acceso. Rechazar la solicitud marcará el acceso para una acción posterior en la cuenta. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del acceso myaccess requiere certificación. Ha recibido una solicitud de recertificación para la cuenta myaccount del acceso myaccess cuyo propietario es firstname lastname. Si se rechaza la solicitud de recertificación, el acceso myaccess se marcará como rechazado para recertificación. Actividad: Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Solicitada para: Solicitada por: Acceso/Cuenta: Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Suprimir acceso Proporciona un texto predeterminado que solicita un participante para que recertifique el uso de una cuenta en un acceso. Si se rechaza la solicitud, se suprime la cuenta en el acceso. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del acceso myaccess requiere certificación. Ha recibido una solicitud de recertificación para la cuenta myaccount del acceso myaccess cuyo propietario es firstname lastname. Si se rechaza la solicitud de recertificación, se suprimirá el acceso myaccess. Actividad: Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Solicitada para: 24 Consulta Solicitada por: Acceso/Cuenta: Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Cuenta suspendida Proporciona un texto predeterminado que se envía a un participante, confirmando la suspensión de una cuenta, después de que el participante haya rechazado la solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del servicio shortword-linux se ha suspendido porque se ha rechazado una solicitud de recertificación. La cuenta myaccount del servicio shortword-linux cuyo propietario es firstname lastname se ha suspendido porque se ha rechazado una solicitud de recertificación. Actividad: Recertificación de cuenta/acceso Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: SYSTEM Acceso/Cuenta: myaccount Descripción: Cuenta suprimida Proporciona un texto predeterminado que se envía a un participante, confirmando la supresión de una cuenta, después de que el participante haya rechazado la solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del servicio shortword-linux se ha suprimido porque se ha rechazado una solicitud de recertificación La cuenta myaccount del servicio shortword-linux cuyo propietario es firstname lastname se ha suprimido porque se ha rechazado una solicitud de recertificación. Actividad: Recertificación de cuenta/acceso Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: SYSTEM Acceso/Cuenta: myaccount Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Cuenta marcada Proporciona texto predeterminado que se envía a un participante, confirmando que una cuenta se ha marcado para la suspensión, después de que el participante rechace una solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del servicio shortword-linux se marcado como rechazada para recertificación porque se ha rechazado una solicitud de recertificación La cuenta myaccount del servicio shortword-linux cuyo propietario es firstname lastname se ha marcado como rechazada para recertificación porque se ha rechazado una solicitud de recertificación. Actividad: Recertificación de cuenta/acceso Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: SYSTEM Consulta 25 Acceso/Cuenta: myaccount Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IS Acceso marcado Proporciona texto predeterminado que se envía a un participante, confirmando que una cuenta en un acceso se ha marcado para acción posterior, después de que el participante rechace una solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: La plantilla contiene estas sentencias: La cuenta myaccount del acceso myaccess se ha suprimido porque se ha rechazado una solicitud de recertificación. La cuenta myaccount del acceso myaccess cuyo propietario es firstname lastname se ha marcado como rechazada para recertificación porque se ha rechazado una solicitud de recertificación. Actividad: Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Solicitada para: Solicitada por: Acceso/Cuenta: Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Acceso eliminado Proporciona texto predeterminado que se envía a un participante, confirmando la supresión de una cuenta en un acceso, después de que el participante rechace una solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: La cuenta myaccount del acceso myaccess se ha suprimido porque se ha rechazado una solicitud de recertificación. La cuenta myaccount del acceso myaccess cuyo propietario es firstname lastname se ha suprimido porque se ha rechazado una solicitud de recertificación. Actividad: Fecha de envío: 26 abr 2007 10:34:51 IST Tipo de solicitud: Solicitada para: Solicitada por: Acceso/Cuenta: Descripción: Fecha de vencimiento: 27 abr 2007 10:34:57 IST Recertificación de usuario pendiente Proporciona texto predeterminado que se envía a un participante, confirmando que una recertificación de usuario está pendiente, después de que se inicie una solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: Ha recibido una solicitud de recertificación para firstname lastname del usuario. La recertificación incluye los miembros del/los rol(es) y la propiedad de la/las cuenta(s) Y. Indique si el usuario todavía necesita estos recursos: La cuenta myaccount del acceso myaccess cuyo propietario es firstname lastname se ha suprimido porque se ha rechazado una solicitud de recertificación. Actividad: Recertificación de cuenta/acceso/usuario 26 Consulta Fecha de envío: 08 sep, 2008 04:10:32 EDT Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: Sistema Fecha de vencimiento: 18 sep, 2008 04:10:34 EDT Recertificación de usuario rechazada Proporciona un texto predeterminado que se envía a un participante, confirmando que uno o más recursos se han rechazado en una solicitud de recertificación. Por ejemplo, el participante recibe este mensaje: Uno o más recursos para firstname lastname del usuario han sido rechazados durante la recertificación. La cuenta myaccount del acceso myaccess cuyo propietario es firstname lastname se ha suprimido porque se ha rechazado una solicitud de recertificación. Actividad: Recertificación de cuenta/acceso/usuario Fecha de envío: 08 sep, 2008 06:30:07 EDT Tipo de solicitud: Recertificación Solicitada para: firstname lastname Solicitada por: Sistema Los siguientes roles han sido rechazados: rolename Las siguientes cuentas han sido rechazadas, junto con todos los grupos asociados con las cuentas: Cuenta "uid" en el servicio "servicename" Los siguientes grupos han sido rechazados pero la cuenta ha sido aceptada: Grupo "groupname" para cuenta "uid" en el servicio "servicename" Valores del archivo de propiedades Para poder cambiar las plantillas, puede utilizar todas las sentencias key=value en el archivo CustomLabels.properties, o cree sus propias propiedades y valores. Las propiedades incluyen los siguientes elementos (en una línea): recertOn={0} en {1} recertTemplateSubject=La cuenta {0} del servicio {1} requiere recertificación recertTemplateAccessSubject=La cuenta {0} del acceso {1} requiere recertificación recertTemplateBody=Ha recibido una solicitud de recertificación para la cuenta {0} del servicio {1} cuyo propietario es {2}. recertTemplateAccessBody=Ha recibido una solicitud de recertificación para la cuenta {0} del acceso {1} cuyo propietario es {2}. recertDeclineSuspendsBody=Si se rechaza la solicitud de recertificación, se suspenderá la cuenta {0} en {1}. recertDeclineDeletesBody=Si se rechaza la solicitud de recertificación, se suprimirá la cuenta {0} en {1}. recertDeclineMarksBody=Si se rechaza la solicitud de recertificación, la cuenta {0} en {1} se marcará como rechazada para recertificación. recertDeclineDeletesAccessBody=Si se rechaza la solicitud de recertificación, se suprimirá el acceso {0}. recertDeclineMarksAccessBody=Si se rechaza la solicitud de recertificación, el acceso {0} se marcará como rechazado para recertificación. recertDeclinedAcctSuspendedSubj=La cuenta {0} del servicio {1} se ha suspendido porque se ha rechazado una solicitud de recertificación recertDeclinedAcctDeletedSubj=La cuenta {0} del servicio {1} se ha suprimido porque se ha rechazado una solicitud de recertificación recertDeclinedAcctMarkedSubj=La cuenta {0} del servicio {1} se ha marcado como rechazada para recertificación porque se ha rechazado Consulta 27 una solicitud de recertificación recertDeclinedAccessDeletedSubj=La cuenta {0} del acceso {1} se ha suprimido porque se ha rechazado una solicitud de recertificación recertDeclinedAccessMarkedSubj=La cuenta {0} del servicio {1} se ha marcado como rechazada para recertificación porque se ha rechazado una solicitud de recertificación recertDeclinedAcctSuspendedBody=La cuenta {0} del servicio {1} cuyo propietario es {2} se ha suspendido porque se ha rechazado una solicitud de recertificación. recertDeclinedAcctDeletedBody=La cuenta {0} del servicio {1} cuyo propietario es {2} se ha suprimido porque se ha rechazado una solicitud de recertificación. recertDeclinedAcctMarkedBody=La cuenta {0} del servicio {1} cuyo propietario es {2} se ha marcado como rechazada para recertificación porque se ha rechazado una solicitud de recertificación. recertDeclinedAccessDeletedBody=La cuenta {0} del acceso {1} cuyo propietario es {2} se ha suprimido porque se ha rechazado una solicitud de recertificación. recertDeclinedAccessMarkedBody=La cuenta {0} del acceso {1} cuyo propietario es {2} se ha marcado como rechazada para recertificación porque se ha rechazado una solicitud de recertificación. userRecertTemplateSubject=Se requiere recertificación para el usuario {0} userRecertTemplateBody=Ha recibido una solicitud de recertificación para el usuario {0}. La recertificación incluye los miembros del/los rol(es) {1} y la propiedad de {2} cuenta(s). Indique si el usuario aún necesita estos recursos. userRecertDeclinedSubj=Se ha rechazado la solicitud de recertificación para el usuario {0} userRecertDeclinedBody=Uno o más recursos del usuario {0} han sido rechazados durante la recertificación. userRecertRolesRejectedLabel=Los siguientes roles han sido rechazados: userRecertAccountsRejectedLabel=Las siguientes cuentas han sido rechazadas, junto con todos los grupos asociados a las cuentas: userRecertGroupsRejectedLabel=Los siguientes grupos se han rechazado, pero la cuenta ha sido aceptada: userRecertAcctLabel=La cuenta "{0}" en el servicio "{1}" userRecertGroupLabel=El grupo "{0}" para la cuenta "{1}" en el servicio "{2}" Definiciones de clave de la plantilla de recertificación Las plantillas de recertificación utilizan las definiciones de clave siguientes: name=Actividad timeScheduled=Fecha de envío recertRequestType=Tipo de solicitud recertRequestedFor=Solicitada para recertRequestedBy=Solicitada por recertAccountAccess=Acceso/Cuenta recertDueDate=Fecha de vencimiento recertRequestTypeName=Recertificación readOnlyDateFormat=dd MMM yyyy hh:mm:ss z Mensajes predeterminados de flujo de trabajo IBM Tivoli Identity Manager proporciona mensajes de flujo de trabajo predeterminados. Plantillas de flujo de trabajo predeterminadas Todas las plantillas de avisos de flujo de trabajo se pueden personalizar. IBM Tivoli Identity Manager proporciona estas plantillas de flujo de trabajo predeterminadas de avisos: 28 Consulta Plantilla de tiempo de espera de actividad Proporciona información de que la actividad del flujo de trabajo ha excedido el tiempo de espera y terminará. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Se ha excedido el tiempo de espera de la actividad de flujo de trabajo y el sistema de flujo de trabajo la finalizará. La siguiente actividad ha excedido el tiempo de espera. El sistema de flujo de trabajo finalizará la actividad y el resultado se establecerá en Terminado. Información de la actividad Ver cambios: http://localhost:9090/itim/console ID de actividad: ADApproval Actividad: Aprobación de cuenta de AD Hora de inicio: 09 jun 2007 12:28:45 IST Hora de finalización: Resumen de resultado: Intensificado Estado: En ejecución Tipo de actividad: Aprobación/Rechazo manual Información del proceso ID de proceso: 1099575082113388748 Actividad: Flujo de trabajo de aprobación de cuenta de predeterminado Descripción: Estado: En ejecución Fecha de envío: 09 jun 2007 12:23:41 IST Hora de finalización: Resumen de resultado: Solicitante: 1099572462907357646 Persona a la que se solicita: firstname lastname Asunto: Comentario: Detalles: La sentencia del asunto es: <RE key="activity_timeout_subject" /> El texto sin formato es: <RE key="activity_timeout_message" /> <RE key="activity_timeout_detail" /> <RE key="activityInformation" /> <ITIMURL/> <RE key="activityID"/>: <JS>activity.id;</JS> <RE key="name"/>: <JS>activity.name;</JS> <RE key="timeStarted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (activity.started != null) return activity.started.getTime(); else return '';</JS></PARM></RE> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (activity.completed != null) return activity.completed.getTime(); else return '';</JS></PARM></RE> <RE key="resultSummary"/>: <RE><KEY> <JS>process.STATE_PREFIX + activity.resultSummary; </JS></KEY></RE> <RE key="state"/>: <RE><KEY><JS>process.STATE_PREFIX+activity.state; </JS></KEY></RE> <RE key="activityType"/>: <RE><KEY> <JS>activity.TYPE_PREFIX + activity.type;</JS> </KEY></RE> <RE><KEY><JS>activity.TYPE_PREFIX + activity.subtype;</JS></KEY></RE> <RE key="processInformation" /> <RE key="processID"/>: <JS>process.id;</JS> <RE key="name"/>: <RE><KEY><JS>process.name;</JS></KEY></RE> <RE key="description"/>: <RE><KEY> <JS>process.description;</JS></KEY></RE> Consulta 29 <RE key="state"/>: <RE><KEY><JS>process.STATE_PREFIX + process.state; </JS></KEY></RE> <RE key="timeScheduled"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.scheduled != null) return process.scheduled.getTime(); else return '';</JS></PARM></RE> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.completed != null) return process.completed.getTime(); else return '';</JS></PARM></RE> <RE key="resultSummary"/>: <RE><KEY> <JS>process.STATE_PREFIX + process.resultSummary; </JS></KEY></RE> <RE key="requester"/>: <JS>process.requestorName;</JS> <RE key="requestedFor"/>: <JS>process.requesteeName;</JS> <RE key="subject"/>: <JS>process.subject;</JS> <RE key="comment"/>: <JS>process.comment;</JS> <RE key="detail"/>: <JS>process.resultDetail;</JS> Plantilla de cambio de cuenta Proporciona información de que la actividad de flujo de trabajo ha modificado información de cuenta. De forma predeterminada, esta plantilla está inhabilitada. Por ejemplo, la plantilla proporciona este mensaje: Información de la cuenta modificada de IBM Tivoli Identity Manager Se ha modificado la cuenta de ITIM Service [ITIM] siguiente: Ver cambios: http://localhost:9090/itim/console Referencia del proceso: 875016861865594505 ID de cuenta: myaccount Nombre de propietario: firstname lastname Hora de finalización: 08 jun 2007 09:52:24 IST La sentencia del asunto es: <RE key="change_account_subject"/> El texto sin formato es: <RE key="account_changed"><PARM> <RE key="service_name_with_profile_name"><PARM> <JS>EmailContext.getAccountServiceName();</JS></PARM> <PARM><RE><KEY><JS>EmailContext.getAccountServiceProfileName(); </JS></KEY></RE></PARM></RE></PARM></RE> <ITIMURL/> <RE key="processRef"/>: <JS>process.id;</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="TRANSACTION_ID_LABEL"/>: ' + EmailContext.getTransactionId(); } </JS> <RE key="accountID"/>: <JS>EmailContext.getAccountUserId();</JS> <RE key="accountOwnerName"/>: <JS>EmailContext.getAccountOwnerName();</JS> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>(new Date()).getTime();</JS></PARM></RE> <JS>if (EmailContext.hasNewAccess()) { '<RE key="accountNewAccess"/>: <JS>EmailContext.getAccountNewAccessAsString();</JS>\n'; }</JS> <JS>if (EmailContext.hasRemovedAccess()) { '<RE key="accountRemovedAccess"/>: <JS>EmailContext.getAccountRemovedAccessAsString();</JS>\n'; }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="RETRIEVE_PASSWORD_TITLE"/>: ' + EmailContext.getPasswordRetrievalUrl(); } </JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="passwordExpireLabel"/>: <JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="passwordneverexpire"/>'; } else { EmailContext.getPasswordExpirePeriod(); }</JS>'; }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="additionalMsgForPwdRetrieval"/>'; }</JS>'; }</JS> Plantilla de conformidad Proporciona información de que una cuenta no cumple con una política de suministro. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: 30 Consulta Alerta de conformidad para winlocal La cuenta [helpdesk35] no cumple la política de suministro. El valor [Rendimiento usuarios de registro] del atributo [Grupos locales] se debe [eliminar]. Ver cambios: http://99.99.999.99:80/itim/console La sentencia del asunto es: <RE key="compliance_alert_subject" > <PARM><JS>var service = context.getService(); return service.getProperty("erservicename")[0];</JS> </PARM> </RE> El texto sin formato es: <CAMessage/> <RE key="itimUrl"/>:<ITIMURL/> Plantilla de eliminación de suministro de cuenta Proporciona información de que la actividad de flujo de trabajo ha eliminado una cuenta. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: La cuenta ha sido eliminada por IBM Tivoli Identity Manager. Ha dejado de darse suministro a la cuenta de Odessa Service [ADProfile] siguiente. Ver cambios: http://host:9080/itim/self Referencia del proceso: 5870349043636872731 ID de cuenta: myaccount Nombre de propietario: myname Motivo: Imposición de política Hora de finalización: 03 may 2007 03:54:22 IST La sentencia del asunto es: <RE key="remove_account_subject" /> El texto sin formato es: <RE key="account_deprovisioned"> <PARM><RE key="service_name_with_profile_name"> <PARM><JS>EmailContext.getAccountServiceName();</JS></PARM> <PARM><RE><KEY><JS>EmailContext.getAccountServiceProfileName(); </JS></KEY></RE></PARM></RE></PARM></RE> <ITIMURL/> <RE key="processRef"/>: <JS>process.id;</JS> <RE key="accountID"/>: <JS>EmailContext.getAccountUserId();</JS> <RE key="accountOwnerName"/>: <JS>EmailContext.getAccountOwnerName();</JS> <RE key="reason"/>: <JS>EmailContext.getReason();</JS> <RE key="deprovisionCompleted"/>: <RE key="readOnlyDateFormat"> <PARM><JS>(new Date()).getTime();</JS></PARM></RE> Plantilla de aprobación de actividad manual Proporciona información de que el usuario debe proporcionar información de una solicitud. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Acción de flujo de trabajo pendiente: caso 884088984804067042.884090864796694775 Se le ha solicitado que envíe información para la solicitud siguiente Ver cambios: http://localhost:9090/itim/console Descripción: Persona a la que se solicita: firstname lastname Asunto: subject Solicitud iniciada: 08 jun 2007 10:27:29 IST Referencia del proceso: 884088984804067042 Solicitada por el proceso: ID de proceso: 884066904196868932 Nombre de proceso: Suministrar cuenta Consulta 31 Descripción: Proceso de suministro de cuentas Solicitante: Administrador del sistema Persona a la que se solicita: firstname lastname Asunto: subject La sentencia del asunto es: <RE key="pending_workitem_subject"><PARM><ID /></PARM></RE> El texto sin formato es: <RE key="wiApproval_message" /> <ITIMURL/> <RE key="description"/>: <RE><KEY><JS>process.description;</JS></KEY></RE> <RE key="requestedFor"/>: <JS>process.requesteeName;</JS> <RE key="subject"/>: <JS>process.subject;</JS> <JS>if (process.subjectAccess!=null) if (process.subjectAccess.length>0) { '<RE key="accessName"/>: <JS>process.subjectAccess;</JS>\n'; }</JS> <RE key="requestInit"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.started != null) return process.started.getTime(); else return '';</JS></PARM></RE> <RE key="processRef"/>: <JS>process.id;</JS> <JS>if (process.parentId == '0') { '<RE key="requestedBy"/>: <JS>process.requestorName;</JS>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="parent_process"/>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="processID"/>: ' + process.parentId; }</JS> <JS>if (process.parentId != '0') { '<RE key="processName"/>: <RE><KEY><JS>if (process.parentId != '0') { process.getParent().name; } </JS></KEY></RE>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="description"/>: <RE><KEY><JS>if (process.parentId != '0') { process.getParent().description; } </JS></KEY></RE>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="requester"/>: ' + process.getParent().requestorName; } </JS> <JS>if (process.parentId != '0') { '<RE key="requestedFor"/>: ' + process.getParent().requesteeName; } </JS> <JS>if (process.parentId != '0') { '<RE key="subject"/>: ' + process.getParent().subject; }</JS> Plantilla de RFI de actividad manual Proporciona la plantilla predeterminada para solicitar información de actividades de flujo de trabajo. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Se le ha solicitado que envíe información para la solicitud siguiente http://localhost:9080/itim/self/ReviewActivities.do? activity=3053543743245419023 Descripción: Persona a la que se solicita: Shoe Flower Asunto: shoe1 Solicitud iniciada: 03 ago 2007 11:48:52 IST Referencia del proceso: 3053543339468639238 Solicitada por el proceso: ID de proceso: 3053541330639294422 Nombre de proceso: Suministrar cuenta Descripción: Proceso de suministro de cuentas Solicitante: Administrador del sistema Persona a la que se solicita: Shoe Flower Asunto: shoe1 La sentencia del asunto es: <RE key="pending_workitem_subject"><PARM><ID /></PARM></RE> El texto sin formato es: <RE key="wiRFI_message" /> <ITIMURL/> <RE key="description"/>: <RE><KEY> 32 Consulta <JS>process.description;</JS></KEY></RE> <RE key="requestedFor"/>: <JS>process.requesteeName;</JS> <RE key="subject"/>: <JS>process.subject;</JS> <JS>if (process.subjectAccess!=null) if (process.subjectAccess.length>0) { '<RE key="accessName"/>: <JS>process.subjectAccess;</JS>\n'; }</JS> <RE key="requestInit"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.started != null) return process.started.getTime(); else return '';</JS></PARM></RE> <RE key="processRef"/>: <JS>process.id;</JS> <JS>if (process.parentId == '0') { '<RE key="requestedBy"/>: <JS>process.requestorName;</JS>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="parent_process"/>'; } </JS> <JS>if (process.parentId != '0') { '<RE key="processID"/>: ' + process.parentId; }</JS> <JS>if (process.parentId != '0') { '<RE key="processName"/>: <RE><KEY><JS>if (process.parentId != '0') { process.getParent().name; } </JS></KEY></RE>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="description"/>: <RE><KEY><JS>if (process.parentId != '0') { process.getParent().description; } </JS></KEY></RE>'; }</JS> <JS>if (process.parentId != '0') { '<RE key="requester"/>: ' + process.getParent().requestorName; } </JS> <JS>if (process.parentId != '0') { '<RE key="requestedFor"/>: ' + process.getParent().requesteeName; } </JS> <JS>if (process.parentId != '0') { '<RE key="subject"/>: ' + process.getParent().subject; }</JS> Plantilla de orden de trabajo de actividad manual Proporciona la plantilla predeterminada para la orden de trabajo de actividad manual de flujo de trabajo. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Acción de flujo de trabajo pendiente: caso 1401993364658803275.1402011582339065124 Ha recibido una solicitud de orden de trabajo La sentencia del asunto es: <RE key="pending_workitem_subject"><PARM><ID /></PARM></RE> El texto sin formato es: <RE key="wiWorkOrder_message" /> Plantilla de cuenta nueva Proporciona información de que la actividad de flujo de trabajo ha creado una cuenta nueva. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Información de la nueva cuenta de IBM Tivoli Identity Manager Se ha creado la siguiente cuenta nueva de ITIM Service [ITIM]: Ver cambios: http://localhost:80/itim/console Referencia del proceso: 8498649245880216244 Contraseña: bAMI#gai ID de cuenta: myaccount Nombre de propietario: firstname lastname Hora del suministro de servicio: 29 jun 2007 10:55:58 IST La sentencia del asunto es: <RE key="new_account_subject"/> El texto sin formato es: Consulta 33 <RE key="account_created"><PARM> <RE key="service_name_with_profile_name"> <PARM><JS>EmailContext.getAccountServiceName();</JS></PARM> <PARM><RE><KEY><JS>EmailContext.getAccountServiceProfileName(); </JS></KEY></RE></PARM></RE></PARM></RE> <ITIMURL/> <RE key="processRef"/>: <JS>process.id;</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="TRANSACTION_ID_LABEL"/>: ' + EmailContext.getTransactionId(); } </JS> <RE key="password"/>: <JS>EmailContext.getAccountPassword();</JS> <RE key="accountID"/>: <JS>EmailContext.getAccountUserId();</JS> <RE key="accountOwnerName"/>: <JS>EmailContext.getAccountOwnerName();</JS> <RE key="timeofprovision"/>: <RE key="readOnlyDateFormat"> <PARM><JS>(new Date()).getTime();</JS></PARM></RE> <JS>if (EmailContext.hasNewAccess()) { '<RE key="accountNewAccess"/>: <JS>EmailContext.getAccountNewAccessAsString();</JS>\n'; }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="RETRIEVE_PASSWORD_TITLE"/>: ' + EmailContext.getPasswordRetrievalUrl(); }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="passwordExpireLabel"/>: <JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="passwordneverexpire"/>'; } else { EmailContext.getPasswordExpirePeriod(); }</JS>'; }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="additionalMsgForPwdRetrieval"/>'; }</JS>'; }</JS> Plantilla de contraseña nueva Proporciona información de que hay una contraseña nueva para una cuenta. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Información de la contraseña nueva de la cuenta A continuación se muestra su nueva contraseña para la cuenta myaccount: Ver cambios: http://localhost:9090/itim/console Referencia del proceso: 2855285841498421007 Contraseña nueva: secret ID de cuenta: myaccount Servicio de cuenta: Servicio de ITIM Perfil de servicio de cuenta: ITIM Nombre de propietario: firstname lastname Hora del suministro de servicio: 25 abr 2007 12:54:05 IST La sentencia del asunto es: <RE key="password_change_subject"/> El texto sin formato es: <RE><KEY><JS>if (EmailContext.getTransactionId() == '0') { 'newAccountPassword' } else { 'newAccountPasswordPickUp'; } </JS></KEY> <PARM><JS>process.subject;</JS></PARM></RE> <ITIMURL/> <RE key="processRef"/>: <JS>process.id;</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="TRANSACTION_ID_LABEL"/>: ' + EmailContext.getTransactionId(); } </JS> <RE key="newPassword"/>: <JS>EmailContext.getAccountPassword();</JS> <RE key="accountID"/>: <JS>EmailContext.getAccountUserId();</JS> <RE key="accountService"/>: <JS>EmailContext.getAccountServiceName();</JS> <RE key="accountServiceProfile"/>: <RE><KEY> <JS>EmailContext.getAccountServiceProfileName();</JS></KEY></RE> <RE key="accountOwnerName"/>: <JS>EmailContext.getAccountOwnerName();</JS> <RE key="timeofprovision"/>: <RE key="readOnlyDateFormat"> <PARM><JS>(new Date()).getTime();</JS></PARM></RE> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="RETRIEVE_PASSWORD_TITLE"/>: ' 34 Consulta + EmailContext.getPasswordRetrievalUrl(); }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="passwordExpireLabel"/>: <JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="passwordneverexpire"/>'; } else { EmailContext.getPasswordExpirePeriod(); }</JS>'; }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="additionalMsgForPwdRetrieval"/>'; }</JS>'; }</JS> Plantilla de finalización de proceso Proporciona información de que la actividad de flujo de trabajo ha finalizado. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: El proceso de flujo de trabajo, 1416721862784240178, ha finalizado. Resumen de resultado: Correcto El proceso siguiente se ha completado Información del proceso Ver cambios: http://localhost:9090/itim/console ID de proceso: 1416721862784240178 Actividad: Descripción: Proceso de modificación de política de suministro Estado: Completado Fecha de envío: 16 may 2007 12:22:58 IST Hora de finalización: 16 may 2007 01:44:17 IST Resumen de resultado: Correcto Solicitante: Administrador del sistema Persona a la que se solicita: Asunto: Política de suministro predeterminada para el servicio Perfil local de Win Comentario: Detalles: La sentencia del asunto es: <RE key="processCompletedSubject"><PARM><JS>process.id;</JS></PARM> <PARM><RE key="resultSummaryValue"><PARM><RE><KEY> <JS>process.STATE_PREFIX + process.resultSummary; </JS></KEY></RE></PARM></RE></PARM></RE> El texto sin formato es: <RE key="process_completed_message" /> <RE key="processInformation" /> <ITIMURL/> <RE key="processID"/>: <JS>process.id;</JS> <RE key="name"/>: <RE><KEY><JS>process.name;</JS></KEY></RE> <RE key="description"/>: <RE><KEY><JS>process.description;</JS> </KEY></RE> <RE key="state"/>: <RE><KEY> <JS>process.STATE_PREFIX + process.state;</JS></KEY></RE> <RE key="timeScheduled"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.scheduled != null) return process.scheduled.getTime(); else return '';</JS></PARM></RE> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.completed != null) return process.completed.getTime(); else return '';</JS></PARM></RE> <RE key="resultSummary"/>: <RE><KEY> <JS>process.STATE_PREFIX + process.resultSummary;</JS> </KEY></RE> <RE key="requester"/>: <JS>process.requestorName;</JS> <RE key="requestedFor"/>: <JS>process.requesteeName;</JS> <RE key="subject"/>: <JS>process.subject;</JS> <RE key="comment"/>: <JS>process.comment;</JS> <RE key="detail"/>: <JS>process.resultDetail;</JS> Consulta 35 Plantilla de tiempo de espera de proceso Proporciona información de que el proceso de flujo de trabajo ha excedido el tiempo de espera. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Se ha excedido el tiempo de espera de la actividad de flujo de trabajo y el sistema de flujo de trabajo la finalizará. Información de la actividad Ver cambios: http://localhost:9080/itim/console ID de actividad: RECERTAPPROVAL Actividad: $ITIM_RECERTIFY Hora de inicio: 02 ago 2007 03:18:54 IST Hora de finalización: Resumen de resultado: Pendiente Estado: En ejecución Tipo de actividad: Aprobación/Rechazo manual Información del proceso ID de proceso: 8566433417513336819 Actividad: Recertificación de cuenta/acceso Descripción: Recertificación de cuenta/acceso Estado: En ejecución Fecha de envío: 02 ago 2007 03:18:54 IST Hora de finalización: Resumen de resultado: Solicitante: org Persona a la que se solicita: Person B Asunto: personb Comentario: Detalles: La sentencia del asunto es: <RE key="process_timeout_subject" /> El texto sin formato es: <RE key="process_timeout_message" /> <RE key="processInformation" /> <ITIMURL/> <RE key="processID"/>: <JS>process.id;</JS> <RE key="name"/>: <RE><KEY><JS>process.name;</JS></KEY></RE> <RE key="description"/>: <RE><KEY><JS>process.description;</JS></KEY></RE> <RE key="state"/>: <RE><KEY> <JS>process.STATE_PREFIX + process.TIMEOUT;</JS></KEY></RE> <RE key="timeScheduled"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.scheduled != null) return process.scheduled.getTime(); else return '';</JS></PARM></RE> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>if (process.completed != null) return process.completed.getTime(); else return '';</JS></PARM></RE> <RE key="resultSummary"/>: <RE><KEY> <JS>process.STATE_PREFIX + process.resultSummary;</JS></KEY></RE> <RE key="requester"/>: <JS>process.requestorName;</JS> <RE key="requestedFor"/>: <JS>process.requesteeName;</JS> <RE key="subject"/>: <JS>process.subject;</JS> <RE key="comment"/>: <JS>process.comment;</JS> <RE key="detail"/>: <JS>process.resultDetail;</JS> Plantilla de restauración de cuenta Proporciona información de que se ha restaurado una cuenta. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: Información de la cuenta restaurada de IBM Tivoli Identity Manager Se ha restaurado la cuenta de ITIM Service [ITIM] siguiente: Ver cambios: http://localhost:9090/itim/console Referencia del proceso: 2857890686820910405 36 Consulta Contraseña nueva: secret ID de cuenta: myaccount Nombre de propietario: firstname lastname Hora de finalización: 25 abr 2007 01:04:08 IST La sentencia del asunto es: <RE key="restore_account_subject"/> El texto sin formato es: <RE key="restore_account"><PARM> <RE key="service_name_with_profile_name"><PARM> <JS>EmailContext.getAccountServiceName();</JS></PARM> <PARM><RE><KEY> <JS>EmailContext.getAccountServiceProfileName(); </JS></KEY></RE></PARM></RE></PARM></RE> <ITIMURL/> <RE key="processRef"/>: <JS>process.id;</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="TRANSACTION_ID_LABEL"/>: ' + EmailContext.getTransactionId(); } </JS> <RE key="newPassword"/>: <JS>EmailContext.getAccountPassword();</JS> <RE key="accountID"/>: <JS>EmailContext.getAccountUserId();</JS> <RE key="accountOwnerName"/>: <JS>EmailContext.getAccountOwnerName();</JS> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"> <PARM> <JS>(new Date()).getTime();</JS></PARM></RE> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="RETRIEVE_PASSWORD_TITLE"/>: ' + EmailContext.getPasswordRetrievalUrl(); }</JS> <JS>if (EmailContext.getTransactionId() != '0') { '<RE key="passwordExpireLabel"/>: <JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="passwordneverexpire"/>'; } else { EmailContext.getPasswordExpirePeriod(); }</JS>'; } </JS> <JS>if (EmailContext.getTransactionId() != '0') { '<JS>if (EmailContext.getPasswordExpirePeriod() == 0) { '<RE key="additionalMsgForPwdRetrieval"/>'; }</JS>'; }</JS> Plantilla de suspensión de cuenta Proporciona información de que se ha suspendido una cuenta. De forma predeterminada, esta plantilla está habilitada. Por ejemplo, la plantilla proporciona este mensaje: La cuenta ha sido suspendida por IBM Tivoli Identity Manager Se ha suspendido la cuenta de AD Service (RFI) [ADProfile] siguiente: Ver cambios: http://localhost:9090/itim/console Referencia del proceso: 2857497715286893521 ID de cuenta: myaccount Nombre de propietario: firstname lastname Hora de finalización: 25 abr 2007 01:02:43 IST La sentencia del asunto es: <RE key="suspend_account_subject" /> El texto sin formato es: <RE key="account_suspended"><PARM> <RE key="service_name_with_profile_name"> <PARM><JS>EmailContext.getAccountServiceName();</JS></PARM> <PARM><RE><KEY><JS>EmailContext.getAccountServiceProfileName(); </JS></KEY></RE></PARM></RE></PARM></RE> <ITIMURL/> <RE key="processRef"/>: <JS>process.id;</JS> <RE key="accountID"/>: <JS>EmailContext.getAccountUserId();</JS> <RE key="accountOwnerName"/>: <JS>EmailContext.getAccountOwnerName();</JS> <RE key="timeCompleted"/>: <RE key="readOnlyDateFormat"><PARM> <JS>(new Date()).getTime();</JS></PARM></RE> Consulta 37 Plantilla de recordatorio de tareas pendientes Proporciona la plantilla predeterminada para los recordatorios de flujo de trabajo, los cuales son correos electrónicos que recuerdan a los usuarios actividades pendientes que no han respondido. De forma predeterminada, esta plantilla está inhabilitada. Por ejemplo, la plantilla proporciona este mensaje: Asunto: Acción de flujo de trabajo pendiente: caso 6167063972298972180.6167064647650050990 Se ha enviado la siguiente solicitud para obtener su aprobación Ver cambios: http://localhost:9080/itim/console Descripción: Flujo de trabajo de aprobación Persona a la que se solicita: anil Asunto: anil Solicitud iniciada: 05 sep 2007 05:42:18 IST Referencia del proceso: 6167063972298972180 Solicitada por el proceso: ID de proceso: 6167052766519381908 Nombre de proceso: Suministrar cuenta Descripción: Proceso de suministro de cuentas Solicitante: Administrador del sistema Persona a la que se solicita: anil Asunto: anil Este elemento de trabajo se intensificará en: Sábado, 8 de septiembre de 2007. La sentencia del asunto es: <originalSubject/> El texto sin formato es: <textBody/> <RE key="escalation_note"/> <escalationTime/> Visión general de las ampliaciones JavaScript JavaScript se utiliza en IBM Tivoli Identity Manager para especificar políticas de identidad, parámetros de política de suministro, políticas de selección de servicios, reglas de colocación para las alimentaciones de identidades y adopción de cuentas huérfanas. Además, JavaScript se utiliza en los flujos de trabajo para especificar las condiciones de transición, condiciones de bucle, actividades de JavaScript, postscript de actividad y notificación de flujo de trabajo. IBM Tivoli Identity Manager proporciona una variedad de ampliaciones de script para exponer los servicios y datos útiles de cada uno de estos scripts. Además de estas ampliaciones, los administradores del sistema pueden configurar IBM Tivoli Identity Manager para cargar ampliaciones JavaScript personalizadas. Para obtener información adicional acerca de las ampliaciones JavaScript personalizadas, consulte la información del archivo ITIM_HOME/data/scriptframework.properties. IBM Tivoli Identity Manager da soporte a dos intérpretes de scripts de Java: IBM JSEngine y Free EcmaScript Interpreter (FESI, ahora en desuso). Ambos intérpretes tienen soporte para la tercera edición (diciembre de 1999) de la especificación ECMA-262. La Tabla 6 en la página 39 enumera los componentes de host con soporte y las ampliaciones de script. 38 Consulta Tabla 6. Componentes de host y ampliaciones de script Componente de host Ampliación de script con soporte Descripción AccountTemplate ProvisioningPolicyExtension Los parámetros de la plantilla predeterminada de cuenta cargan las ampliaciones registradas por medio de esta clave. ServiceExtension SubjectExtension HostSelection ServiceModelExtension SubjectExtension IdentityPolicy IdentityPolicyExtension AttributesExtension Las políticas de selección de servicios cargan las ampliaciones registradas por medio de esta clave Las políticas de identidad cargan las ampliaciones registradas por medio de esta clave. ServiceExtension SubjectExtension OrphanAdoption Paquete de ampliaciones de modelo ServiceExtension Los scripts de adopción cargan las ampliaciones registradas por medio de esta clave. SubjectExtension PersonPlacementRules PersonPlacementRulesExtension ServiceExtension AttributesExtension Las reglas de colocación cargan las ampliaciones registradas por medio de esta clave durante las alimentaciones de identidades. PostOffice PostOfficeExtension Las plantillas de oficina de correos cargan las ampliaciones registradas por medio de esta clave. ProvisioningPolicy ProvisioningPolicyExtension Los parámetros de la política de suministro cargan las ampliaciones registradas por medio de esta clave. Paquete de ampliaciones de modelo ServiceExtension SubjectExtension AttributesExtension (en desuso) Reminder ReminderExtension SubjectExtension Workflow WorkflowExtension Paquete de ampliaciones de modelo LoopCountExtension Notificación de flujos de trabajo WorkflowExtension EmailContextExtension Las plantillas de recordatorio por correo electrónico cargan las ampliaciones registradas por medio de esta clave. Los scripts de flujo de trabajo que incluyen las Notificaciones de tareas pendientes de flujo de trabajo cargan las ampliaciones registradas por medio de esta clave. Las ampliaciones cargadas están codificadas internamente y se cargan todas las ampliaciones con soporte. PersonModelExtension Notificación de tareas pendientes WorkflowExtension (Approval/RFI/ Paquete de ampliaciones de modelo ComplianceAlert/WorkOrder) LoopCountExtension Las ampliaciones cargadas son las mismas que las de Workflow. Ampliaciones empaquetadas Esta sección describe las ampliaciones de script proporcionadas por IBM Tivoli Identity Manager, los objetos JavaScript que ponen a disposición y los scripts a los que se pueden aplicar estas ampliaciones en IBM Tivoli Identity Manager. Consulta 39 Estas ampliaciones no se deben eliminar del archivo de propiedades que configura, porque son necesarias para el funcionamiento estándar del producto. Todas las ampliaciones están preconfiguradas para las nuevas instalaciones. AttributesExtension El nombre completo de la ampliación es com.ibm.itim.script.extensions.AttributesExtension. Esta ampliación es responsable de hacer disponible el objeto ATTRIBUTES para scripts. ATTRIBUTES es un objeto de tipo correlación (Map) y se utiliza internamente para implementar los métodos en desuso Enrole.getAttributeValue() y Enrole.getAttributeValues(). AttributesExtension y el objeto de script ATTRIBUTES están en desuso y no se deben utilizar en ningún script nuevo. Disponibilidad IdentityPolicy PersonPlacementRules ProvisioningPolicy Objetos JavaScript ATTRIBUTES EmailContextExtension El nombre completo de la ampliación es com.ibm.itim.workflow.script.EmailContextExtension. EmailContextExtension proporciona el objeto EmailContext que proporciona información acerca de la actividad y proceso del flujo de trabajo que está realizando la notificación. EmailContext es de tipo WorkflowRuntimeContext, aunque puede ser un subtipo más específico, dependiendo de qué tipo de cambio ha desencadenado la notificación. Disponibilidad Notification Objetos JavaScript EmailContext EnroleExtension El nombre completo de la ampliación es com.ibm.itim.script.extensions.EnroleExtension. Esta ampliación se carga automáticamente para todos los scripts y no aparece en el archivo scriptframework.properties. Esta ampliación pone a disposición el objeto Enrole para los scripts. Este objeto proporciona varias funciones para convertir al formato de hora generalizada, y desde este formato. Disponibilidad Todos los scripts Objetos JavaScript Enrole 40 Consulta Error IdentityPolicyExtension El nombre completo de la ampliación es com.ibm.itim.policy.script.IdentityPolicyExtension. Esta ampliación pone a disposición el objeto IdentityPolicy para los scripts de política de identidad. Este objeto proporciona un método para probar la existencia de un ID de usuario. Disponibilidad Política de identidad Objetos JavaScript IdentityPolicy LoopCountExtension El nombre completo de la ampliación es com.ibm.itim.workflow.script.LoopCountExtension. Esta ampliación proporciona el objeto de script loopcount. El objeto es un entero que le dice al script cuántas veces tiene que ejecutarse un bucle. Disponibilidad Workflow Objetos JavaScript loopcount Paquete de ampliaciones de modelo Las ampliaciones de modelo ponen a disposición objetos JavaScript que se pueden utilizar para buscar personas, cuentas, servicios y unidades organizativas como organizaciones, unidades del negocio y ubicaciones. Importante: Los objetos expuestos por estas ampliaciones permiten el acceso a datos de identidad y de servicio sin tener en cuenta las reglas de control de accesos especificadas para estos datos. Los objetos deben considerarse privilegiados. Los elementos de control de accesos deben definir el acceso de gestión a los scripts de IBM Tivoli Identity Manager. Todas las ampliaciones de modelo tienen la misma disponibilidad y se pueden utilizar con los puntos de ampliación siguientes: v AccountTemplate v ProvisioningPolicy v HostSelection v OrphanAdoption v Workflow v Notification AccountModelExtension: El nombre completo de la ampliación es com.ibm.itim.script.extensions.model.AccountModelExtension. Consulta 41 La ampliación pone a disposición el constructor Account y el constructor AccountSearch para los scripts aplicables. Una vez construido, un objeto Account representa un objeto de directorio Account en scripts. El objeto AccountSearch proporciona métodos para buscar cuentas existentes basadas en varios parámetros, ID de usuario, propietario y servicio. Objetos JavaScript v AccountSearch v Account PersonModelExtension: El nombre completo de la ampliación es com.ibm.itim.script.extensions.model.PersonModelExtension. La ampliación pone a disposición el constructor Person y el constructor PersonSearch para los scripts aplicables. Una vez construido, un objeto Person representa un objeto de directorio Person en scripts. El objeto PersonSearch proporciona métodos para buscar personas existentes basadas en un filtro LDAP proporcionado. Objetos JavaScript v PersonSearch v Person OrganizationModelExtension: El nombre completo de la ampliación es com.ibm.itim.script.extensions.model.OrganizationModelExtension. Esta ampliación pone a disposición el constructor ContainerSearch para los scripts aplicables. El objeto ContainerSearch proporciona métodos para buscar contenedores organizativos basados en filtros LDAP. Objetos JavaScript ContainerSearch RoleModelExtension: El nombre completo de la ampliación es com.ibm.itim.script.extensions.model.RoleModelExtension. La ampliación pone a disposición el constructor Role y el constructor RoleSearch para scripts aplicables. Una vez construido, el objeto Role representa un objeto de directorio Role en scripts. El objeto RoleSearch proporciona un método para buscar roles basados en el nombre de rol. Objetos JavaScript v RoleSearch v Role ServiceModelExtension: El nombre completo de la ampliación es com.ibm.itim.script.extensions.model.ServiceModelExtension. 42 Consulta La ampliación pone a disposición el constructor Service y el constructor ServiceSearch para scripts aplicables. Una vez construido, el objeto Service representa un objeto de directorio Service en scripts. El objeto ServiceSearch proporciona métodos para buscar servicios basándose en varios parámetros, filtro LDAP y nombre del servicio. Objetos JavaScript v ServiceSearch v Service PersonPlacementRulesExtension El nombre completo de la ampliación es com.ibm.itim.remoteservices.script.PersonPlacementRulesExtension. Esta ampliación proporciona el objeto entry para el entorno de scripts. El objeto entry es de tipo correlación (Map) y contiene los valores de atributo para la persona que se especifica. Disponibilidad PersonPlacementRules Objetos JavaScript entry PostOfficeExtension El nombre completo de la ampliación es com.ibm.itim.mail.postoffice.script.PostOfficeExtension. La función de la oficina de correos reduce el número de mensajes de correo electrónico recibidos por los participantes de flujo de trabajo por medio de la combinación de notificaciones parecidas en un único correo electrónico. Los correos electrónicos se combinan por medio de una plantilla especificada en los paneles de configuración del sistema. Esta ampliación pone a disposición un objeto JavaScript, PostOffice, para los fragmentos de código JavaScript dentro de estas plantillas. Este objeto proporciona métodos para acceder a los diferentes correos electrónicos, la dirección de correo electrónico del destinatario, el tema del correo electrónico y los datos del destinatario. Disponibilidad Plantilla de oficina de correos Objetos JavaScript PostOffice ProvisioningPolicyExtension El nombre completo de la ampliación es com.ibm.itim.policy.script.ProvisioningPolicyExtension. Esta ampliación proporciona los objetos de script reason y parameters para el entorno de scripts. El objeto reason es un entero que permite a un script conocer el motivo por el cual se está realizando la evaluación: 0 si es una cuenta nueva o 1 si es una cuenta existente. El objeto parameters es una correlación (Map) que contiene la información acerca de la cuenta que se está evaluando. Actualmente, sólo se soporta el campo uid. Disponibilidad Consulta 43 AccountTemplate ProvisioningPolicy Objetos JavaScript parameters reason ReminderExtension El nombre completo de la ampliación es com.ibm.itim.script.extensions.ReminderExtension. Esta ampliación pone a disposición el objeto reminderCtx para los fragmentos de código JavaScript contenidos en los recordatorios de correo electrónico. Este objeto proporciona métodos para acceder al texto y el asunto del correo electrónico original junto con la fecha y hora de vencimiento de la tarea pendiente asociada. Disponibilidad Recordatorios de correo electrónico Objetos JavaScript reminderCtx ServiceExtension El nombre completo de la ampliación es com.ibm.itim.script.extensions.ServiceExtension. Esta ampliación exporta el objeto service para el entorno de scripts. El objeto service es de tipo DirectoryObject y representa el servicio asociado a una operación de suministro. Disponibilidad IdentityPolicy OrphanAdoption PersonPlacementRules AccountTemplate ProvisioningPolicy Objetos JavaScript service SubjectExtension El nombre completo de la ampliación es com.ibm.itim.script.extensions.SubjectExtension. Esta ampliación proporciona el objeto de script subject. En todos los contextos de scripts excepto para OrphanAdoption, subject es de tipo DirectoryObject. En el contexto de OrphanAdoption, subject es una correlación (Map) de los atributos devueltos por una conciliación. Disponibilidad HostSelection IdentityPolicy OrphanAdoption Reminder AccountTemplate ProvisioningPolicy 44 Consulta Objetos JavaScript subject WorkflowExtension El nombre completo de la ampliación es com.ibm.itim.workflow.script.WorkflowExtension. Esta ampliación pone a disposición los objetos JavaScript que se pueden utilizar para acceder a datos desde un proceso de flujo de trabajo en curso. Además, pone a disposición objetos que se pueden utilizar para obtener o establecer el estado y el resultado de una actividad o proceso de flujo de trabajo. Disponibilidad Workflows Objetos JavaScript v process v activity v participant v Datos relevantes Nota: Los datos relevantes son objetos definidos por el diseñador de flujos de trabajo. Compruebe con el administrador del sistema los nombres de objetos de datos relevantes específicos. Objetos de datos relevantes de JavaScript: Cada proceso dispone de un conjunto de datos relevantes o parámetros específicos del proceso, que pueden leerse o cambiarse desde un script de flujo de trabajo. El nombre y la sintaxis de estos parámetros, o los elementos de datos relevantes, se definen en el diseñador de flujos de trabajo y normalmente son específicos para el proceso del flujo de trabajo. Por ejemplo, al añadir un usuario, un objeto que contiene todos los atributos del nuevo usuario puede ser un elemento de datos relevantes. Sin embargo, cuando se suprime un usuario, el único elemento de datos relevantes necesario puede ser el nombre distinguido de un usuario que debe suprimirse. Cada elemento de datos relevantes se representará en el script de flujo de trabajo como una variable, con el mismo ID de datos relevantes definido en el diseñador de flujos de trabajo. Estos elementos de datos relevantes tendrán las funciones siguientes. get() Esta función devuelve un objeto JavaScript que representa el valor del elemento de datos relevantes. Aunque existe una variable presente para cada elemento de datos relevantes en el contexto del script, por motivos de rendimiento los valores no se recuperan del motor de flujo de trabajo hasta que el script lo solicita explícitamente, mediante esta llamada. El objeto JavaScript devuelto tendrá la misma sintaxis que se ha definido en el diseñador de flujos de trabajo. Uso: dn = subjectDN.get(); Donde subjectDN está definido como elemento de datos relevantes para el proceso actual. Consulta 45 set(Object value) La función set(Object value) cambia el valor del elemento de datos relevantes. Actualiza el elemento de datos relevantes no sólo en el script, sino también en el motor de flujo de trabajo. El nuevo valor es un parámetro para la función. El nuevo valor debe ser compatible con la sintaxis del elemento de datos relevantes definida en el diseñador de flujos de trabajo. Por ejemplo, si el elemento de datos relevantes es un entero, el valor ″cat″ no podrá ser un parámetro válido para esta función. Uso: ou.set("engineering"); Donde ou está definido como un elemento de datos relevantes para el proceso actual. Registro de ampliaciones JavaScript Es posible que las ampliaciones JavaScript no sean útiles o no resulten de aplicación para cada función de script de IBM Tivoli Identity Manager. Por ejemplo, una ampliación utilizada por las plantillas de oficina de correos puede no ser aplicable en los parámetros de Política de suministro. Una ampliación diseñada para una clase de script podría no cargarse o comportarse correctamente cuando se carga en otro tipo de script. IBM Tivoli Identity Manager tiene las clases de script que se enumeran en la Tabla 7 en la página 47. Las ampliaciones JavaScript se pueden registrar para cargarse y ejecutarse con cualquier combinación de estas clases de script. Las ampliaciones JavaScript están configuradas en estos archivos: scriptframework.properties (recomendado) Para todas las ampliaciones nuevas. Utilice este archivo para configurar las ampliaciones de script y otras funciones de scripts. Las ampliaciones JavaScript están registradas en el archivo ITIM_HOME/data/scriptframework.properties. Este archivo tiene el formato estándar de propiedades de Java clave[.subclave]=valor, donde la clave es el nombre asignado a la clase de script de destino, descrito en la Tabla 7 en la página 47 y el valor es el nombre completo de clase de la interfaz ScriptExtension. La subclave opcional se utiliza cuando se registra más de una ampliación para una clase de script. Nota: 1. IBM Tivoli Identity Manager se instala con un conjunto de ampliaciones para cada clase de script ya registrado en el archivo scriptframework.properties. No las elimine del archivo, ya que son necesarias para que el producto funcione correctamente. 2. Para evitar la posibilidad de un ataque por inyección de código, no utilice la función de JavaScript eval(). fesiextensions.properties (en desuso) Proporciona soporte para las ampliaciones JavaScript Free EcmaScript Interpreter (FESI) para versiones anteriores a la 5.0 de IBM Tivoli Identity Manager. No cree nuevas ampliaciones utilizando esta arquitectura en desuso. 46 Consulta Si continua utilizando el archivo en desuso fesiextensions.properties, guarde la biblioteca fesi.jar en el directorio ITIM_HOME/lib antes de actualizar a la versión 5 de IBM Tivoli Identity Manager. Reemplace el archivo nuevo instalado por el archivo personalizado fesi.jar después de que se haya completado la actualización. La línea siguiente registra una ampliación única para utilizar en los scripts de IBM Tivoli Identity Manager: ITIM.extension.IdentityPolicy=com.ibm.itim.policy.script.IdentityPolicyExtension Estas líneas de ejemplo registran varias ampliaciones para utilizar en los scripts de IBM Tivoli Identity Manager: ITIM.extension.IdentityPolicy.1=com.ibm.itim.policy.script.IdentityPolicyExtension ITIM.extension.IdentityPolicy.2=com.yourcompany.script.YourCustomExtension Tabla 7. Claves de clase de script Componente de host Clave de clase de script AccountTemplate ITIM.extension.AccountTemplate HostSelection ITIM.extension.HostSelection IdentityPolicy ITIM.extension.IdentityPolicy OrphanAdoption ITIM.extension.OrphanAdoption PersonPlacementRules ITIM.extension.PersonPlacementRules PostOffice ITIM.extension.PostOffice ProvisioningPolicy ITIM.extension.ProvisioningPolicy Reminder ITIM.extension.Reminder Workflow ITIM.extension.Workflow Notificación de flujos de trabajo ITIM.extension.Notification Notificación de tareas pendientes (Approval/RFI/ComplianceAlert/ WorkOrder) ITIM.extension.Notification Configuración de scriptframework.properties Utilice el archivo ITIM_HOME/data/scriptframework.properties, el cual proporciona documentación ampliada para estas tareas, para configurar las principales funciones de scripts. Las funciones principales de scripts son: Ampliaciones Especifica las ampliaciones a cargar para cada componente de host. Para cargar más de una única ampliación para cualquier componente de host dado, agregue un sufijo a la clave de propiedades (cada clave debe ser única). Por ejemplo: ITIM.extension.IdentityPolicy=com.ibm.itim.policy.script.IdentityPolicyExtension ITIM.extension.IdentityPolicy.service=com.ibm.itim.script.extensions.ServiceExtension Intérpretes Configura el intérprete a utilizar para cada componente de host. El valor predeterminado es IBM JSEngine. La otra opción es FESI, que sólo se puede utilizar si el archivo fesi.jar existe en ITIM_HOME/lib/ y sólo se debe utilizar por clientes de la versión 4.6 de IBM Tivoli Identity Manager y anteriores que escribieron sus propias ampliaciones personalizadas FESI. Consulta 47 Derivadores Todos los objetos disponibles para scripts son objetos Java reales, utilizados por IBM Tivoli Identity Manager. Para evitar problemas de seguridad, IBM Tivoli Identity Manager deriva estos objetos en derivadores. Utilice esta sección del archivo scriptframework.properties para cambiar los derivadores predeterminados utilizados por IBM Tivoli Identity Manager. Los scripts predeterminados proporcionados por IBM Tivoli Identity Manager, presuponen el uso de derivadores predeterminados, por lo que realizar cambios puede causar que las funciones dejen de trabajar. Esta sección sólo es para usuarios avanzados. Varios Determina si la información de perfil se recoge e incluye en el registro cronológico de rastreo y si se puede acceder a las contraseñas de texto sin formato desde los objetos Person y Account. Migración de ampliaciones FESI personalizadas en IBM JSEngine La migración de una ampliación FESI personalizada en una ampliación de script hace que el código sea más corto, fácil de leer y entendible. Para obtener información detallada y ejemplos acerca de cómo escribir ampliaciones nuevas, consulte la documentación que está instalada en ITIM_HOME/extensions/doc/javascript/javascript.html. El ejemplo siguiente muestra los pasos de migración. Método recomendado para manejar retornos de funciones Un método recomendado puede minimizar los problemas que se puedan producir debido a que existen diferencias en la forma en que FESI e IBM JSEngine manejan JavaScript, e implica valores de retorno implícitos de funciones. Por ejemplo, dadas estas sentencias: function sumValue() { var a = 3; var b = 2; a + b; } Con FESI, la función sumValue() devuelve 5 porque 5 es el resultado de la última ejecución de la sentencia en la función. Con IBM JSEngine, la expresión sumValue() devolverá null (nulo) porque no hay un retorno explícito. El código correcto para IBM JSEngine incluye una sentencia de retorno explícita: function sumValue() { var a = 3; var b = 2; return a + b; } Para mantener el código JavaScript coherente, el método recomendado es utilizar siempre un valor de retorno explícito en funciones. En el release anterior de Tivoli Identity Manager, algunos de los ejemplos de script de selección de servicios no utilizaban un valor de retorno explícito. Cualquier código JavaScript basado en estos ejemplos debe actualizarse de forma que contenga un valor de retorno explícito, para garantizar que el código siga funcionando después de una actualización para utilizar IBM JSEngine. 48 Consulta Ejemplo de POJO (Plain Old Java Object) Empiece con un Plain Old Java Object (POJO, en este ejemplo) que contenga toda la lógica empresarial para su ampliación. Por ejemplo: public class Extension { public static void log(String msg) { System.out.println(msg); } } En este caso, el POJO contiene un único método. Una ampliación típica contendrá mucha más lógica. Por ejemplo: static class FESIExtension implements JSExtension { public void initializeExtension(JSGlobalObject go) throws JSException { // Create the prototype final JSObject prototype = go.makeJSObject(); prototype.setMember("log", new JSFunctionAdapter() { public Object doCall(JSObject thisObject, Object[] args) throws JSException { if (args.length >= 1) { Extension.log(args[0].toString()); } return null; } }); final JSObject obj = go.makeJSObject(prototype); // This is the name of the object to be used in JavaScript Code go.setMember("CustomExtension", obj); go.setMember("log", new JSFunctionAdapter() { public Object doCall(JSObject thisObject, Object[] args) throws JSException { if (args.length >= 1) { Extension.log(args[0].toString()); } return null; } }); go.setMember("Logger", new JSFunctionAdapter() { public Object doNew(JSObject thisObject, Object[] args) throws JSException { JSGlobalObject go = thisObject.getGlobalObject(); JSObject proto = go.makeJSObject(); proto.setMember("log", new JSFunctionAdapter() { public Object doCall(JSObject thisObject, Object[] args) throws JSException { if (args.length >= 1) { Extension.log(args[0].toString()); } return null; } }); final JSObject obj = go.makeJSObject(proto); return obj; Consulta 49 } }); } } Esta ampliación FESI tiene tres partes principales: 1. Primero, la ampliación crea un objeto JSObject denominado prototype y agrega el método ″log″ a prototype: final JSObject prototype = go.makeJSObject(); prototype.setMember("log", new JSFunctionAdapter() { public Object doCall(JSObject thisObject, Object[] args) throws JSException { if (args.length >= 1) { Extension.log(args[0].toString()); } return null; } }); go.setMember("CustomExtension", obj); El objeto JSObject prototype se añade a continuación a JSGlobalObject con el nombre ″CustomExtension.″ Esto permite a los scripts llamar: CustomExtension.log("message"); 2. La segunda parte de la ampliación crea una función global denominada ″log″. go.setMember("log", new JSFunctionAdapter() { public Object doCall(JSObject thisObject, Object[] args) throws JSException { if (args.length >= 1) { Extension.log(args[0].toString()); } return null; } }); Ahora, un script puede simplemente llamar: log("message"); 3. La tercera parte de la ampliación crea un constructor que se puede llamar desde los scripts. Por ejemplo: go.setMember("Logger", new JSFunctionAdapter() { public Object doNew(JSObject thisObject, Object[] args) throws JSException { JSGlobalObject go = thisObject.getGlobalObject(); JSObject proto = go.makeJSObject(); proto.setMember("log", new JSFunctionAdapter() { public Object doCall(JSObject thisObject, Object[] args) throws JSException { if (args.length >= 1) { Extension.log(args[0].toString()); } return null; } }); final JSObject obj = go.makeJSObject(proto); return obj; } }); Esto permite a los scripts hacer lo siguiente: 50 Consulta var logger = new Logger(); logger.log("message"); Conversión a una ampliación de script Cuando convierte una ampliación FESI a una ampliación de script, la raíz de una ampliación de script es la interfaz ScriptExtension. Debe implementar esta interfaz para crear una ampliación de script nueva. public class ITIMExtension implements ScriptExtension { public List getContextItems() { } public void initialize(ScriptInterface si, ScriptContextDAO dao) throws ScriptException, IllegalArgumentException { } } Para crear un objeto nuevo que se pueda utilizar en scripts, cree una clase POJO que contenga toda la lógica empresarial e implemente la interfaz de marcador ExtensionBean. (Una interfaz de marcador significa que ExtensionBean no precisa que se le implemente ningún método y agrega cualquier dato nuevo a su clase). Un POJO que implementa ExtensionBean tiene un trato especial por parte de los componentes de scripts de IBM Tivoli Identity Manager. Si su clase no implementa ExtensionBean, los scripts no podrán utilizar los métodos proporcionados por POJO. Por ejemplo: public class Extension implements ExtensionBean { public static void log(String msg) { System.out.println(msg); } } En el método de inicialización de su ampliación, cree un ContextItem nuevo que contenga una instancia de su ampliación y agregue este ContextItem a una lista (List). ContextItem custom = ContextItem.createItem("CustomExtension", new Extension()); items.add(custom); Para crear una función nueva global, utilizará de nuevo ContextItem, pero esta vez llamará a createGlobalFunction. Por ejemplo: ContextItem func = ContextItem.createGlobalFunction("log", new GlobalFunction() { public Object call(Object[] parameters) throws ScriptEvaluationException { if (parameters.length >= 1) { Extension.log(parameters[0].toString()); } return null; } }); items.add(func); El segundo argumento para createGlobalFunction es un objeto GlobalFunction. GlobalFunction tiene un único método que debe implementar y llamar y es muy parecido al método doCall de JSFunctionAdapter de FESI. GlobalFunctions no se recomienda porque, como el método doCall, pasan una matriz de parámetros. Debe comprobar que todos los parámetros existen y que son del tipo correcto, lo que puede ser difícil de mantener durante el ciclo de vida de su ampliación. Consulta 51 Creación de un constructor nuevo Para crear un constructor nuevo, utilice de nuevo ContextItem y el método createConstructor. Por ejemplo: ContextItem logger = ContextItem.createConstructor("Logger", Extension.class); items.add(logger); El segundo parámetro de createConstructor es el objeto Class para el objeto que quiere construir. Normalmente es un objeto POJO que implementa ExtensionBean. En cada uno de estos ejemplos, se agrega el ContextItem a una lista (List). En el método getContextItems de ScriptExtension, debe devolver dicha lista. Por ejemplo, el código completo es: public class ITIMExtension implements ScriptExtension { private List<ContextItem> items; public List getContextItems() { return items; } public void initialize(ScriptInterface si, ScriptContextDAO dao) throws ScriptException, IllegalArgumentException { items = new ArrayList<ContextItem>(); ContextItem custom = ContextItem.createItem("CustomExtension", new Extension()); items.add(custom); ContextItem func = ContextItem.createGlobalFunction("log", new GlobalFunction() { public Object call(Object[] parameters) throws ScriptEvaluationException { if (parameters.length >= 1) { Extension.log(parameters[0].toString()); } return null; } }); items.add(func); ContextItem logger = ContextItem.createConstructor("Logger", Extension.class); items.add(logger); } } Descarga y utilización de fesi.jar desde un origen que no es de IBM Si quiere utilizar FESI, pero no tiene las bibliotecas necesarias, siga estos pasos para descargar y habilitar las bibliotecas. Si actualiza desde la versión 4.6 de IBM Tivoli Identity Manager, no es necesario que siga estos pasos, porque la versión correcta de la biblioteca de FESI se mantiene durante la actualización. 1. Primero, descargue la versión 1.1.8 de FESI (en el momento de escribir estos pasos, la última versión es la 1.1.8) desde http://www.lugrin.ch/fesi/. 52 Consulta a. Siga el enlace para descargar la versión actual, que mostrará la página de licencia. Acepte la licencia para continuar. b. Acceda a la página de descarga y descargue el archivo install-fesi-1.1.8.jar. 2. Después de que se haya descargado el archivo correctamente, lance el instalador escribiendo este mandato en la línea de mandatos: java –jar install-fesi-1.1.8.jar a. Siga los pasos restantes que el instalador proporciona para instalar FESI. Debido a que IBM Tivoli Identity Manager sólo necesita un archivo jar de la instalación, puede instalar FESI en una ubicación temporal que puede suprimir posteriormente. b. Una vez que haya finalizado la instalación, acceda a $FESI_INSTALL_DIR/ lib y localice el archivo fesi.jar. c. Copie el archivo fesi.jar en el directorio ITIM_HOME/lib. 3. Especifique dónde IBM Tivoli Identity Manager accede a fesi.jar. a. Inicie sesión en la Consola administrativa de WebSphere Application Server, que está normalmente en http://nombre_host:9060/ibm/console, donde nombre_host es específico para su sistema. b. Acceda a Entorno > Bibliotecas compartidas > ITIM_LIB. c. Al final del recuadro de texto Classpath, agregue la línea ${ITIM_HOME}/lib/fesi.jar. 4. Reinicie WebSphere Application Server para aplicar los cambios. 5. Edite el archivo scriptframework.properties para utilizar el intérprete de FESI. Cuando utiliza FESI, la infraestructura del script busca el archivo fesiextensions.properties para determinar las ampliaciones FESI a cargar. Si no existe este archivo, se escribirá un mensaje en el archivo trace.log para cada script que FESI ejecuta. Consulta de ampliaciones JavaScript La sección de consulta está ordenada alfabéticamente. Hay algunos objetos específicos de IBM Tivoli Identity Manager disponibles para su utilización. IBM Tivoli Identity Manager utiliza las ampliaciones JavaScript para empaquetar las API y los objetos JavaScript. Una ampliación también puede ser un paquete de otras ampliaciones (por ejemplo, ModelExtension). Después de definir una ampliación, se puede registrar en el archivo ITIM_HOME/data/ scriptframework.properties que se utilizará en un contexto específico de JavaScript. En algunos casos, se tiene que crear un entorno para una ampliación. La Tabla 8 muestra estas ampliaciones de script. Tabla 8. Ampliaciones de script Ampliación de script Nombre de objeto Tipo de objeto AttributesExtension (en desuso) ATTRIBUTES Map EmailContextExtension EmailContext EmailContext EnroleExtension Enrole Enrole Error error IdentityPolicyExtension IdentityPolicy IdentityPolicy LoopCountExtension loopcount int Consulta 53 Tabla 8. Ampliaciones de script (continuación) Ampliación de script Nombre de objeto Tipo de objeto PersonPlacementRulesExtension entry Map PostOfficeExtension PostOffice PostOffice ProvisioningPolicyExtension parameters reason Map int (0: cuenta nueva, 1: cuenta existente) AccountModelExtension Constructor Account Constructor AccountSearch Account AccountSearch OrganizationModelExtension Constructor ContainerSearch ContainerSearch PersonModelExtension Constructor Person Constructor PersonSearch Person PersonSearch RoleModelExtension Constructor Role Constructor RoleSearch Role RoleSearch ServiceModelExtension Constructor Service ServiceSearch Service ServiceSearch ReminderExtension reminderCtx Reminder ServiceExtension service DirectoryObject SubjectExtension subject Person Nota: Para JavaScript de regla de adopción de cuentas huérfanas, subject es una correlación (Map) que contiene los atributos de cuenta devueltos de la conciliación. A las entradas en la correlación se les hace referencia por el nombre de los atributos de cuenta, que pueden variar basándose en el tipo de servicio. WorkflowExtension process activity Participant constructor ParticipantType $RelevantDataName Process Activity Participant ParticipantType ProcessData Búsqueda de métodos y propiedades para un objeto específico de JavaScript Este ejemplo muestra cómo buscar métodos y propiedades para un objeto JavaScript específico. Si está escribiendo un script de flujo de trabajo, consulte el archivo scriptframework.properties para ver las ampliaciones disponibles. De forma predeterminada, el flujo de trabajo carga las ampliaciones de modelo, WorkflowExtension y LoopCountExtension. Observe en la Tabla 8 en la página 53 que WorkflowExtension define los objetos de scripts que incluyen process, activity, un constructor Participant, un objeto denominado ParticipantType y una serie de piezas de datos específicas del flujo de trabajo. En otra columna de la tabla, observe que el objeto process es de tipo Process. Ahora, localice Process en esta consulta para ver que el tipo Process tiene una propiedad denominada name y un método denominado getParent(). 54 Consulta Para entender cómo utilizar correlaciones, tenga en cuenta que los objetos, como parameters de ProvisioningPolicyExtension, son de tipo correlación (Map). Una correlación, también conocida como un diccionario, es un objeto JavaScript con nombre que puede albergar muchos otros objetos a los que se puede acceder por el nombre. El objeto parameters alberga otro objeto denominado uid. Para acceder a parameters, puede escribir parameters.uid[0]. (En este caso uid es una matriz, por lo que debe escribir [0] para obtener el primer elemento de la matriz). Los valores que una correlación contiene variarán en cada correlación. Para obtener más información, localice la correlación específica en la consulta de JavaScript. Cómo leer las páginas de consulta En esta sección se explica la estructura de cada elemento de consulta. Título y descripción Cada entrada de consulta empieza con un título y una descripción de una línea. Las entradas están en orden alfabético, según su título. La descripción de una línea ofrece un rápido resumen del elemento al que se refiere la entrada. Disponibilidad Las ampliaciones JavaScript de IBM Tivoli Identity Manager han cambiado a lo largo del tiempo. A menos que se indique lo contrario, todo aquello que esté disponible en una versión de las ampliaciones JavaScript de IBM Tivoli Identity Manager también está disponible en las versiones posteriores. En esta sección también se especifica si un elemento existente se ha mejorado con una versión posterior de las ampliaciones y cuándo un elemento pasa estar en desuso. No hay soporte para los elementos en desuso y podrán ser eliminados de futuras versiones de las ampliaciones de IBM Tivoli Identity Manager. Los elementos en desuso no se deben utilizar en el nuevo código JavaScript de IBM Tivoli Identity Manager. Suministrado por En la instalación, IBM Tivoli Identity Manager proporciona este conjunto inicial de ampliaciones registradas: v EnroleExtension v ProvisioningPolicyExtension v PostOfficeExtension v IdentityPolicyExtension v PersonPlacementRulesExtension v WorkflowExtension v ReminderExtension v ServiceExtension v SubjectExtension v v v v AttributesExtension LoopCountExtension EmailContextExtension Paquete de ampliaciones de modelo Hereda de Las clases JavaScript pueden heredar propiedades y métodos de otras clases. Cuando sucede esto, aparece una sección Hereda de en la entrada de consulta. Los métodos y campos heredados se encontrarán en las superclases de la lista. Por ejemplo, el objeto subject hereda todos sus campos y propiedades de la clase DirectoryObject. Consulta 55 Sinopsis Esta sección es una sinopsis de cómo utilizar el objeto, método, propiedad o función. Argumentos Si la página de consulta describe una función o método que tiene argumentos, la sinopsis estará seguida de la subsección Argumentos, que describe los argumentos de la función o método. En el caso de algunos objetos, la sección Sinopsis se sustituye por la sección Constructor, seguida también de la subsección Argumentos. Devuelve Si una función o método tiene un valor de retorno, la subsección Argumentos estará seguida por una subsección Devuelve, que explica el valor de retorno de la función, método o constructor. Propiedades Si en la página de consulta se habla de un objeto, en la sección Propiedades aparecerán las propiedades a las que da soporte el objeto y se proporcionarán breves explicaciones de cada una. Métodos La página de consulta de un objeto que define métodos incluye una sección Métodos. Descripción La mayoría de las entidades de consulta contienen una sección Descripción, que consiste en una descripción básica de todo lo que está documentado. En el caso de algunos métodos muy simples, las secciones Argumentos y Devuelve ofrecen una explicación suficiente del método, por lo que se omite la sección Descripción. Uso En esta sección se describen técnicas comunes para utilizar el elemento, o se ofrece información que se debe tener en cuenta. Ampliaciones JavaScript IBM Tivoli Identity Manager proporciona objetos JavaScript predefinidos para utilizarlos en el entorno de JavaScript. En esta sección se describen estos objetos y su uso. Account Cuenta asociada a una operación de suministro. Disponibilidad Tivoli Identity Manager 4.x Hereda de DirectoryObject Suministrado por com.ibm.itim.script.extensions.model.AccountModelExtension Constructor new Account(dn) Devuelve El objeto Account recién creado que representa la cuenta con el DN dado, el cual es una cadena. 56 Consulta Descripción El objeto Account está disponible en el contexto de una política de suministro y plantilla de cuenta. AccountSearch Busca una cuenta. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.script.extensions.model.AccountModelExtension Constructor new AccountSearch() Devuelve El objeto de búsqueda de cuenta recién creado e inicializado. Métodos searchByOwner() Busca una cuenta según el propietario. searchByUid() Busca una cuenta por ID de usuario. searchByUidAndService() Busca una cuenta por ID de usuario y servicio. Descripción La entidad implementa la clase AccountSearch de IBM Tivoli Identity Manager. AccountSearch.searchByOwner() Busca una entidad de cuenta según el nombre distinguido del propietario. Disponibilidad Tivoli Identity Manager 4.x Sinopsis AccountSearch.searchByOwner(personDN) Argumentos personDN Cadena que representa el nombre distinguido del propietario de la cuenta. Descripción Dado el nombre distinguido de la persona, busca las entidades de cuenta que son propiedad de la persona. Esta función devolverá null (nulo) si no se encuentra la persona. Uso var account = (new AccountSearch()).searchByOwner(person.dn); if (account!=null) { Enrole.log("script", "Found " + account.length + " accounts");} AccountSearch.searchByUid() Busca una entidad de cuenta según el ID de usuario y el nombre distinguido de un servicio. Consulta 57 Disponibilidad Tivoli Identity Manager 4.x Sinopsis AccountSearch.searchByUid(uid, serviceDN) Argumentos uid Cadena que representa el ID de usuario de la cuenta. serviceDN Cadena que representa el nombre distinguido de la cuenta. Descripción Dado el ID de usuario de la cuenta y el nombre distinguido del servicio, busca la entidad de cuenta. Esta función devolverá null (nulo) si no hay una cuenta que coincida exactamente, o si no se encuentra el servicio. Uso var account = (new AccountSearch()).searchByUid("pallen", service.dn); if (account!=null) { Enrole.log("script", "Found account pallen"); } AccountSearch.searchByUidAndService() Busca una entidad de cuenta según el ID de usuario y el nombre de servicio. Disponibilidad Tivoli Identity Manager 4.x Sinopsis AccountSearch.searchByUidAndService(uid, serviceName) Argumentos uid Cadena que representa el ID de usuario de la cuenta. serviceName Cadena que representa el nombre del servicio. Descripción Dado el ID de usuario de la cuenta y el nombre del servicio, busca la entidad de cuenta. Esta función devolverá null (nulo) si no hay una cuenta que coincida exactamente, o si hay más de un servicio con el nombre especificado. Uso var account = (new AccountSearch()).searchByUidAndService ("pallen", "NT Domain Controller"); if (account!=null) { Enrole.log("script", "Found account pallen"); } Activity Se utiliza para hacer referencia a cualquier actividad en un flujo de trabajo de IBM Tivoli Identity Manager. Disponibilidad Tivoli Identity Manager 4.x Suministrado por El objeto JavaScript Activity en WorkflowExtension devuelve un objeto Activity que representa la actividad del flujo de trabajo actual que se puede utilizar en el contexto de un postscript de actividad de flujo de 58 Consulta trabajo o en un script de transición, para hacer referencia a la actividad actual. Para un script de transición, este objeto representará la actividad cuya finalización ha desencadenado la evaluación del script de transición. Process.getActivity() puede devolver cualquier objeto Activity en el contexto de un proceso de flujo de trabajo. Para obtener más información, consulte la descripción de este método. Código de resumen de resultados de actividad APPROVED Código de resumen de un proceso aprobado. El código de resultado es AA. ESCALATED Código de resumen de un proceso intensificado. El código de resultado es ES. FAILED Código de resumen de un proceso erróneo. El código de resultado es SF. PARTICIPANT_RESOLVE_FAILED Código de resumen de un proceso erróneo resuelto por el participante. El código de resultado es PF. PENDING Código de resumen de un proceso pendiente. El código de resultado es PE. REJECTED Código de resumen de un proceso rechazado. El código de resultado es AR. SUBMITTED Código de resumen de un proceso enviado. El código de resultado es RS. SUCCESS Código de resumen de un proceso correcto. El código de resultado es SS. TIMEOUT Código de resumen de un proceso que ha excedido el tiempo de espera. El código de resultado es ST. WARNING Código de resumen de un proceso de aviso. El código de resultado es SW. Propiedades description Describe la finalidad de la actividad especificada cuando se definió en el diseñador de flujos de trabajo. id Asignado por el diseñador de flujos de trabajo para identificar de forma exclusiva la actividad de flujo de trabajo del motor de flujo de trabajo. index Índice de la instancia de la actividad. name Etiqueta que se otorga a esta actividad cuando se define en el diseñador de flujos de trabajo. Consulta 59 participant Participante de la actividad, según se define en el diseñador de flujos de trabajo. resultDetail Una cadena específica de la aplicación que proporciona más detalles sobre el resultado de la actividad. resultSummary Una cadena específica de la aplicación que representa el resultado de resumen de la actividad. started Indica cuándo se inició la actividad. state Código que representa el estado actual de la actividad. subtype Código que categoriza la actividad más allá del tipo de la actividad, como por ejemplo, la aprobación o solicitud de información. type Código que categoriza la actividad especificada cuando se define en el diseñador de flujos de trabajo, como por ejemplo, manual o aplicación. Métodos auditEvent() Crea un suceso en el seguimiento de auditoría específico para la actividad. setResult() Cambia el miembro de resultado de la actividad en la actividad actual. Descripción Esta entidad representa la actividad de flujo de trabajo actual que se está ejecutando. Dentro del contexto de un script de transición de flujo de trabajo, esta entidad representará la actividad cuya finalización ha desencadenado la evaluación del script de transición. No hay ningún constructor disponible para crear este objeto en ningún contexto de IBM Tivoli Identity Manager. Activity.auditEvent() Crea un suceso en el seguimiento de auditoría. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.auditEvent(event) Argumentos event Cadena que representa el suceso que se auditará. Descripción Este método creará un suceso en el seguimiento de auditoría específico para la actividad. La función acepta un parámetro que puede ser cualquier objeto JavaScript que pueda convertirse en una cadena para su almacenamiento. En el seguimiento de auditoría, se agregará automáticamente una indicación de fecha y hora al suceso. 60 Consulta Uso activity.auditEvent("Task completed"); Activity.description Finalidad de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.description Descripción Este campo de sólo lectura es una cadena que describe la finalidad de la actividad especificada cuando se definió en el diseñador de flujos de trabajo. Uso x = activity.description; Activity.id Identificador exclusivo asignado a la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.id Descripción Este campo de sólo lectura es una cadena asignada por el diseñador de flujos de trabajo para identificar de forma exclusiva la actividad de flujo de trabajo del motor de flujo de trabajo. Uso x = activity.id; Activity.index Índice de la instancia de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.index Descripción Este campo de sólo lectura es un número. Si hay más de una instancia de esta actividad, como por ejemplo, en el caso en que se llame varias veces a la actividad del ID especificado dentro de un bucle del proceso de flujo de trabajo, el valor empezará en uno. Si sólo hay una instancia de esta actividad, el valor index será cero. Uso x = activity.index; Activity.name Etiqueta asignada a la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.name Descripción Este campo de sólo lectura es una cadena asignada por el flujo de trabajo para etiquetar esta actividad. Consulta 61 Uso x = activity.name; Activity.participant Participante de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.participant Descripción Este campo de sólo lectura es un participante que representa al participante de la actividad. No todas las actividades tienen un participante. Si no hay ningún participante asociado con la actividad, este miembro está vacío. Uso x = activity.participant; Activity.resultDetail Información detallada acerca del resultado de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.resultDetail Descripción Este campo de sólo lectura es una cadena específica de la aplicación que proporciona más información sobre el resultado de la actividad. Uso x = activity.resultDetail; Activity.resultSummary Resumen del resultado de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.resultSummary Resumen Este campo de sólo lectura es una cadena específica de la aplicación que proporciona un resumen del resultado de la actividad. Puede representar un resultado correcto o erróneo. Uso x = activity.resultSummary; Activity.setResult() Cambia el miembro de resultado de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.setResult(summary) activity.setResult(summary, detail) Argumentos summary Código de cadena que representa el resumen del resultado. 62 Consulta detail Cadena que representa los detalles del resultado. Descripción Este método cambiará el miembro de resultado de la actividad en la actividad actual. Está soportado para las actividades actuales en el proceso de flujo de trabajo actual. El resultado se compone de un código de resumen específico de la aplicación y de una descripción opcional más detallada específica de la aplicación. El código de resumen puede indicar si un resultado es correcto o no. Este código de resumen se almacena como miembro resultSummary localmente, y se actualiza en los datos relevantes del motor de flujo de trabajo. La información detallada se almacena como miembro resultDetail localmente y se actualiza en los datos relevantes del motor de flujo de trabajo. Uso activity.setResult(activity.FAILED); activity.setResult(activity.FAILED, "Unable to connect to resource"); Activity.started Fecha que indica el momento en que se inició la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.started Descripción Este campo de sólo lectura es una cadena que representa la fecha que indica el momento en el que se inició la actividad. Uso x = activity.started; Activity.state Estado actual de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.state Descripción Este campo de sólo lectura es una cadena de código que representa el estado actual de la actividad. El estado puede tener los siguientes valores: v R para en ejecución v v v v v v I para no iniciado T para terminado A para anulado S para suspendido C para completado B para omitido Uso if (activity.state == "S") { ... } Consulta 63 Activity.subtype Subtipo de la actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.subtype Descripción Este campo de sólo lectura es una cadena de código que categoriza la actividad más allá del tipo de la actividad, como por ejemplo, la aprobación o solicitud de información. Se define en el diseñador de flujos de trabajo. No todas las actividades tienen un subtipo. Si no hay ningún subtipo asociado con la actividad, este miembro está vacío. Los subtipos soportados actualmente son: v AP para aprobación v RI para solicitud de entrada v WO para orden de trabajo Uso x = activity.subtype; Activity.type Tipo de actividad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis activity.type Descripción Este campo de sólo lectura es cadena de código que categoriza la actividad especificada cuando se define en el diseñador de flujos de trabajo, como por ejemplo, manual o de aplicación. Los tipos soportados actualmente son: v S para subproceso v L para bucle v A para aplicación v R para ruta v M para manual v O para operación Uso x = activity.type; AttributeChangeOperation Entidad de la operación de cambio de atributo. Disponibilidad Tivoli Identity Manager 4.x Suministrado por Los objetos AttributeChangeOperation se devuelven desde el método DirectoryObject.getChanges() y, por lo tanto, ninguna ampliación específica los proporciona. Propiedades attr 64 Consulta Nombre del atributo que se está cambiando. op Un entero que identifica el tipo de cambio que se está realizando. values[] Una matriz de objetos que deben agregarse, eliminarse o sustituirse. Descripción Esta entidad representa los cambios realizados sobre un objeto de IBM Tivoli Identity Manager. AttributeChangeOperation.attr Nombre del atributo que se está cambiando. Disponibilidad Tivoli Identity Manager 4.x Sinopsis attributeChangeOperation.attr Descripción El valor es el atributo que se está cambiando. Uso x = attributeChangeOperation.attr; AttributeChangeOperation.op Tipo de cambio que se está realizando. Disponibilidad Tivoli Identity Manager 4.x Sinopsis attributeChangeOperation.op Descripción Este campo de sólo lectura es un número que identifica el tipo de cambio que se está realizando. Los valores son: v 1 para agregar v 2 para sustituir v 3 para eliminar Uso x = attributeChangeOperation.op; AttributeChangeOperation.values[] Nombre del atributo que se está cambiando. Disponibilidad Tivoli Identity Manager 4.x Sinopsis attributeChangeOperation.values[] Descripción Este campo de sólo lectura es una matriz de objetos que se deben agregar, eliminar o sustituir. Uso x = attributeChangeOperation.values[1]; ContainerSearch Busca un contenedor organizativo. Disponibilidad Tivoli Identity Manager 4.x Consulta 65 Suministrado por com.ibm.itim.script.extensions.model.OrganizationModelExtension Constructor new ContainerSearch() Devuelve El objeto de búsqueda de contenedor recién creado e inicializado. Métodos searchByFilter() Busca un contenedor por medio de un filtro. Descripción Implementa la clase OrganizationalContainerSearch de IBM Tivoli Identity Manager. ContainerSearch.searchByFilter() Busca un contenedor por medio de un filtro. Disponibilidad Tivoli Identity Manager 4.x Sinopsis containerSearch.searchByFilter(profileName, filter, scope) Argumentos profileName Nombre de cadena del perfil de contenedor organizativo que se utilizará. filter Cadena de filtro de búsqueda LDAP que define los criterios que deben satisfacer los contenedores devueltos. El filtro debe estar en el formato definido por RFC2254. scope Entero de ámbito de búsqueda opcional. Utilice 1 para el ámbito de un nivel y 2 para el ámbito de subárbol. El ámbito de un nivel es el ámbito predeterminado. Devuelve Una matriz de DirectoryObjects que representa los resultados de la búsqueda. Descripción Este método buscará un contenedor por medio de un filtro. Uso var locationContainer = new ContainerSearch(); // use subtree scope var thisLocation = locationContainer.searchByFilter(“Location”, “(l=Raleigh)”, 2); // use default one level scope var otherLocation = locationContainer.searchByFilter(“Location”, “(l=Raleigh)”); Context Contexto del proceso de flujo de trabajo en ejecución actualmente (por ejemplo, solicitante o asunto). Sólo se utiliza para los flujos de trabajo de titularidad. Nota: Este tipo de objeto está en desuso. Se deben utilizar los objetos JavaScript de flujo de trabajo, como por ejemplo, Process, Activity, y datos relevantes. 66 Consulta Algunas funciones específicas de cuenta de la ampliación JavaScript Context, incluidas getService(), isAccountDataChanged() y getAccountParameter() no se pueden aplicar a los flujos de trabajo de operación que no están relacionados con la cuenta. La ampliación JavaScript Context no está recomendada para su uso en los flujos de trabajo personalizados. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.workflow.script.WorkflowExtension Constantes del contexto APPROVED Esta constante se utiliza para describir el resultado de una actividad. El miembro se aplica sólo a tipos de actividad de aprobación. Uso if (context.getActivityResult() == context.APPROVED) {... REJECTED Esta constante se utiliza para describir el resultado de una actividad. Este miembro se aplica sólo a tipos de actividad de aprobación. Uso if (context.getActivityResult() == context.REJECTED) {... NEWACCOUNT Esta constante se utiliza para identificar el tipo de solicitud que desencadena la ejecución del flujo de trabajo personalizado. Uso if (context.getProcessType() == context.NEWACCOUNT) {... ACCOUNTDATACHANGE Esta constante se utiliza para identificar el tipo de solicitud que desencadena la ejecución del flujo de trabajo personalizado. Uso if (context.getProcessType() == context.ACCOUNTDATACHANGE) {... Métodos getAccountParameter() Devuelve el valor de un atributo de cuenta. getActivityResult() Devuelve el resultado de la actividad para la actividad actual. getActivityResultByID() Devuelve el resultado de la actividad para una actividad específica. getLoopCount() Devuelve el número de bucles para la actividad de bucle actual. getLoopCountByID() Devuelve el número actual de bucles para una actividad de bucle específica. Consulta 67 getProcessType() Devuelve el tipo de solicitud que desencadena el proceso de flujo de trabajo personalizado. getRequestee() Devuelve la persona a la que se solicita asociada a la solicitud como objeto Person. getService() Devuelve el servicio de destino como un objeto de entidad Service. isAccountDataChanged() Identifica si se ha modificado un atributo de cuenta específico en la solicitud que desencadena el proceso de flujo de trabajo personalizado. Descripción El contexto del proceso de flujo de trabajo actualmente en ejecución (por ejemplo, solicitante o asunto) se representa dentro de JavaScript como un objeto denominado context. Context.getAccountParameter() Devuelve el valor de un atributo de cuenta. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getAccountParameter(String attributeName) Argumentos attributeName Cadena que representa el nombre de atributo. Devuelve Valor de cadena del atributo de cuenta. Descripción Esta función de miembro devuelve el valor de un atributo de cuenta como una cadena. Uso parameter=context.getAccountParameter("group"); Context.getActivityResult() Devuelve el resultado de la actividad para la actividad actual. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getActivityResult() Devuelve Cadena Descripción Esta función de miembro devuelve el resultado de la actividad para la actividad actual. La función devuelve APPROVED o REJECTED. Si esta función se utiliza para especificar una condición de transición, la función hace referencia a la actividad de la cual proviene la transición. Uso 68 Consulta if (context.getActivityResult() == context.APPROVED) {... Context.getActivityResultById() Devuelve el resultado de la actividad para una actividad específica. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getActivityResultById(String activityDefinitionID) Argumentos activityDefinitionID ID de cadena de la definición de la actividad. Devuelve Cadena Descripción Esta función de miembro devuelve el resultado de la actividad para una actividad especificada. La función devuelve APPROVED o REJECTED. Uso if (context.getActivityResultByID("1234567890") == context.APPROVED) {... Context.getLoopCount() Devuelve el número de bucles para la actividad de bucle actual. Disponibilidad Tivoli Identity Manager 4.x Sinopsis getLoopCount() Devuelve Entero de número de bucles. Descripción Esta función de miembro devuelve el número de bucles para la actividad de bucle actual. Si se llama a esta función antes de iniciar un bucle, el número de bucles será 0. Si se llama a esta actividad mientras la actividad de bucle está en curso, el número de bucles será el número de veces que se ha ejecutado el bucle. Si se llama a esta función cuando el bucle ha finalizado, el recuento de bucles es el número total de veces que se ha definido que debe ejecutarse el bucle. Uso currentiteration = context.getLoopCount(); Context.getLoopCountByID() Devuelve el número actual de bucles para una actividad de bucle específica. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getLoopCountByID(String activityDefinitionID) Argumentos activityDefinitionID ID de la definición de la actividad. Devuelve Entero Consulta 69 Descripción Esta función de miembro devuelve el recuento de bucles actual para una actividad de bucle específica. Si se llama a esta función antes de iniciar el bucle, el número de bucles será 0. Si se llama a esta función mientras la actividad de bucle está en curso, el número de bucles será el número de veces que se ha ejecutado el bucle. Si se llama a esta función cuando el bucle ha finalizado, el recuento de bucles es el número total de veces que se ha definido que debe ejecutarse el bucle. Uso currentiteration = context.getLoopCount("1234567890"); Context.getProcessType() Devuelve el tipo de solicitud que desencadena el proceso de flujo de trabajo personalizado. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getProcessType() Devuelve Cadena Descripción Esta función de miembro devuelve el tipo de solicitud que desencadena el proceso de flujo de trabajo personalizado. La función devuelve NEWACCOUNT o ACCOUNTDATACHANGE. Uso if (context.getProcessType() == context.NEWACCOUNT) {... Context.getRequestee() Devuelve la persona a la que se solicita asociada a la solicitud como objeto Person. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getRequestee(); Devuelve Objeto DirectoryObject que representa a un objeto Person. Descripción Esta función de miembro devuelve la persona a la que se solicita asociada con la solicitud como un objeto Person. La persona a la que se solicita es el usuario propietario de la cuenta suministrada asociada. Uso requestee = context.getRequestee(); Context.getService() Devuelve el servicio de destino como un objeto de entidad Service. Disponibilidad Tivoli Identity Manager 4.x Sinopsis context.getService() Devuelve DirectoryObject 70 Consulta Descripción Esta función de miembro devuelve el servicio de destino como un objeto de entidad Service. La entidad service es el servicio asociado a la cuenta suministrada. Uso service = context.getService(); Context.isAccountDataChanged() Identifica si se ha modificado un atributo de cuenta específico en la solicitud que desencadena el proceso de flujo de trabajo personalizado. Disponibilidad Tivoli Identity Manager 4.x Sinopsis isAccountDataChanged(String attributeName) Descripción Esta función de miembro identifica si un atributo de cuenta específico se ha cambiado en la solicitud que desencadena el proceso de flujo de trabajo personalizado. Si la solicitud que desencadena el flujo de trabajo personalizado es NEWACCOUNT y el atributo se encuentra en los parámetros de la nueva cuenta, esta función devuelve TRUE. De lo contrario, esta función devuelve FALSE. Si la solicitud que desencadena el flujo de trabajo personalizado es ACCOUNTDATACHANGE y se cambia el atributo especificado, esta función devuelve TRUE. De lo contrario, esta función devuelve FALSE. Uso if (context.isAccountDataChanged("group")) {... DirectoryObject Cualquier entidad u objeto de directorio de IBM Tivoli Identity Manager. Disponibilidad Tivoli Identity Manager 4.x Constructor No hay constructor específico para este objeto. Los constructores específicos para Account, Person, Role y Service devuelven DirectoryObject. Por ejemplo, new Service() devuelve un objeto DirectoryObject. Propiedades dn Cadena que representa el nombre distinguido de la entidad. name Cadena que representa el nombre lógico de la entidad. Métodos getChanges() Devuelve los cambios realizados sobre la entidad. getProperty() Devuelve los valores de la propiedad especificada por el nombre indicado. getPropertyNames() Devuelve una lista de propiedades (atributos y relaciones). removeProperty() Elimina la propiedad especificada. Consulta 71 setProperty() Cambia el valor de la propiedad especificada o agrega la propiedad especificada, si todavía no existe. Descripción Este objeto representa una entidad de IBM Tivoli Identity Manager en el entorno de JavaScript. Cada entidad de IBM Tivoli Identity Manager se deriva en una de estas clases de objetos. DirectoryObject.dn Nombre distinguido del objeto. Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.dn Descripción Este campo de sólo lectura es una cadena que proporciona el nombre distinguido del objeto. Si el objeto contiene información que todavía no se ha creado, no existirá ningún valor. Uso x = directoryObject.dn; DirectoryObject.getChanges() Devuelve los cambios realizados sobre la entidad. Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.getChanges() Devuelve Una matriz de objetos de cambio. Si no hay ningún cambio, se devuelve una matriz vacía. Cada elemento de la matriz es AttributeChangeOperation. Descripción Este método devolverá los cambios realizados sobre la entidad. Estos cambios están representados por objetos de cambio con los miembros siguientes: attr Nombre de cadena del atributo que se está cambiando. op Un entero que identifica el tipo de cambio que se está realizando. Los valores enumerados son 1 para agregar, 2 para sustituir y 3 para eliminar. values Una matriz de objetos que deben agregarse, eliminarse o sustituirse. Los cambios se devuelven como una matriz de estos objetos de cambio. Si no hay ningún cambio, se devuelve una matriz vacía. Uso changes = directoryObject.getChanges(); for (i = 0; i < changes.length; i++) { name = changes[i].attr; if (changes[i].op == 1) { ... } else if (changes[i].op == 2) { ... 72 Consulta } else { ... } }; DirectoryObject.getProperty() Devuelve los valores de la propiedad especificada por el nombre indicado. Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.getProperty(name) Argumentos name Cadena que representa el nombre de la propiedad que se devolverá. Devuelve Una cadena o un objeto DirectoryObject. El tipo de objeto devuelto depende de la propiedad obtenida. Si la propiedad especificada no existe, se devolverá una matriz vacía. Descripción Este método devolverá los valores de la propiedad especificada por el nombre indicado. El tipo de objeto devuelto depende de la propiedad obtenida. Si la propiedad especificada no existe, se devolverá una matriz vacía. El nombre de la propiedad puede ser un nombre de atributo o un nombre de relación. Para un nombre de atributo, se devuelve una cadena String[]; para un nombre de relación, se devuelve una matriz de DirectoryObjects. Si un atributo y una relación tienen el mismo nombre, se devuelve el atributo. Por ejemplo, una entidad Account tiene tanto un atributo de propietario como una relación de propietario. Uso Cuando se trabaja con una cuenta, por ejemplo, la propiedad de ID de usuario puede devolver una cadena, mientras que la propiedad de propietario puede devolver otra entidad (DirectoryObject). A continuación, la entidad owner puede funcionar con el miembro getProperty() para obtener información sobre él. userids = directoryObject.getProperty("eruid"); if (userids.length > 0) userid = userids[0]; owner = directoryObject.getProperty("owner"); if (owner.length > 0) ownerName = owner.getProperty("name")[0]; Nota: Estas sentencias presuponen que se devuelve al menos un valor. Si no se devuelve ningún valor, se producirá una infracción de la indexación de la matriz. El método getProperty devuelve una matriz Java de objetos que se almacena realmente en un objeto JavaArray de JavaScript. Al contrario de una matriz JavaScript estándar, los objetos JavaArray se utilizan para acceder a los miembros de una matriz Java. Ya que no se puede cambiar el tamaño de las matrices Java, tampoco se puede cambiar el tamaño de un objeto JavaArray. Además, los objetos JavaArray se establecen en tipos. Si se establece un elemento JavaArray en el tipo equivocado, se producirá un error de JavaScript. Consulta 73 DirectoryObject.getPropertyNames() Devuelve una lista de propiedades (atributos y relaciones). Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.getPropertyNames() Devuelve Una matriz de cadenas. Descripción Este método devolverá una lista de propiedades como matriz de cadenas. Una propiedad puede ser un atributo o una relación. Uso properties = directoryObject.getPropertyNames(); DirectoryObject.name Nombre lógico del objeto. Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.name Descripción Este campo de sólo lectura es una cadena que proporciona el nombre lógico del objeto, representado como una cadena. El atributo físico utilizado como el nombre puede ser diferente para cada tipo de objeto. Uso x = directoryObject.name; DirectoryObject.removeProperty() Elimina la propiedad especificada por el nombre indicado. Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.removeProperty(name) Argumentos name Cadena que representa el nombre de la propiedad que se eliminará. Descripción Este método eliminará la propiedad especificada. Este cambio se realiza localmente en el entorno del script, no en el almacén de datos. El nombre de la propiedad puede ser un nombre de atributo o un nombre de relación. Uso directoryObject.removeProperty("eruid"); DirectoryObject.setProperty() Establece el valor de la propiedad especificada. Disponibilidad Tivoli Identity Manager 4.x Sinopsis directoryObject.setProperty(name, value) Argumentos 74 Consulta name Cadena que representa el nombre de la propiedad que se creará/modificará. value El valor en el que se establecerá la propiedad. Descripción Este método cambia el valor de la propiedad especificada o agrega la propiedad especificada si todavía no existe. Este cambio se realiza localmente en el entorno del script, no en el almacén de datos. El valor puede ser un objeto de valor único o una matriz de objetos. El tipo de valor (sintaxis) del objeto debe ser compatible con la sintaxis de la propiedad especificada. Este método está disponible para los siguientes tipos de datos: v v v v v v v Uso void void void void void void void setProperty(String setProperty(String setProperty(String setProperty(String setProperty(String setProperty(String setProperty(String name, name, name, name, name, name, name, Collection value); Date value); Map value); boolean value); byte value); String value); number value); directoryObject.setProperty("eruid", "jdoe"); El método getProperty devuelve una matriz Java de objetos que se almacena realmente en un objeto JavaArray de JavaScript. Al contrario de una matriz JavaScript estándar, los objetos JavaArray se utilizan para acceder a los miembros de una matriz Java. Ya que no se puede cambiar el tamaño de las matrices Java, tampoco se puede cambiar el tamaño de un objeto JavaArray. Además, los objetos JavaArray se establecen en tipos. Si se establece un elemento JavaArray en el tipo equivocado, se producirá un error de JavaScript. En IBM Tivoli Identity Manager, un objeto JavaArray no se puede pasar directamente al método setProperty. La matriz JavaArray se establece en una matriz JavaScript estándar de la manera siguiente: jsAliases = new Array(); myPerson = person.get(); aliases = myPerson.getProperty("eraliases"); for (i=0; i < aliases.length; i++) { jsAliases[i] = aliases[i]; } jsAliases[aliases.length] = "myNewAlias"; myPerson.setProperty("eraliases", jsAliases); person.set(myPerson); EmailContext Proporciona acceso a la información contextual específica de un tipo de notificación que se está enviando. Algunos métodos para acceder a la información cambian en función de los tipos de notificación enumerados a continuación. (No se da soporte a Reminder/Approval/ RFI/WorkOrder/ComplianceAlert Notification). v Plantilla de tiempo de espera de actividad v Plantilla de cambio de cuenta v Plantilla de conformidad v Plantilla de cuenta nueva Consulta 75 v v v v v Plantilla Plantilla Plantilla Plantilla Plantilla de de de de de contraseña nueva finalización de proceso tiempo de espera de proceso restauración de cuenta suspensión de cuenta Disponibilidad Tivoli Identity Manager 4.6 Suministrado por com.ibm.itim.workflow.script.EmailContextExtension Sinopsis Los métodos documentados en esta sección se deben llamar como un objeto EmailContext. Por ejemplo: notificationActivity=EmailContext.getActivity(); owner=EmailContext.getAccountOwnerName() Métodos comunes Estos métodos están disponibles para todos los tipos de notificaciones: getActivity() Devuelve información sobre la actividad en ejecución más reciente. (Devuelve el objeto Java ActivityInfoOC.)Para obtener información de actividad del objeto JavaScript, utilice el objeto ‘activity’. getActivity(java.lang.String actDefID) Devuelve información sobre la actividad con el ID de definición dado. (Devuelve el objeto Java ActivityInfoOC) Esto obtiene información mediante el proceso de flujo de trabajo Process.$dataName.get(). Para obtener información de actividad del objeto JavaScript, utilice ‘process.getActivity(java.lang.String actDefID)’. getParentProcess() Devuelve información acerca del proceso principal del proceso padre que se está ejecutando actualmente. (Devuelve el objeto Java ProcessInfoOC) Para obtener información de proceso del proceso padre del objeto JavaScript, utilice ‘process.getParent()’. getProcess() Devuelve información acerca del proceso que se está ejecutando actualmente. (Devuelve el objeto Java ProcessInfoOC) Para obtener información de proceso del proceso padre del objeto JavaScript, utilice el objeto ‘process’. getRootProcess() Devuelve información acerca del proceso raíz del proceso que se está ejecutando actualmente. (Devuelve el objeto Java ProcessInfoOC) Para obtener información de proceso del proceso padre del objeto JavaScript, utilice ‘process.getRootProcess()’). Métodos de notificación de cuentas Estos métodos están disponibles para todos los tipos de notificaciones de cuenta: getAccountOwnerName() Devuelve el nombre del propietario de la cuenta para la cuenta. 76 Consulta getAccountServiceName() Devuelve el nombre de servicio de la cuenta para la cuenta. getAccountServiceProfileName() Devuelve el nombre del perfil de servicio de la cuenta para la cuenta. getAccountUserId() Devuelve el ID de usuario de la cuenta para la cuenta. hasNewAccess() Devuelve true si la cuenta tiene un acceso nuevo y false de lo contrario. hasRemovedAccess() Devuelve true si la cuenta tiene un acceso eliminado y false de lo contrario. getAccountNewAccessAsString() Devuelve una cadena que contiene una lista de accesos nuevos separados por comas. getAccountNewAccessList() Devuelve una matriz de cadena que contiene el acceso nuevo. getAccountRemovedAccessAsString() Devuelve una cadena que contiene la lista de accesos eliminados separados por comas. getAccountRemovedAccessList() Devuelve una matriz de cadena que contiene la lista de accesos eliminados. Métodos de notificación de suspensión/eliminación de suministro de cuentas: Estos métodos sólo están disponibles para todos los tipos de notificaciones de suspensión/eliminación de suministro de cuentas: getAction() Devuelve la acción realizada contra el propio servicio (recurso). getReason() Devuelve un motivo descriptivo para la eliminación del suministro. Métodos de notificación de cuentas nuevas, modificadas y restauradas: Estos métodos sólo están disponibles para todos los tipos de notificaciones de cuentas nuevas, modificadas y restauradas: showPassword() Determina si se visualiza o no la contraseña cuando se notifica al usuario de la cuenta nueva. getAccountPassword() Devuelve la contraseña de cuenta para la cuenta. getPasswordExpirePeriod() Devuelve el periodo de caducidad de la entrega de contraseña. getPasswordRetrievalUrl() Devuelve el URL de entrega de contraseña para recuperar la contraseña por medio del secreto compartido de las cuentas. getTransactionId() Devuelve el ID de transacción de la entrega de contraseña para recoger la contraseña creada para esta cuenta. Consulta 77 Métodos de notificación de cambio de contraseña de cuentas: Estos métodos están disponibles para todos los tipos de notificaciones de cambio de contraseña de cuentas: getAccountPassword() Devuelve la contraseña de cuenta para la cuenta. getPasswordExpirePeriod() Devuelve el periodo de caducidad de la entrega de contraseña. getPasswordRetrievalUrl() Devuelve el URL de entrega de contraseña para recuperar la contraseña por medio del secreto compartido de las cuentas. getTransactionId() Devuelve el ID de transacción de la entrega de contraseña para recoger la contraseña creada para esta cuenta. Enrole Métodos generales Disponibilidad Tivoli Identity Manager 4.x Contexto de Política de suministro Contexto de Política de identidad Reglas de colocación de alimentación de identidades Suministrado por com.ibm.itim.script.extensions.EnroleExtension Métodos generatePassword() Genera una contraseña para un servicio específico. getAttributeValue() Obtiene el valor de atributo de valor único. getAttributeValues() Obtiene los valores de un atributo de varios valores. localize() Mensaje localizado especificado en formato XML <Mensaje>. log() Registra un mensaje en el registro de IBM Tivoli Identity Manager en el nivel de error. toGeneralizedTime() Convierte una fecha u hora en formato de hora generalizada. toMilleseconds() Convierte una cadena en formato de hora generalizada a un valor entero en milisegundos. Descripción El objeto Enrole está disponible en el contexto de una política de suministro, política de identidad y regla de colocación de alimentación de identidades. Enrole.generatePassword() Genera una contraseña nueva válida para una cuenta. 78 Consulta Disponibilidad Para que generatePassword() funcione hace falta un servicio, por lo que sólo está disponible cuando se utiliza ServiceExtension. Sinopsis Enrole.generatePassword() Devuelve Una cadena que es una contraseña válida para el objeto DirectoryObject Service almacenado en la variable ″service″. Descripción Este método generará una contraseña nueva válida para un servicio. Enrole.getAttributeValue() Obtiene el valor de atributo de valor único. Disponibilidad En desuso a partir de Tivoli Identity Manager 4.3. Se ha sustituido por DirectoryObject.getProperty() Sinopsis Enrole.getAttributeValue(name, defaultValue) Argumentos name Cadena que representa el nombre de la propiedad que se devolverá. defaultValue Valor predeterminado que se devolverá si no hay ningún valor que devolver. Devuelve Un objeto. El tipo de objeto devuelto depende de la propiedad obtenida. Si la propiedad especificada no existe, se devuelve el valor predeterminado. Descripción Este método recuperará el valor de la propiedad especificada. Enrole.getAttributeValues() Obtiene el valor de un atributo de varios valores. Disponibilidad En desuso a partir de Tivoli Identity Manager 4.3. Se ha sustituido por DirectoryObject.getProperty() Sinopsis Enrole.getAttributeValues(name) Argumentos name Cadena que representa el nombre de la propiedad que se devolverá. Devuelve Una matriz de objetos. El tipo de objeto devuelto depende de la propiedad obtenida. Si la propiedad especificada no existe, se devolverá una matriz vacía. Descripción Este método recuperará el valor de la propiedad especificada. Consulta 79 Enrole.localize() Localiza un mensaje especificado en formato XML <Mensaje>. Disponibilidad IBM Tivoli Identity Manager Versión 5.0 Sinopsis Enrole.localize(String xmlMsg, String localStr) Argumentos xmlMsg Un mensaje especificado en XML. localStr Una cadena que representa el entorno local que se utiliza para la localización. Devuelve Un mensaje localizado. Descripción Este método localizará un mensaje XML en el entorno local dado. Enrole.log() Registra mensajes en el registro de IBM Tivoli Identity Manager. Disponibilidad Tivoli Identity Manager 4.6 Sinopsis enrole.log(category, message); Argumentos category Categoría de la entrada de registro, especificada como cadena. Se puede utilizar el argumento category o se puede dejar vacío, pero el argumento no debe ser null (nulo). message Mensaje que se registrará, especificado como cadena. Descripción Registra un mensaje en el registro de IBM Tivoli Identity Manager en el nivel de error. Uso var roleDN = ..;(DN of role) var role = new Role(roleDN); // Put next statement on one line Enrole.log("script", "The role name is "+ role.getProperty("errolename")[0]); Enrole.toGeneralizedTime() Convierte una fecha u hora en formato de hora generalizada. Disponibilidad Tivoli Identity Manager 4.x Sinopsis Enrole.toGeneralizedTime(time) 80 Consulta Argumentos time Valor entero de hora en milisegundos u objeto de fecha. Descripción Este método convierte una hora o fecha en formato de hora generalizada. Puede utilizarse las políticas de identidad o bien en las titularidades predeterminadas. Uso genTime = Enrole.toGeneralizedTime(seconds); Enrole.toMilliseconds() Convierte una cadena en formato de hora generalizada a un valor entero en milisegundos. Disponibilidad Tivoli Identity Manager 4.x Sinopsis Enrole.toMilliseconds(genTime) Argumentos genTime Cadena en formato de hora generalizada. Descripción Este método convierte una cadena en formato de hora generalizada en un valor entero en milisegundos. Uso seconds = Enrole.toMilliseconds(genTime); Error Este objeto contiene una descripción de error de script para notificar al código que ha realizado la llamada de una condición excepcional en tiempo de ejecución. Cuando se devuelve un error desde una evaluación de script, se convierte en una excepción de Java y se genera desde la clase del evaluador de script. Disponibilidad Tivoli Identity Manager 4.6.x Suministrado por com.ibm.itim.script.extensions.EnroleExtension Métodos setMessage() Establece el mensaje del error. getMessage() Recupera el mensaje de error para el error. setErrorCode() Establece el código de error para el error. getErrorCode() Recupera el código de error para el error. Uso var sn = subject.getProperty("sn"); if(sn == null || sn.length == 0) { error.setMessage("sn was missing"); Consulta 81 return error; } else { return sn[0]; } Error.setMessage() Establece el mensaje del error. Disponibilidad Tivoli Identity Manager 4.6.x Sinopsis error.setMessage(String msg) Argumentos msg Cadena que representa el mensaje que se establecerá. Descripción Este método establecerá el texto de un mensaje de error. La función acepta un parámetro de cadena. Uso error.setMessage("sn was missing"); Error.getMessage() Recupera el mensaje establecido para un error. Disponibilidad Tivoli Identity Manager 4.6.x Sinopsis error.getMessage() Devuelve Mensaje de cadena para un error. Descripción Este método recuperará el texto de un mensaje de error. Uso messageValue = error.getMessage(); Error.setErrorCode() Establece el código de error para el error. Disponibilidad Tivoli Identity Manager 4.6.x Sinopsis error.setErrorCode(int code) Argumentos code Entero que representa el código de error. Descripción Este método establecerá el código de error de un mensaje de error. La función acepta un parámetro entero. Uso error.setErrorCode(1); Error.getErrorCode() Recupera el código de error establecido para un error. Disponibilidad Tivoli Identity Manager 4.6.x 82 Consulta Sinopsis error.getErrorCode() Devuelve Valor entero para un código de error. Descripción Este método recuperará el código de error de un mensaje de error. Uso errorCodeValue = error.getErrorCode(); IdentityPolicy Política de identidad Disponibilidad Tivoli Identity Manager 4.x Contexto de Política de identidad Suministrado por com.ibm.itim.policy.script.IdentityPolicyExtension Métodos getNextCount() Devuelve un número que se puede agregar al final de un nombre de usuario para hacer que este nombre de usuario sea único. userIDExists() Comprueba si el ID de usuario solicitado ya está en uso. Descripción Este objeto representa una entidad de política de IBM Tivoli Identity Manager. IdentityPolicy.getNextCount() Obtiene un número que se puede agregar al final de un nombre de usuario para hacer que este nombre de usuario sea único. ServiceExtension se debe cargar para que getNextCount() funcione. Disponibilidad Tivoli Identity Manager 4.x Sinopsis IdentityPolicy.getNextCount(baseId) Argumentos baseId El nombre de usuario base. Devuelve Un número que se puede agregar al final de un nombre de usuario para hacer que este nombre de usuario sea único. Devolverá -1 si el nombre de usuario ya es único y devolverá -2 si se produce un error. Descripción Este método comprobará si el UID ya se está utilizando. Uso num = IdentityPolicy.getNextCount(baseId); return baseId + num; Consulta 83 IdentityPolicy.userIDExists() Comprueba si el ID de usuario solicitado ya está en uso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis IdentityPolicy.userIDExists(uid, checkAllServices, checkRecycleBin) Argumentos uid Identidad de usuario. checkAllServices Si se establece en true, se comprobarán todas las instancias de servicio para ver si el ID de usuario se utiliza en una cuenta de cualquier tipo de servicio. Si se establece en false, sólo se comprobará la instancia de servicio de destino. Este argumento es opcional. El valor predeterminado es false. checkRecycleBin Si se establece en true, se comprobará la papelera de reciclaje en busca de cuentas suprimidas. Este parámetro está diseñado para utilizarse con el parámetro checkAllServices. Este parámetro sólo se debe establecer en true cuando el parámetro checkAllServices también se establece en true. Este argumento es opcional. El valor predeterminado es false. Devuelve True si existe el ID de usuario, en caso contrario, false. Descripción Este método comprobará si el UID ya se está utilizando. Uso // To create a user ID without checking for it in the recycle bin but // checking it against all services. tf = IdentityPolicy.userIDExists("jason_jones", true, false); PackagedApprovalDocument Objeto de datos relevantes utilizado en la aprobación de varios elementos que se utiliza exclusivamente en los flujos de trabajo de recertificación de usuarios. Este objeto consta de varios objetos PackagedApprovalItem de la aprobación de recertificación de usuarios y permite buscar y recuperar elementos de recertificación. Disponibilidad Tivoli Identity Manager 5.1 Constructor new PackagedApprovalDocument() Construye un objeto de documento de aprobación vacío. También se pueden obtener instancias en el flujo de trabajo de recertificación de usuarios y notificaciones accediendo al elemento de datos relevantes ″ApprovalDocument″. Por ejemplo, ApprovalDocument.get() devuelve un PackagedApprovalDocument en un flujo de trabajo de recertificación de usuarios. Propiedades 84 Consulta TYPE_ACCOUNT Constante para elementos de aprobación que son cuentas. TYPE_GROUP Constante para elementos de aprobación que son grupos en otros servicios pero no están definidos como un acceso. TYPE_GROUP_ACCESS Constante para elementos de aprobación que son grupos y también están definidos como accesos. TYPE_ITIM_GROUP Constante para elementos de aprobación que son grupos en servicios de tipo ITIM Service. TYPE_ROLE Constante para elementos de aprobación que son roles. Métodos addItem(PackagedApprovalItem item) Devuelve un indicador booleano que indica que se ha agregado un elemento PackagedApprovalItem a este documento de aprobación. containsDecisionCode(decisionCode) Devuelve un indicador booleano que indica si alguno de los elementos de este documento que permiten decisiones contienen la cadena de código de decisión especificada. Los códigos de decisión válidos son activity.APPROVED y activity.REJECTED. getDecisionItemCountByType(type) Devuelve el número de elementos de este documento que soportan decisiones y son del tipo especificado, donde los tipos se definen como constantes en este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.). Este método considera todos los elementos de aprobación del documento como decisiones de soporte, incluidos los hijos de los elementos del nivel superior. getDecisionItemCountByType(type, includeChildren) Devuelve el número de elementos de este documento que soportan decisiones y son del tipo especificado, donde los tipos se definen como constantes en este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.). Según el valor del indicador booleano includeChildren, este método también puede contar todos los elementos de este documento, incluidos los elementos que son hijos de los elementos del nivel superior. getItemCountByType(type) Devuelve el número de elementos de este documento que son del tipo especificado, donde los tipos se definen como constantes de este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.). Este método considera todos los elementos de aprobación de este documento, incluidos los hijos de los elementos del nivel superior. getItemCountByType(type, includeChildren) Devuelve el número de elementos de este documento que son del tipo especificado, donde los tipos se definen como constantes de este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.). Según el valor del indicador booleano includeChildren, este método también puede contar todos los elementos de este documento, incluidos los elementos que son hijos de los elementos del nivel superior. Consulta 85 getItemCountByTypeAndDecision(type, decisionCode) Devuelve el número de elementos de este documento que son del tipo especificado y que permiten decisiones y contienen la cadena de código de decisión especificada. Los tipos se definen como constantes de este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.) Los códigos de decisión válidos son activity.APPROVED y activity.REJECTED. Este método sólo considera los elementos de aprobación del nivel superior y no cuenta los hijos de esos elementos. getItemsByType(type) Devuelve los elementos del nivel superior de este documento de aprobación que son del tipo especificado como una matriz de objetos PackagedApprovalItem. Los tipos se definen como constantes de este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.) getItemsByTypeAndDecision(type, decisionCode) Devuelve los elementos del nivel superior de este documento de aprobación que son del tipo especificado y que, si se permiten las decisiones, contienen la cadena de código de decisión especificada como una matriz de objetos PackagedApprovalItem. Los tipos se definen como constantes de este objeto (TYPE_ROLE, TYPE_ACCOUNT, etc.) Los códigos de decisión válidos son activity.APPROVED y activity.REJECTED. removeItem(String identifier) Devuelve un indicador booleano que indica que un PackagedApprovalItem correspondiente al identificador se ha eliminado de este documento de aprobación. setDecisionCodeForAllItems(decisionCode) Establece el decisionCode (código de decisión) especificado en todos los elementos de este documento, incluidos los hijos de los elementos del nivel superior. Se omiten los elementos que no soportan decisiones. Los códigos de decisión válidos son activity.APPROVED y activity.REJECTED. Descripción El objeto representa el documento de aprobación de varios elementos en el entorno de JavaScript. PackagedApprovalItem Objeto de datos relevantes utilizado en la aprobación de varios elementos de IBM Tivoli Identity Manager que se utiliza exclusivamente en los flujos de trabajo de recertificación de usuarios. Este objeto representa los roles, cuentas y grupos individuales que se presentan al usuario durante el proceso de recertificación. Algunos elementos pueden contener un código de decisión que indique la elección de los aprobadores para ese elemento. Cada elemento contiene también una lista de hijos que se utiliza para representar relaciones entre cuentas y grupos. Disponibilidad Tivoli Identity Manager 5.1 Constructor new PackagedApprovalItem(itemType, value) Construye un objeto PackagedApprovalItem que no soporta decisiones y es de sólo lectura durante la actividad de aprobación de recertificación. Los parámetros son una constante y un valor de tipo de elemento, donde el valor es un DirectoryObject que coincide con el tipo (rol, cuenta, etc.). 86 Consulta new PackagedApprovalItem(itemType, value, decisionCode) Construye un objeto PackagedApprovalItem que soporta decisiones. El parámetro decisionCode es activity.APPROVED, activity.REJECTED o null, donde null indica que es necesaria una decisión pero todavía no se ha especificado. Por ejemplo: new PackagedApprovalItem(PackagedApprovalDocument.TYPE_ACCOUNT, acctObj) new PackagedApprovalItem(PackagedApprovalDocument.TYPE_ROLE, roleObj, activity.APPROVED) Propiedades DECISION_NOT_APPLICABLE Constante para elementos de aprobación que no soportan decisiones y son de sólo lectura durante la recertificación. Métodos getItemTypeString() Devuelve el tipo de elemento, donde los valores de la constante se definen en el objeto PackagedApprovalDocument (TYPE_ROLE, TYPE_ACCOUNT, TYPE_GROUP, TYPE_GROUP_ACCESS). getDecisionCode() Devuelve el código de decisión para este elemento, donde los valores posibles son activity.APPROVED y activity.REJECTED. Este método también puede devolver PackagedApprovalItem.DECISION_NOT_APPLICABLE si este elemento sólo tiene fines informativos, o null si todavía no se ha especificado la decisión. getValue() Devuelve un DirectoryObject para el rol, cuenta o grupo de este elemento. getChildItems() Devuelve una matriz de objetos PackagedApprovalItem que son los hijos de este elemento. Por ejemplo, los elementos de cuenta pueden tener grupos como si fueran sus hijos. getChildItemsByDecision(decisionCode)) Devuelve una matriz de objetos PackagedApprovalItem que son los hijos de este elemento y tienen el código de decisión especificado, por ejemplo activity.APPROVED o activity.REJECTED. Descripción El objeto representa el elemento de aprobación de varios elementos de Tivoli Identity Manager en el entorno de JavaScript. Participant Entidad de participante de flujo de trabajo, que especifica un participante de actividad. En un nodo de correo, esta entidad especifica el destinatario de correo. Sólo se aplica a los tipos de actividad manual, que incluyen Aprobación, RFI, Orden de trabajo y Correo. El participante de una actividad se puede especificar durante el diseño del flujo de trabajo como Participante definido personalizado. En este caso, el objeto JavaScript Participant se puede utilizar para construir el participante adecuado en función del contexto de proceso. Consulta 87 Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.workflow.script.WorkflowExtension Constructor new Participant(type, dn) Argumentos type Código que categoriza el tipo de participante. dn DN opcional de una entidad específica. Devuelve Objeto de participante recién creado e inicializado. Propiedades implementation Esta propiedad contiene JavaScript que devuelve el participante cuando el tipo de participante es Personalizado. name Identifica al participante. type Código que categoriza el tipo de participante. Descripción El participante especifica un participante de actividad. El participan solicita actividades de los nodos Aprobación, RFI, Orden de trabajo y Correo. Sólo se aplica a los tipos de actividad manual, incluidas Aprobación, RFI y Orden de trabajo. El participante de una actividad o el destinatario de una actividad de correo puede especificarse durante el diseño del flujo de trabajo como Participante definido personalizado. En este caso, el objeto JavaScript Participant se puede utilizar para construir el participante adecuado en función del contexto de proceso. Uso //assume person is one of the relevant data in the workflow //process for the target user involved if( person.get().getProperty(“title”)[0]==”Manager” ) return new Participant(ParticipantType.SYSTEM_ADMIN); else return new Participant(ParticipantType.SUPERVISOR); //assume person is one of the relevant data in the workflow //process for the target user involved if( person.get().getProperty(“title”)[0]==”Manager”) return new Participant(ParticipantType.USER, person.get().dn); else ... Participant.implementation Participante definido personalizado. Disponibilidad Tivoli Identity Manager 4.x Sinopsis participant.implementation 88 Consulta Descripción Este campo de sólo lectura es una cadena que proporciona un participante definido personalizado, que contiene el código JavaScript para devolver el participante. Uso x = participant.implementation; Participant.name DN del participante Disponibilidad Tivoli Identity Manager 4.x Sinopsis participant.name Descripción Este campo de sólo lectura es un nombre distinguido que identifica al participante. Sólo resulta aplicable para los tipos de participante ROLE y USER. Uso x = participant.name; Participant.type Código que categoriza el tipo de participante Disponibilidad Tivoli Identity Manager 4.x Sinopsis participant.type Descripción Este campo de sólo lectura es una cadena que representa un código que categoriza el tipo de participante. Uso x = participant.type; ParticipantType Constantes del tipo de participante de flujo de trabajo. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.workflow.script.WorkflowExtension Propiedades DOMAIN_ADMIN Tipo de participante para el administrador del dominio del contenedor organizativo asociado al servicio de la cuenta Asunto (según se especifica en el contexto Asunto de la ventana de propiedades del flujo de trabajo). participant = new Participant(ParticipantType.DOMAIN_ADMIN); REQUESTOR Tipo de participante para la persona que inició la solicitud. Si una persona inicia una solicitud de cambio para una persona que desencadena una imposición de política, el participante será la persona que realiza la solicitud de cambio. Para las cargas de datos, el participante es el usuario del sistema. Al establecer la propiedad siguiente de $ITIM_HOME/data/enRole.properties en Consulta 89 true, el sistema aprobará automáticamente una solicitud de aprobación que tiene al solicitante como participante. participant = new Participant(ParticipantType.REQUESTOR); REQUESTEE Tipo de participante para la persona designada como persona a la que se solicita en el campo de propietario de los datos relevantes. participant = new Participant(ParticipantType.REQUESTEE); ROLE Tipo de participante para un rol organizativo específico. Aunque todos los miembros de usuario del rol y sus roles hijo recibirán una notificación, y todos ellos pueden responder, la primera respuesta desencadena la continuidad del flujo de trabajo. En otras palabras, no se puede especificar un rol para requerir a varios participantes que aprueben la solicitud. participant = new Participant(ParticipantType.ROLE, roleDN); ROLE_OWNER Tipo de participante para el propietario del rol (si está especificado). El rol se resuelve en función de los propietarios especificados en el OrgRole listado como un parámetro de entrada para la operación de flujo de trabajo operativo. Si no hay ningún OrgRole especificado como parámetro de entrada en el flujo de trabajo, el participante no se resuelve. participant = new Participant(ParticipantType.ROLE_OWNER); SERVICE_OWNER Tipo de participante para el propietario del servicio (si está especificado). El servicio se resuelve en función del objeto de cuenta desde los datos relevantes del flujo de trabajo que se marcan como ″Asunto″ en la ventana de propiedades. participant = new Participant(ParticipantType.SERVICE_OWNER); SOD_POLICY_OWNER Tipo de participante para los propietarios de la política de separación de funciones (si está especificada). Los propietarios se resuelven en función del objeto SeparationOfDutyRuleViolation desde los datos relevantes del flujo de trabajo que se marcan como ″Asunto″ en la ventana de propiedades. Si no hay ningún SeparationOfDutyRuleViolation especificado como Asunto del flujo de trabajo, el participante no se resuelve. El tipo de participante SOD_POLICY_OWNER sólo se utiliza en la operación global approveSoDViolation. participant = new Participant(ParticipantType.SOD_POLICY_OWNER); SPONSOR Tipo de participante para la persona designada como patrocinador (por medio de la relación de patrocinador) para la persona a la que se solicita (como se marca en los datos relevantes). participant = new Participant(ParticipantType.SPONSOR); SUPERVISOR Tipo de participante para el gestor o supervisor de la persona a la que se solicita. Si no se especifica ninguno para la persona a la que se solicita, el supervisor designado en el contenedor organizativo de la persona a la que se solicita pasará a ser el participante. Si no se especifica ningún supervisor para el contenedor organizativo de la persona a la que se solicita, se buscará un supervisor en el nivel 90 Consulta inmediatamente superior. La búsqueda continuará en el árbol, hasta que se alcance la parte superior de la organización. Si no se encuentra ningún supervisor, el participante no se resolverá. participant = new Participant(ParticipantType.SUPERVISOR); SYSTEM_ADMIN Tipo de participante para un miembro del grupo de administrador del sistema de Tivoli Identity Manager. participant = new Participant(ParticipantType.SYSTEM_ADMIN); USER Tipo de participante para que una persona específica responda a la solicitud. La persona debe tener una cuenta de Tivoli Identity Manager. participant = new Participant(ParticipantType.USER, userDN); Descripción Esta entidad representa las constantes del tipo de participante de flujo de trabajo. Person Entidad de persona. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.script.extensions.model.PersonModelExtension Hereda de DirectoryObject Constructor new Person(String dn) Argumentos dn DN opcional de una entidad específica. Métodos getRoles() Devuelve una matriz de DirectoryObjects, cada uno de los cuales representa un rol. getNewRoles() Devuelve una matriz de los roles añadidos recientemente para la persona. getRemovedRoles() Devuelve una matriz de los roles eliminados para la persona. isInRole(String roleName) Determina si la persona pertenece al rol. El resultado devuelto es booleano. removeRole() Elimina la persona del rol especificado. Person.getRoles() Devuelve los roles asignados a una persona. Disponibilidad Tivoli Identity Manager 4.6 Consulta 91 Sinopsis person.getRoles() Descripción Este método definido en el objeto Person devuelve una matriz de los roles a los que pertenece la persona. El tipo de retorno es una matriz de entidades, que serán instancias de objetos de entidad de directorio de roles. Las propiedades disponibles en los objetos de entidad serán name y description. Uso // logs the names of all roles that a person belongs to var per = person.get(); var rolesArray = per.getRoles(); if(rolesArray.length>0){ Enrole.log("script", per.getProperty("cn")[0] + " belongs to following roles: "); for( var i=0; i<rolesArray.length;i++) { Enrole.log("script", rolesArray[i].getProperty("errolename")[0]); } } else { Enrole.log("script", per.getProperty("cn")[0] + "does not belong to any roles"); } Person.getNewRoles() Devuelve una matriz de los roles añadidos recientemente para una persona. Disponibilidad Tivoli Identity Manager 5.0 Sinopsis person.getNewRoles() Descripción Este método definido en el objeto person devuelve una matriz de los roles nuevos a los que pertenece la persona. El tipo de retorno es una matriz de DirectoryObjects. Tenga en cuenta que el objeto person es con frecuencia un objeto de tiempo de ejecución en memoria y estos roles nuevos no se han añadido al directorio. Uso var newRoles = per.getNewRoles(); Person.getRemovedRoles() Devuelve una matriz de los roles eliminados para la persona. Disponibilidad Tivoli Identity Manager 5.0 Sinopsis person.getRemovedRoles() Descripción Este método definido en el objeto person devuelve una matriz de los roles nuevos de los que la persona se ha eliminado. El tipo de retorno es una matriz de DirectoryObjects. Tenga en cuenta que el objeto person es con frecuencia un objeto de tiempo de ejecución en memoria y estos roles nuevos no se han añadido al directorio. Uso 92 Consulta var removedRoles = per.getRemoveRoles(); Person.isInRole() Evalúa si una persona pertenece a un rol. Disponibilidad Tivoli Identity Manager 4.6 Sinopsis person.isInRole(roleName) Argumentos roleName El nombre del rol a comprobar. Descripción Dado un objeto person y el nombre del rol, determina si la persona pertenece al rol. Si el rol no se puede determinar de forma exclusiva por el parámetro roleName o si la persona no se encuentra, se devuelve un objeto de error. Uso // Check whether the person is in the role Manager and log a // message var per=person.get(); if(!per.isInRole("Manager")) { Enrole.log("script",per.getProperty("cn")[0] + "does not belong to role Manager"); } else { Enrole.log("script",per.getProperty("cn")[0] + "belong to role Manager"); } Person.removeRole() Elimina la persona del rol especificado. Disponibilidad Tivoli Identity Manager 5.0 Sinopsis person.removeRole(role) Argumentos role El objeto Role que representa el rol del que la persona se ha eliminado. Descripción Elimina la persona del rol especificado. Tenga en cuenta que esta operación sólo elimina el rol del objeto Person en tiempo de ejecución y no elimina el rol del directorio. Uso //Remove the first role in the Person object var roles = person.getRoles(); if (roles.length > 0) { person.removeRole(roles[0]); } PersonSearch Busca una persona. Disponibilidad Consulta 93 Tivoli Identity Manager 4.x Contexto de Política de suministro Contexto de Política de selección de servicios Suministrado por com.ibm.itim.script.extensions.model.PersonModelExtension Constructor new PersonSearch() Devuelve El objeto de búsqueda de persona recién creado e inicializado. Métodos searchByFilter() Busca una persona por medio de un filtro. Descripción La entidad implementa la clase PersonSearch de IBM Tivoli Identity Manager. El JavaDoc de la API para esta clase se encuentra en el directorio siguiente: $ITIM_HOME/extensions/api/com/ibm/itim/dataservices/model/domain/ PersonSearch.searchByFilter() Busca una persona por medio de un filtro. Disponibilidad Tivoli Identity Manager 4.x Sinopsis personSearch.searchByFilter(profileName, filter, scope) Argumentos profileName Nombre del perfil de persona que se utilizará. filter Filtro de búsqueda LDAP que define los criterios que deben satisfacer los contenedores devueltos. El filtro debe estar en el formato definido por RFC2254. scope Ámbito de búsqueda opcional. Utilice 1 para el ámbito de un nivel y 2 para el ámbito de subárbol. El ámbito de un nivel es el ámbito predeterminado. Devuelve Una matriz de DirectoryObjects que representa los resultados de la búsqueda. Descripción Este método buscará una persona por medio de un filtro. Uso var personSearch = new PersonSearch(); var searchResult1 = personSearch.searchByFilter("Person", "(sn=Smith)", 2); // use default one level scope var searchResult2 = personSearch.searchByFilter("Person", "(sn=Smith)"); PostOffice Objeto de oficina de correos que consolida las notificaciones. 94 Consulta Disponibilidad Tivoli Identity Manager 4.6.x Suministrado por com.ibm.itim.mail.postoffice.script.PostOfficeExtension Métodos getAllEmailMessages() Obtiene el asunto, cuerpo del texto y cuerpo HTML de cada mensaje individual contenido en un mensaje agregado. getEmailAddress() Contiene la dirección de correo electrónico que es el destino del mensaje de correo electrónico agregado. getPersonByEmailAddress() Devuelve la persona que corresponde a la dirección de correo electrónico especificada. getTopic() Devuelve el tema del mensaje de correo electrónico agregado. La ampliación getAllEmailMessages() permite el acceso al objeto NotificationMessage. Es importante tener en cuenta que no se debe llamar al método getHtmlMessage() desde una plantilla. Esta llamada devuelve una versión XHTML del texto de notificación. No es posible incluir documentos XML, de manera que una llamada a este método podría dar como resultado un error en la ejecución de la plantilla. Debe utilizar el cuerpo del texto de las notificaciones originales llamando en su lugar a getMessage(). PostOffice.getAllEmailMessages() Devuelve una matriz de objetos NotificationMessage. Disponibilidad Tivoli Identity Manager 4.x Sinopsis PostOffice.getAllEmailMessages() Descripción Esta ampliación JavaScript devuelve una matriz de objetos NotificationMessage adecuados para obtener el asunto, cuerpo del texto y cuerpo HTML de cada mensaje individual contenido en un mensaje agregado. Uso A continuación se muestra un ejemplo de cómo iterar por medio de la matriz devuelta en JavaScript: Here are the email text bodies fetched using the JavaScript extension: <JS> var msgListIterator = PostOffice.getAllEmailMessages().iterator(); var returnString = "<br />"; while (msgListIterator.hasNext()) { returnString = returnString + msgListIterator.next().getMessage() + "<br />"; } return returnString; </JS> PostOffice.getEmailAddress() Devuelve la dirección de correo electrónico del destino del correo electrónico agregado. Consulta 95 Disponibilidad Tivoli Identity Manager 4.x Sinopsis PostOffice.getEmailAddress() Descripción Esta ampliación JavaScript devuelve una cadena que contiene la dirección de correo electrónico que es el destino del mensaje de correo electrónico agregado. Uso destinationAddress = PostOffice.getEmailAddress(); PostOffice.getPersonByEmailAddress() Devuelve el objeto Person que corresponde a este mensaje de correo electrónico. Disponibilidad Tivoli Identity Manager 4.x Sinopsis PostOffice.getPersonByEmailAddress(String email) Descripción Esta ampliación JavaScript devuelve el objeto Person que corresponde a la dirección de correo electrónico especificada. Uso targetPerson = PostOffice.getPersonByEmailAddress() Ejemplos: targetPerson = PostOffice.getPersonByEmailAddress(″[email protected]″); targetPerson = PostOffice.getPersonByEmailAddress(PostOffice.getEmailAddress()); PostOffice.getTopic() Devuelve la cadena de tema del correo electrónico agregado. Disponibilidad Tivoli Identity Manager 4.x Sinopsis PostOffice.getTopic() Descripción Esta ampliación JavaScript devuelve una cadena que contiene el tema del mensaje de correo electrónico agregado. Uso topicString = PostOffice.getTopic(); Process Un proceso de flujo de trabajo de IBM Tivoli Identity Manager. Disponibilidad Tivoli Identity Manager 4.x Suministrado por El objeto JavaScript Process en WorkflowExtension devuelve un objeto Process que representa el proceso de flujo de trabajo actual; los procesos principales del flujo de trabajo actual se pueden devolver llamando de forma recursiva a Process.getParent(), y el proceso principal también es un objeto Process. Propiedades 96 Consulta Nota: Se da soporte a los códigos de resultado personalizados en el diseñador de flujos de trabajo para las actividades de aprobación. APPROVED Código de resumen de un proceso aprobado. El código de resultado es AA. ESCALATED Código de resumen de un proceso intensificado. El código de resultado es ES. FAILED Código de resumen de un proceso erróneo. El código de resultado es SF. PARTICIPANT_RESOLVE_FAILED Código de resumen de un proceso erróneo resuelto por el participante. El código de resultado es PF. PENDING Código de resumen de un proceso pendiente. El código de resultado es PE. REJECTED Código de resumen de un proceso rechazado. El código de resultado es AR. SUBMITTED Código de resumen de un proceso enviado. El código de resultado es RS. SUCCESS Código de resumen de un proceso correcto. El código de resultado es SS. TIMEOUT Código de resumen de un proceso que ha excedido el tiempo de espera. El código de resultado es ST. WARNING Código de resumen de un proceso de aviso. El código de resultado es SW. comment Proporciona información adicional acerca del proceso dado cuando se realiza la definición en el diseñador de flujos de trabajo. description Describe la finalidad del proceso especificado cuando se definió en el diseñador de flujos de trabajo. id Asignado por el diseñador de flujos de trabajo para identificar de forma exclusiva el proceso de flujo de trabajo del motor de flujo de trabajo. name Etiqueta que se otorga a esta actividad cuando se define en el diseñador de flujos de trabajo. parentId Identifica de forma exclusiva el proceso principal (si existe) que ha invocado este proceso. Consulta 97 requesteeDN Identifica de forma exclusiva la persona a la que se solicita si es un usuario en el almacén de datos de IBM Tivoli Identity Manager. requesteeName Nombre de la persona a la que se solicita del proceso. requestorName Nombre del solicitante del proceso si es un usuario. requestorType Categoriza al solicitante resultDetail Una cadena específica de la aplicación que proporciona más detalles acerca del resultado del proceso. resultSummary Una cadena específica de la aplicación que representa el resultado de resumen del proceso. started Indica cuándo se inició el proceso. state Código que representa el estado actual del proceso. subject Describe el objeto que es el punto focal del proceso de flujo de trabajo. type Código que categoriza el proceso dado cuando se definió en el diseñador de flujos de trabajo. Métodos auditEvent() Crea un suceso en el seguimiento de auditoría específico para la actividad. getActivity() Devuelve una actividad con el índice y el ID dados. getParent() Obtiene el proceso principal (si existe) que ha invocado el proceso. getRootProcess() Devuelve el objeto del proceso JavaScript que contiene información acerca del proceso raíz. getRootRequesterName() Devuelve la cadena del nombre del solicitante del proceso raíz. setRequesteeData() Cambia los datos de la persona a la que se solicita para el proceso actual. setResult() Cambia el miembro de resultado de la actividad en la actividad actual. setSubjectData() Cambia los datos del asunto para el proceso actual. 98 Consulta Descripción Esta entidad representa el proceso de flujo de trabajo que se está ejecutando actualmente. Process.auditEvent() Crea un suceso en el seguimiento de auditoría. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.auditEvent(event) Argumentos event Cadena que representa el suceso que se auditará. Descripción Este método creará un suceso en el seguimiento de auditoría específico para el proceso. La función acepta un parámetro que puede ser cualquier objeto JavaScript que pueda convertirse en una cadena para su almacenamiento. En el seguimiento de auditoría, se agregará automáticamente una indicación de fecha y hora al suceso. Uso process.auditEvent("Task completed"); Process.comment Proporciona información adicional acerca del proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.comment Descripción Este campo de sólo lectura es una cadena que proporciona información adicional sobre el proceso especificado cuando se definió en el diseñador de flujos de trabajo. Uso x = process.comment; Process.description Finalidad del proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.description Descripción Este campo de sólo lectura es una cadena que describe la finalidad del proceso especificado cuando se definió en el diseñador de flujos de trabajo. Uso x = process.description; Process.getActivity() Devuelve una actividad con el índice y el ID dados. Disponibilidad Tivoli Identity Manager 4.x Consulta 99 Sinopsis process.getActivity(id, index) Argumentos id ID de actividad asignado por el diseñador de flujos de trabajo. index Identifica opcionalmente la actividad específica si hay más de una actividad con el ID dado. Devuelve Actividad asociada. Descripción Este método devolverá una actividad con el índice y el ID dados, en el caso de que haya más de una actividad con el ID dado. Esto podría ocurrir si se llama varias veces a la actividad del ID especificado dentro de un bucle del proceso de flujo de trabajo. Si no existe ninguna actividad que tenga el ID ni el índice especificados, esta función devuelve null (nulo). Si no se especifica el índice opcional y si hay más de una actividad con el ID dado, se devolverá la primera actividad con el ID dado. Uso theFirstActivity = process.getActivity("id1", 3); theActivityName = theFirstActivity.name; theSecondActivity = process.getActivity("id2"); theActivityName = theSecondActivity.name; Process.getParent() Devuelve el proceso principal (si existe) que ha invocado el proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.getParent() Devuelve Proceso principal. Si no existe ningún proceso principal, se devuelve null (nulo). Descripción Este método devolverá el proceso principal (si existe) que haya invocado el proceso. Uso parent = process.getParent(); parentName = parent.name; Process.getRootProcess() Devuelve el proceso raíz (si existe) que ha invocado el proceso. Disponibilidad Tivoli Identity Manager 5.0 Sinopsis process.getRootProcess() 100 Consulta Devuelve El proceso raíz. Si no existe ningún proceso raíz, se devuelve null (nulo). Descripción Este método el proceso raíz (si existe) de este proceso. Uso root = process.getRootProcess(); rootName = root.name; Process.getRootRequesterName() Devuelve el nombre del solicitante raíz. Disponibilidad Tivoli Identity Manager 4.6 Sinopsis process.getRootRequesterName() Descripción Este método devuelve el nombre del solicitante raíz del iniciador del proceso de flujo de trabajo. Uso rootRequester = process.getRootRequesterName(); Process.id Identificador exclusivo asignado al proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.id Descripción Este campo de sólo lectura es una cadena asignada por el diseñador de flujos de trabajo para identificar de forma exclusiva el proceso de flujo de trabajo del motor de flujo de trabajo. Uso x = process.id; Process.name Etiqueta asignada al proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.name Descripción Este campo de sólo lectura es una cadena asignada por el diseñador de flujos de trabajo para etiquetar este proceso. Uso x = process.name; Process.parentId Identifica de forma exclusiva el proceso principal que ha invocado este proceso. Disponibilidad Tivoli Identity Manager 4.x Consulta 101 Sinopsis process.parentId Descripción Este campo de sólo lectura es una representación de cadena del entero largo que identifica de forma exclusiva el proceso principal (si existe) que ha invocado este proceso. Uso x = process.parentId; Process.requesteeDN Identifica de forma exclusiva la persona a la que se solicita si es un usuario en el almacén de datos de IBM Tivoli Identity Manager. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.requesteeDN Descripción Este campo de sólo lectura es una cadena que identifica de forma exclusiva a la persona a la que se solicita si es un usuario del almacén de datos de IBM Tivoli Identity Manager. No todas las personas a las que se solicita son usuarios (es decir, el proceso podría actuar en una política, no en un usuario directamente), de forma que este miembro puede estar vacío. Uso x = process.requesteeDN; Process.requesteeName Nombre de la persona a la que se solicita del proceso como una cadena. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.requesteeName Descripción Este campo de sólo lectura es una cadena que proporciona el nombre de la persona a la que se solicita, si es un usuario del almacén de datos de IBM Tivoli Identity Manager. No todas las personas a las que se solicita son usuarios (es decir, el proceso podría actuar en una política, no en un usuario directamente), de forma que este miembro puede estar vacío. Uso x = process.requesteeName; Process.requestorName Nombre del solicitante del proceso si es un usuario. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.requestorName Descripción Este campo de sólo lectura es una cadena que representa el nombre del solicitante del proceso, si es un usuario. Uso if (process.requestorType == "U") x = process.requestorName; 102 Consulta Process.requestorType Categoriza al solicitante. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.requestorType Descripción Este campo de sólo lectura es una cadena que categoriza al solicitante. Las categorías o tipos potenciales son: v U para usuario v S para el motor de flujo de trabajo v P para el sistema Uso x = process.requestorType; if (x == "U") ... else if (x == "S") ... else if (x == "P") ... Process.resultDetail Información detallada sobre el resultado del proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.resultDetail Descripción Este campo de sólo lectura es una cadena específica de la aplicación que proporciona más información sobre el resultado del proceso. Uso x = process.resultDetail; Process.resultSummary Resumen del resultado del proceso. Disponibilidad Tivoli Identity Manager 4.x Descripción Este campo de sólo lectura es una cadena específica de la aplicación que proporciona un resumen del resultado del proceso. Uso x = process.resultSummary; Process.setRequesteeData() Cambia los datos de la persona a la que se solicita para el proceso actual. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.setRequesteeData(person) Argumentos Consulta 103 person Objeto DirectoryObject que representa la nueva persona a la que se solicita. Descripción Este método cambiará los datos de la persona a la que se solicita para el proceso actual. No se permite para un proceso que no sea el proceso actual. Actualiza el proceso actual no sólo en el script, sino también en el motor de flujo de trabajo. El argumento requesteeData debe contener el nombre distinguido de una persona o un conjunto de cadenas de las que se puedan extraer los datos de la persona a la que se solicita. Uso process.setRequesteeData(person); Process.setResult() Cambia el miembro de resultado del proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.setResult(summary, detail) Argumentos summary Código de cadena que representa el resumen del resultado. detail Cadena que representa los detalles del resultado. Descripción Este método cambiará en función del miembro de resultado del proceso en el proceso actual. Está soportado para las actividades actuales en el proceso de flujo de trabajo actual. El resultado se compone de un código de resumen específico de la aplicación y de una descripción opcional más detallada específica de la aplicación. El código de resumen puede indicar si un resultado es correcto o no. Este código de resumen se almacena como miembro resultSummary localmente, y se actualiza en los datos relevantes del motor de flujo de trabajo. La información detallada se almacena como miembro resultDetail localmente y se actualiza en los datos relevantes del motor de flujo de trabajo. Uso process.setResult(process.FAILED, "Unable to connect to resource"); Process.setSubjectData() Cambia los datos del asunto para el proceso actual. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.setSubjectData(person) Argumentos person Objeto DirectoryObject que representa el nuevo asunto. Descripción Este método cambiará los datos del asunto para el proceso actual. No se permite para un proceso que no sea el proceso actual. Actualiza el proceso actual no sólo en el script, sino también en el motor de flujo de trabajo. El 104 Consulta argumento subjectData debe contener el nombre distinguido de una persona o un conjunto cadenas de las que se puedan extraer los datos del asunto. Uso process.setSubjectData(person); Process.started Fecha en JavaScript que indica el momento en que se inició el proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.started Descripción Este campo de sólo lectura es cadena de código que representa la fecha en JavaScript que indica el momento en que se inició el proceso. Uso x = process.started; Process.state Estado actual del proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.state Descripción Este campo de sólo lectura es cadena de código que representa el estado actual del proceso. El estado puede tener los siguientes valores: v R para en ejecución v I para no iniciado v T para terminado v A para anulado v S para suspendido v C para completado v B para omitido Uso if (process.state == "S") { ... } Process.subject Objeto que es el punto focal del proceso de flujo de trabajo. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.subject Descripción Este campo de sólo lectura es una cadena de código que describe el objeto que es el punto focal del proceso de flujo de trabajo. Puede ser una identidad del sistema, una cuenta, una política u otro objeto. Consulta 105 Uso x = process.subject; Process.type Tipo de proceso. Disponibilidad Tivoli Identity Manager 4.x Sinopsis process.type Descripción Este campo de sólo lectura es cadena de código que categoriza el proceso dado cuando se define en el diseñador de flujos de trabajo. Uso x = process.type; ProcessData Entidad de datos de proceso del flujo de trabajo. Disponibilidad Tivoli Identity Manager 4.x Contexto de Flujo de trabajo Suministrado por com.ibm.itim.workflow.script.WorkflowExtension Métodos get() Devuelve un objeto JavaScript que representa el valor del elemento de datos relevantes. set() Cambia el valor del elemento de datos relevantes. Descripción Cada proceso de flujo de trabajo dispone de un conjunto de datos relevantes o parámetros específicos del proceso, que pueden leerse o cambiarse desde un script de flujo de trabajo. El nombre y la sintaxis de estos parámetros, o los elementos de datos relevantes, se definen en el diseñador de flujos de trabajo y normalmente son específicos para el proceso del flujo de trabajo. Por ejemplo, al añadir un usuario, un objeto que contiene todos los atributos del nuevo usuario puede ser un elemento de datos relevantes. Sin embargo, al suprimir un usuario, el único elemento de datos relevantes puede ser el nombre distinguido del usuario que debe suprimirse. Cada elemento de datos relevantes se representará en el script de flujo de trabajo como una variable, con el mismo ID de datos relevantes definido en el diseñador de flujos de trabajo. ProcessData.get() Cambia los datos del asunto para el proceso actual. Disponibilidad Tivoli Identity Manager 4.x Sinopsis processData.get() Devuelve Devuelve un objeto JavaScript que representa el valor del elemento de datos relevantes. 106 Consulta Descripción Este método devuelve un objeto JavaScript que representa el valor del elemento de datos relevantes. Aunque existe una variable presente para cada elemento de datos relevantes en el contexto del script, por motivos de rendimiento los valores no se recuperan del motor de flujo de trabajo hasta que el script solicita explícitamente los valores, mediante esta llamada. El objeto JavaScript devuelto tendrá la misma sintaxis que se ha definido en el diseñador de flujos de trabajo. Uso dn = subjectDN.get(); ProcessData.set() Cambia el valor del elemento de datos relevantes. Disponibilidad Tivoli Identity Manager 4.x Sinopsis processData.set(value) Argumentos value Valor a utilizar para actualizar el elemento de datos relevantes. Descripción Este método cambia el valor del elemento de datos relevantes. Actualiza el elemento de datos relevantes no sólo en el script, sino también en el motor de flujo de trabajo. El nuevo valor es un parámetro para la función. El nuevo valor debe ser compatible con la sintaxis del elemento de datos relevantes definida en el diseñador de flujos de trabajo. Por ejemplo, si el elemento de datos relevantes es un entero, el valor cat no podrá ser un parámetro válido para esta función. Uso processData.set("engineering"); RecertificationWorkflow Proporciona funciones ampliadas a los flujos de trabajo de recertificación de usuarios, incluido el soporte de auditoría para las funciones de creación de informes y ver solicitudes. Disponibilidad Tivoli Identity Manager 5.1 Métodos auditCompletion(person, recertPolicy, approvalDoc) Realiza una auditoría completa de las decisiones tomadas durante una actividad de aprobación de paquete de recertificación de usuarios, incluidos los datos para la creación de informes y ver solicitudes. auditTimeout(person, recertPolicy, approvalDoc) Realiza una auditoría completa de las decisiones establecidas durante el tiempo de espera excedido de la actividad de aprobación de paquete de recertificación de usuarios, incluidos los datos para la creación de informes y ver solicitudes. auditCompletion(person, recertPolicy, approvalDoc, auditForReports, auditForViewRequests) Realiza una auditoría de las decisiones tomadas durante una actividad de aprobación de paquete de recertificación de usuarios. Consulta 107 El valor del indicador booleano auditForReports determina si se crea una entrada de auditoría para la creación de informes. El valor del indicador booleano auditForViewRequests determina si se crea una entrada de auditoría para ver solicitudes. RecertificationWorkflow.auditTimeout(person, recertPolicy, approvalDoc, auditForReports, auditForViewRequests) Realiza una auditoría de las decisiones establecidas durante un tiempo de espera excedido de la actividad de aprobación de paquete de recertificación de usuarios. El valor del indicador booleano auditForReports determina si se crea una entrada de auditoría para la creación de informes. El valor del indicador booleano auditForViewRequests determina si se crea una entrada de auditoría para ver solicitudes. Uso RecertificationWorkflow.auditCompletion(Entity.get(), Policy.get(), ApprovalDocument.get()) RecertificationWorkflow.auditTimeout(Entity.get(), Policy.get(), ApprovalDocument.get(), false, true) Reminder Recordatorio de tareas pendientes. Disponibilidad Tivoli Identity Manager 4.x Contexto de Recordatorio Suministrado por com.ibm.itim.script.extensions.ReminderExtension Métodos Reminder.getOriginalSubject() Este método devuelve el asunto de la notificación original enviada cuando el elemento de trabajo se asignó por primera vez. Reminder.getXhtmlBody() Este método devuelve el cuerpo XHTML de la notificación original enviada cuando el elemento de trabajo se asignó por primera vez. Reminder.getTextBody() Este método devuelve el cuerpo del texto de la notificación original enviada cuando el elemento de trabajo se asignó por primera vez. Reminder.getRemindersSent() Este método devuelve el número de recordatorios enviados previamente. Reminder.getEscalationTime() Este método devuelve una serie que contiene la fecha y la hora en que el elemento de trabajo se intensificará a menos que se realice una acción en el mismo. Reminder.getEscalationDate() Este método devuelve una fecha que contiene la fecha y la hora en que el elemento de trabajo se intensificará a menos que se realice una acción en el mismo. Descripción Una recordatorio de actividad de tarea pendiente informa al participante que IBM Tivoli Identity Manager precisa de la acción del usuario. 108 Consulta Role Rol asociado a una operación de suministro. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.script.extensions.model.RoleModelExtension Constructor new Role(dn) Devuelve Un objeto Role nuevo que representa el rol con el DN dado. Métodos getOwner() Devuelve una matriz de DirectoryObjects que representa cualquier persona que tenga una relación de propietario con este rol. Hereda de DirectoryObject Sinopsis role.dn; Descripción El objeto Role está disponible en el contexto de una política de suministro. Role.getOwner() Devuelve una matriz de DirectoryObjects que representa cualquier persona que tenga una relación de propietario con este rol. Disponibilidad Tivoli Identity Manager 5.0 Sinopsis Role.getOwner() Devuelve Matriz de DirectoryObjects que representa los propietarios de este rol, o null (nulo) si no hay propietarios. Uso var owners = role.getOwner(); RoleSearch Busca un rol. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.script.extensions.model.RoleModelExtension Constructor new RoleSearch() Devuelve El objeto de búsqueda de rol recién creado e inicializado. Métodos searchByName() Busca un rol por nombre. Consulta 109 RoleSearch.searchByName() Busca un rol por medio de un nombre. Disponibilidad Tivoli Identity Manager 4.6 Sinopsis RoleSearch.searchByName(name) Argumentos name Nombre de rol que utilizar como base para la búsqueda. Devuelve Matriz de DirectoryObjects que representa un rol. Descripción Dado el nombre de un rol, busca la entidad Role. Devolverá null (nulo) si no hay ningún rol que coincida exactamente. Uso // Given the name of a role, see if it exists and log its // description var roles = (new RoleSearch()).searchByName("testRole"); if (roles.length >= 1) { if (roles[0].getProperty("errolename")[0] == "testRole") { Enrole.log("script", "The Role "+ roles[0].getProperty("errolename")[0] + "has Description :" + roles[0].getProperty("description")[0]); } } SeparationOfDutyRuleViolation Objeto que proporciona información sobre una infracción específica de regla de separación de funciones. Utilice este objeto para obtener información específica sobre una infracción de política de separación de funciones. Este objeto no se puede crear para que lo utilice el usuario. El usuario sólo puede trabajar con objetos SeparationOfDutyRuleViolation que el sistema ha generado como parte del flujo de trabajo approveSoDViolation. Disponibilidad Tivoli Identity Manager 5.1 Suministrado por com.ibm.itim.script.wrappers.generic.IRuleResultWrapper Métodos getName() Devuelve el nombre de la regla de política de separación de funciones a la que corresponde esta infracción. getViolationString() Proporciona una cadena que representa la lista de roles que causan la infracción. Describe los roles de una persona que causan la infracción y el rol de una regla de separación de funciones al que corresponden. Las listas de roles pueden ser distintas debido a la jerarquía de roles. getViolationStringHTMLTable() Devuelve una versión de cadena de los roles que causan la infracción para utilizarlos en una tabla HTML o plantilla de correo electrónico. 110 Consulta getPolicyName() Devuelve el nombre de la política de separación de funciones que contiene la regla que causa la infracción. getPolicyDescription() Devuelve una descripción de la política de separación de funciones. getPolicyOwnerDNs() Devuelve un conjunto de los nombres distinguidos de uno o más propietarios de la política de separación de funciones. getCardinality() Devuelve una cadena que representa el número de roles permitidos en la regla de política de separación de funciones que causa la infracción. Service Servicio asociado a una operación de suministro. Disponibilidad Tivoli Identity Manager 4.x Suministrado por com.ibm.itim.script.extensions.model.ServiceModelExtension Constructor new Service(dn) Devuelve Un objeto Service nuevo que representa el servicio con el DN dado. Hereda de DirectoryObject Sinopsis service.dn; Descripción El objeto service está disponible en el contexto de una política de suministro y política de selección de servicios. ServiceSearch Busca un servicio. Disponibilidad Tivoli Identity Manager 4.x Contexto de Política de suministro Contexto de Política de selección de servicios Suministrado por com.ibm.itim.script.extensions.model.ServiceModelExtension Métodos searchByFilter() Busca un servicio por medio de un filtro. searchByName() Busca un servicio por medio de un nombre. Consulta 111 searchForClosestToPerson() Busca el servicio más cercano a la persona. Descripción Este objeto se utiliza para proporcionar posibilidades de búsqueda a los servicios de IBM Tivoli Identity Manager. ServiceSearch.searchByFilter() Busca un servicio por medio de un filtro. Disponibilidad Tivoli Identity Manager 4.x Sinopsis ServiceSearch.searchByFilter(filter, scope) Argumentos filter Filtro de búsqueda LDAP que define los criterios que deben satisfacer los contenedores devueltos. El filtro debe estar en el formato definido por RFC2254. scope Ámbito de búsqueda opcional. Utilice 1 para el ámbito de un nivel y 2 para el ámbito de subárbol. El ámbito de un nivel es el ámbito predeterminado. Devuelve Una matriz de DirectoryObjects que representa los resultados de la búsqueda. Descripción Este método buscará un servicio por medio de un filtro. Uso searchResult1 = ServiceSearch.searchByFilter("(erntlocalservername=*srv)", 2); // use default one level scope, put statement on one line searchResult2 = ServiceSearch.searchByFilter("(erntlocalservername=*srv)"); ServiceSearch.searchByName() Busca un servicio por medio de un nombre. Disponibilidad Tivoli Identity Manager 4.x Sinopsis ServiceSearch.searchByName(name, profileName, scope) Argumentos name Nombre de servicio, proporcionado como cadena, que utilizar como base para la búsqueda. profileName Nombre de perfil opcional, proporcionado como una cadena. Es el nombre de perfil del servicio a utilizar como base para la búsqueda. scope 112 Consulta Ámbito de búsqueda opcional, proporcionado como un entero. Utilice 1 para el ámbito de un nivel y 2 para el ámbito de subárbol. El ámbito de un nivel es el ámbito predeterminado. Cuando se utiliza este método en JavaScripts de flujo de trabajo, es necesario que se establezca el parámetro del ámbito en subárbol, porque el contexto de búsqueda lógica se limita al inquilino (sobre la organización predeterminada). En este contexto, si se establece el ámbito de un nivel, se devolverán resultados vacíos durante una búsqueda porque no hay servicios en el nivel del inquilino. Devuelve Una matriz de DirectoryObjects que representa los resultados de la búsqueda. Descripción Este método buscará un servicio por medio de un nombre. Uso searchResult1 = ServiceSearch.searchByName("US NT Service", 2); // use default one level scope searchResult2 = ServiceSearch.searchByName("US NT Service"); ServiceSearch.searchForClosestToPerson() Busca el servicio más cercano a la persona. Disponibilidad Tivoli Identity Manager 4.x Sinopsis ServiceSearch.searchFprClosestToPerson(person, scope) Argumentos person Objeto DirectoryObject que representa a una persona que se utilizará como base para la búsqueda. scope Ámbito de búsqueda opcional. Utilice 1 para el ámbito de un nivel y 2 para el ámbito de subárbol. El ámbito de un nivel es el ámbito predeterminado. Devuelve Una matriz de DirectoryObjects que representa los resultados de la búsqueda. Descripción Este método buscará un servicio más cercano a la persona. Uso searchResult1 = ServiceSearch.searchForClosestToPerson(subject, 2); // use default one level scope searchResult2 = ServiceSearch.searchForClosestToPerson(subject); Casos de ejemplo de uso de parámetros de política de suministro Los casos de ejemplo siguientes muestran el uso de los parámetros de política de suministro. Consulta 113 Caso de ejemplo 1: No se ha definido ningún atributo Si no se seleccionan valores de parámetro para un atributo de varios valores, todos los valores de este atributo son válidos. Si se agrega un parámetro para un atributo de varios valores con el tipo de parámetro como Allowed (válido), todos los demás valores para este atributo se excluyen explícitamente para esta política. Si un valor de atributo se agrega a una política como válido, todos los demás valores se excluyen implícitamente para este parámetro de la política. Para varias titularidades aplicables, la directiva de unión para el atributo determina un valor de atributo válido. Consulte los casos de ejemplo siguientes. Caso de ejemplo 2: Directiva de unión de política de suministro basada en prioridades La tabla siguiente identifica dos ejemplos de políticas de suministro: Tabla 9. Ejemplos de políticas de suministro Política Descripción Política 1 Prioridad = 1 Atributo: erdivision = divisionA, enforcement = DEFAULT Política 2 Prioridad = 2 Atributo: erdivision = divisionB, enforcement = MANDATORY Debido a que la Política 1 tiene una prioridad más alta, sólo se utiliza la definición de la Política 1 para el atributo erdivision. La definición de la Política 2 para el atributo erdivision se omite. Durante la validación de la política, incluida la conciliación con la opción de comprobación de política activada, divisionA puede existir en el atributo erdivision. Todos los demás valores son válidos, porque la única política que se considera en una unión de prioridad es la Política 1, que tiene la imposición DEFAULT en erdivision. La imposición DEFAULT en sí misma se interpreta como válida para todos los valores, pero el valor predeterminado es el valor especificado en la cuenta nueva. Nota: Una directiva de unión de prioridad es la directiva de unión predeterminada dada para todos los atributos de valor único y de tipo cadena. Caso de ejemplo 3: Directiva de unión de política de suministro basada en uniones La tabla siguiente identifica dos ejemplos de políticas de suministro: Tabla 10. Ejemplo de políticas de suministro Política Descripción Política 1 Prioridad = 1 Atributo: localgroup = groupA, enforcement = DEFAULT Política 2 Prioridad = 2 Atributo: localgroup = groupB, enforcement = MANDATORY Debido a que la directiva de unión está definida como UNION, la política resultante utiliza las definiciones siguientes para las políticas: v Durante la creación de cuentas, localgroup se define como groupA y groupB. 114 Consulta v Durante las conciliaciones, localgroup se define como groupB si el atributo no está definido o se ha definido de forma incorrecta. Nota: Una directiva de unión es la directiva de unión dada para atributos de varios valores. Parámetros de titularidad de la política de suministro Los parámetros de política de suministro ayudan a los administradores del sistema a definir los valores de atributo obligatorios y los valores permitidos. Los tipos de parámetros siguientes son válidos: v Valor constante v Null (nulo) v JavaScript v Expresión regular Los parámetros de suministro de una titularidad se pueden definir de forma estática o dinámica. Los parámetros se definen estáticamente seleccionando el tipo de parámetro constante y especificando valores literales, como cadenas o enteros. Por ejemplo, un atributo se puede definir como Usuarios del dominio o Usuarios avanzados. Un valor de parámetro definido dinámicamente se puede basar en una función JavaScript. Se puede definir un rango de valores utilizando una expresión regular. Los parámetros también se pueden especificar como Null (nulo), lo que indica que el parámetro no tiene valor. Esta situación es equivalente a tener un tipo de parámetro JavaScript con el valor return null; Los parámetros de suministro para atributos de valor único sólo pueden estar basados en un código JavaScript o en una constante. Los parámetros de suministro de un atributo de varios valores pueden utilizar como valor una constante, código JavaScript o una expresión regular. No obstante, una expresión regular se puede utilizar sólo para la imposición del parámetro de suministro de tipo Allowed o Excluded (Permitido y Excluido). Constante de la política de suministro Se puede asignar un valor constante, estático, a un parámetro de titularidad para un atributo de valor único o de varios valores mediante el tipo de parámetro constante de política de suministro. El parámetro de suministro se puede definir mediante un valor estático literal introduciendo el valor en el campo si el widget de campo lo permite, o puede seleccionar un valor cuando el widget del campo lo permita. Tipos Null (nulo) de política de suministro Se puede utilizar el tipo de parámetro null (nulo) para especificar un valor nulo para un atributo de cuenta. Si el valor de un parámetro se especifica como null con una imposición obligatoria, ningún valor es válido para este atributo. Puede definir específicamente un valor null para el parámetro de suministro, que es equivalente a especificar el valor como vacío. Consulta 115 Funciones JavaScript de la política de suministro Puede utilizar un script para definir parámetros de suministro. Los parámetros de suministro de una titularidad dentro de una política de suministro pueden definirse utilizando un script. El contexto del script es la persona para la cual se impone la titularidad, el servicio que la titularidad protege y el atributo eruid de la cuenta de destino. El contexto del script incluye los elementos siguientes: Subject Propietario de la cuenta. Service Servicio en el que existe o se creará la cuenta. uid ID de usuario de la cuenta. Context Información acerca de la evaluación del parámetro, que puede ser la validación de una cuenta nueva o la validación de una cuenta existente. Hay disponible un objeto especial denominado parameters para eruid cuando se evalúa el script en el contexto de los parámetros de la política de suministro. Para obtener su valor, utilice la sintaxis siguiente: parameters.eruid[0] El valor de cero en esta sintaxis devuelve el primer valor del objeto de la matriz. Un objeto JavaScript denominado subject representa a un usuario para el cual se aplica la titularidad. El servicio está representado por otra entidad de modelo de datos JavaScript llamada service. El autor del script utiliza los objetos subject y service para acceder a los atributos de estos objetos. Los valores de los atributos de los objetos que forman parte del contexto de evaluación también se pueden recuperar con las funciones JavaScript personalizadas de IBM Tivoli Identity Manager. Para utilizar JavaScript para definir el valor de un atributo, el tipo de parámetro JavaScript debe estar seleccionado. Seleccione JavaScript/Constante en el campo Tipo de expresión. Los ejemplos siguientes muestran el uso de las funciones JavaScript personalizadas de IBM Tivoli Identity Manager dentro de las políticas de suministro. Para ver el material de consulta completo de todas las funciones JavaScript personalizadas, consulte la sección Consulta de ampliaciones JavaScript. Atributos de persona Sintaxis: subject.getProperty(String rowAttrName) Ejemplo: subject.getProperty("sn")[0]; Ejemplo: 116 Consulta # Concatenates user's given name and family name with space in between. # Resulting string value may be used to on account attribute such as # Description. {subject.getProperty("givenname")[0] + " " + subject.getProperty("sn")[0];} Ejemplo: # Set a user's Password attribute to the user's Shared Secret Attribute # (if the account is automatically provisioned) { function passInit() {var password = subject.getProperty("ersharedsecret"); if (password.length > 0){ return password[0]; } else { return "" } }return passInit(); } Buscar persona Sintaxis: PersonSearch.searchByFilter(String profileName, String filter, [int scope]) donde scope=1 es una búsqueda de un nivel y scope=2 es una búsqueda de subárbol. Ejemplo: PersonSearch.searchByFilter("Person", "(sn=Smith)", 1); Buscar servicio Sintaxis: ServiceSearch.searchByFilter(String filter, [int scope]) donde scope=1 es una búsqueda de un nivel y scope=2 es una búsqueda de subárbol. Ejemplo: ServiceSearch.searchByFilter("(erntlocalservername=*srv)", 1); Servicio más próximo a la persona Sintaxis: ServiceSearch.searchForClosestToPerson(Person person, [int scope]) donde scope=1 es una búsqueda de un nivel y scope=2 es una búsqueda de subárbol. Ejemplo: ServiceSearch.searchForClosestToPerson(subject); Consulta 117 Nombre de la unidad de negocio donde se encuentra la persona Sintaxis: subject.getProperty(String propertyName) Ejemplo: subject.getProperty("Parent")[0].name; Especificación del UID de cuenta actual Sintaxis: uid = parameters.eruid[0]; Ejemplo: var accountId = parameters.eruid[0]; Sentencia Enrole.toGeneralizedTime Sintaxis: Enrole.toGeneralizedTime(Date date) Ejemplos: Utilizando la función para devolver la cadena de la fecha de hoy: var gt = Enrole.toGeneralizedTime(new Date()); Utilizando la función para devolver la cadena de la fecha de hoy como un atributo predeterminado: {Enrole.toGeneralizedTime(new Date())} Sentencia Enrole.toMilliseconds Sintaxis: Enrole.toMilliseconds(String generalizedTime) Ejemplos: var millis = Enrole.toMilliseconds("200101012004Z"); var date = new Date(millis); Expresiones regulares de la política de suministro Las expresiones regulares se utilizan para definir un patrón de coincidencia contra el que comprobar el texto dado. En IBM Tivoli Identity Manager, las expresiones regulares definen valores de parámetro permitidos y excluidos. En IBM Tivoli Identity Manager, las expresiones regulares definen valores de parámetro permitidos y excluidos. Los valores de parámetro con expresiones regulares se utilizan contra los valores de atributo existentes para determinar cuáles son válidos. Para utilizar una expresión regular para un valor de parámetro de suministro, seleccione Expresión regular en el menú Tipo de expresión. Nota: Expresión regular sólo se puede utilizar con los atributos excluidos y permitidos. Consulte la biblioteca regexp de Java para ver la sintaxis. 118 Consulta Política de selección de servicios JavaScript Una política de selección de servicios identifica el tipo de servicio del servicio devuelto y JavaScript especifica el servicio. Por ejemplo, la definición de servicio se puede basar en los atributos de un propietario de cuenta. Objetos de la política de selección de servicios JavaScript La política de selección de servicios JavaScript devuelve un objeto que representa una entidad de servicio de IBM Tivoli Identity Manager. El objeto JavaScript “subject” es un objeto Person que representa al propietario de la cuenta. Se pueden utilizar los atributos de la persona para construir filtros para buscar y devolver el servicio. ServiceModelExtension está disponible para la política de selección de servicios de forma predeterminada. La lista siguiente incluye las API para el objetoJavaScript ServiceSearch que se pueden utilizar para devolver el servicio: v ServiceSearch.searchByName v ServiceSearch.searchByFilter v ServiceSearth.searchForClosestToPerson Consulte la guía de consulta de API de JavaScript para obtener información detallada de estas API. Ejemplo de script de política de selección de servicios Esta sección incluye ejemplos de scripts de políticas de selección de servicios. Selección de servicios basados en el apellido El script siguiente devuelve una instancia de servicio basada en el apellido del propietario de la cuenta. Se pueden utilizar otros atributos de la persona, como el cargo y la ubicación, para seleccionar el servicio, como en este ejemplo. function selectService() { var sn = subject.getProperty("sn")[0]; var serviceInstance = null; if(sn=="Jones") { serviceInstanceArr = ServiceSearch.searchByFilter( "(erservicename=NT40X)", 1); if (serviceInstanceArr != null && serviceInstanceArr.length > 0) serviceInstance = serviceInstanceArr[0]; } else { serviceInstanceArr = ServiceSearch.searchByFilter( "(erservicename=NT40Y)", 1); if (serviceInstanceArr != null && serviceInstanceArr.length > 0) serviceInstance = serviceInstanceArr[0]; } return serviceInstance; } return selectService(); Búsqueda del servicio más cercano a la persona El ejemplo siguiente busca el servicio más cercano al nivel propio de la persona, basado en la estructura de árbol de la organización. Consulta 119 function selectService() { var services = ServiceSearch.searchForClosestToPerson(subject); if (services != null && services.length > 0) { return services[0]; } } return selectService(); Tipo de control Subformulario El tipo de control Subformulario proporciona un medio para utilizar interfaces de usuario personalizadas para atributos complejos de varios valores. Algunos adaptadores de IBM Tivoli Identity Manager utilizan este tipo de control con poca frecuencia. Subformulario es un tipo de control especial que se utiliza para invocar una página HTML estática, servlet o JSP desde una ventana emergente que se abre desde un formulario de IBM Tivoli Identity Manager personalizado. Los subformularios proporcionan un medio para enviar un número arbitrario de nombres de parámetro y valores a un servlet o JSP personalizado y se utilizan para crear interfaces de usuario personalizadas para los atributos complejos de varios valores. Tabla 11. Parámetros de Subformulario Parámetro Descripción Valor customServletURI Nombre de servlet o La dirección URI de la página HTML nombre de archivo JSP, estática, servlet o JSP que debe invocarse como sample.jsp desde el formulario principal. Si se implementa un Servlet y se despliega en la aplicación web predeterminada de IBM Tivoli Identity Manager, el valor de este parámetro será el mismo que el valor URL-pattern definido en web.xml en el identificador servlet-mapping, sin la barra inclinada (/). Si se implementa una JSP, el valor de este parámetro es el archivo JSP incluida la extensión de archivo jsp. Este parámetro se necesita en todos los subformularios. Nombre de parámetro Valor del parámetro Nombre de parámetro arbitrario y valor que se incluye en la solicitud HTTP que invoca el recurso en customServletURI. Por ejemplo: objectClass=erracfgrp Para obtener más información, consulte el ejemplo de subformulario y otra información en el subdirectorio ITIM_HOME/extensions/examples/ que proporciona IBM Tivoli Identity Manager. Parámetros contextuales de Subformulario Como elemento hijo de un formulario principal, se pasan a un Subformulario parámetros contextuales que ayudan a identificar el contexto desde el que se invocó. 120 Consulta Estos parámetros contextuales se incluyen en la solicitud HTTP que muestra el Subformulario: Tabla 12. Parámetros de Subformulario Nombre de parámetro (contextual) HTTP Crear persona target_dn vacío DN de la persona DN del propietario de cuenta DN de la cuenta container_dn DN del contenedor de árbol de organización donde se creará la persona. vacío DN del propietario de cuenta DN del propietario de cuenta search_base vacío vacío DN del servicio DN de la instancia del servicio en la cual se suministra una cuenta Modificar persona Crear cuenta Modificar cuenta Para asignar el valor de parámetro HTTP target_dn a una cadena declarada en el interior de un servlet: String targetDN = request.getParameter("target_dn"); Ejemplo de Modificar cuenta Por ejemplo, para Modificar cuenta, los valores de los parámetros contextuales son: target_dn Es el DN de la entidad cuyos atributos aparecen en el formulario principal. Si el Subformulario está situado en un formulario de cuenta RACF, este valor de parámetro sería el nombre distinguido (DN) de la cuenta RACF. container_dn Es la entidad principal o el contenedor de la entidad. Por ejemplo, si el Subformulario se coloca en un formulario de persona, este valor de parámetro sería el nombre distinguido (DN) de la organización, la unidad organizativa, el dominio Admin o la ubicación que es el contenedor o principal de la persona. search_base Por ejemplo, si el Subformulario está colocado en un formulario de cuenta RACF, este valor de parámetro sería el nombre distinguido (DN) de la instancia de servicio RACF en la que se suministra la cuenta. Convenio de denominación de parámetros de solicitud HTTP Los creadores del Subformulario deben tener en cuenta que existe un convenio de denominación utilizado en los parámetros de Subformulario para evitar las colisiones con otros parámetros (como los parámetros contextuales). El convenio de denominación de los parámetros de Subformulario es: [prefijo].[nombre_atributo].[nombre_parámetro] Consulta 121 donde: prefijo property.data nombre_atributo Nombre del atributo en el que se coloca el Subformulario en el formulario principal. nombre_parámetro Nombre utilizado en el diálogo Editor de subformularios. Por ejemplo, un parámetro HTTP denominado property.erracfconnectgroup.objectClass contendrá el valor definido en el diálogo Editor de subformularios asignado a objectClass. Para asignar este valor a una cadena declarada dentro de un servlet: String objectClass = request.getParameter("property.data.erracfconnectgroup.objectClass"); Escritura de un Subformulario Para escribir un Subformulario personalizado, cree un servlet que genere la interfaz de usuario HTML para gestionar el valor del atributo. Para guardar el valor, cree una instancia nueva de com.ibm.itim.common.AttributeValue y enlácelo a una sesión HTTP del usuario por medio de la clave definida en com.ibm.itim.webclient.util.FormData (en una línea): AttributeValue av = new AttributeValue("attributename", "customValue"); HttpSession session = request.getSession(false); session.setAttribute("subFormAttrValue", av); Así se asegura de que el valor se recoge y se agrega a los datos del formulario recopilados desde los campos del formulario cuando se envíe el formulario principal. Archivos de propiedades suplementarios En esta sección se proporciona información detallada acerca de los valores y las claves de propiedad contenidos en los archivos de propiedades suplementarios de IBM Tivoli Identity Manager. Comprensión de los archivos de propiedades Los archivos de propiedades Java definen los atributos que permiten personalizar y controlar el software Java. Los archivos de propiedades del sistema estándar y los archivos de propiedades personalizadas se utilizan para configurar las preferencias de usuario y la personalización del usuario. Un archivo de propiedades Java define los valores de los recursos con nombre que pueden especificar opciones del programa, como la información de acceso a la base de datos, los valores del entorno, y las funciones y funcionalidad especiales. Un archivo de propiedades define los recursos con nombre por medio de un formato de par de clave y valor de propiedad: nombre-clave-propiedad=valor 122 Consulta nombre-clave-propiedad es un identificador para el recurso. El valor es normalmente el nombre del objeto Java real que proporciona el recurso o una cadena que representa el valor de la clave de propiedad, como por ejemplo, database.name=itimdb. La sintaxis de la sentencia permite espacios antes y después del signo igual (=) y puede distribuirse en varias líneas si coloca un carácter de continuación de línea \ (una barra inclinada invertida) al final de la línea. Para obtener más información acerca de la sintaxis de la sentencia, consulte las guías de consulta del lenguaje Java. IBM Tivoli Identity Manager utiliza algunos archivos de propiedades para controlar la funcionalidad del programa y para permitir la personalización por parte del usuario de las funciones especiales. Archivos de propiedades modificables Esta tabla enumera los archivos de propiedades de IBM Tivoli Identity Manager que puede modificar. La Tabla 13 enumera los archivos de propiedades de IBM Tivoli Identity Manager. La mayoría de los archivos se encuentran en el directorio ITIM_HOME\data\. Los archivos de propiedades adicionales no se pueden configurar y no se deben modificar. Tabla 13. Archivos de propiedades Nombre del archivo de propiedades Descripción adhocreporting El archivo adhocreporting.properties da soporte al módulo de informes personalizados. crystal El archivo crystal.properties almacena las propiedades globales para el plug-in de Crystal Reports del módulo de informes personalizados. CustomLabels Los pares de clave y valor de propiedad del archivo CustomLabels.properties se utilizan en la interfaz de usuario de Tivoli Identity Manager para visualizar el texto de las etiquetas de los formularios. DataBaseFunctions.conf La función de informes personalizados de Tivoli Identity Manager le permite utilizar las funciones de la base de datos al diseñar las plantillas de informe personalizado. enRole El archivo de configuración del sistema enRole.properties contiene muchas de las propiedades utilizadas para configurar IBM Tivoli Identity Manager. enroleAuditing Los pares de clave y valor de propiedad del archivo enroleAuditing.properties se utilizan para habilitar o inhabilitar el seguimiento de los cambios realizados por un usuario de Tivoli Identity Manager en los objetos empresariales (persona, ubicación, servicio, etc.) o en la configuración del sistema. enRoleAuthentication El archivo enRoleAuthentication.properties especifica el tipo de método utilizado por el Tivoli Identity Manager Server para autenticar a los usuarios e identifica el objeto Java que proporciona el mecanismo de autenticación especificado. Consulta 123 Tabla 13. Archivos de propiedades (continuación) Nombre del archivo de propiedades 124 Consulta Descripción enRoleDatabase El archivo enRoleDatabase.properties especifica las propiedades que dan soporte a la base de datos relacional utilizada por Tivoli Identity Manager. enRoleLDAPConnection El archivo enRoleLDAPConnections.properties proporciona valores de configuración estándar que permite la comunicación satisfactoria entre Tivoli Identity Manager y el servidor de directorios LDAP. enRoleLogging El archivo enRoleLogging.properties especifica los atributos que rigen el funcionamiento de la API de registro y rastreo jlog que se proporciona con Tivoli Identity Manager. enRoleMail El archivo enRoleMail.properties contiene atributos que especifican el protocolo de transporte de correo que utiliza la API de JavaMail y otras propiedades específicas de la aplicación Tivoli Identity Manager. Debe proporcionar los valores para las propiedades específicas de la aplicación. enrolepolicies El archivo enrolepolicies.properties proporciona valores estándar y personalizados que dan soporte a las funciones de la política de suministro. enroleworkflow El archivo enroleworkflow.properties especifica las correlaciones de archivo XML para los flujos de trabajo definidos por el sistema. fesiextensions El archivo fesiextensions.properties (en desuso) proporciona soporte para las ampliaciones JavaScript Free EcmaScript Interpreter (FESI) para versiones anteriores a la 5.0 de Tivoli Identity Manager. No cree nuevas ampliaciones utilizando esta arquitectura en desuso. helpmappings El archivo helpmappings.properties permite a un cliente sustituir el sistema de ayuda instalado de Tivoli Identity Manager por un sistema de ayuda alternativo. reportingLabels Este archivo de propiedades es como otros archivos de propiedades relacionados con etiquetas, como labels.properties o customLabels.properties, y contiene las etiquetas utilizadas por los informes. reporttabledeny De forma predeterminada, esta propiedad contiene una lista de tablas de Tivoli Identity Manager utilizadas por varios componentes de Tivoli Identity Manager para almacenar datos internos o de configuración que no son adecuados para un informe. scriptframework Para todas las nuevas ampliaciones JavaScript, utilice el archivo scriptframework.properties para configurar las ampliaciones de script y otras funciones de scripts. SelfServiceHelp El archivo SelfServiceHelp.properties puede utilizarse para redirigir la ayuda a una ubicación personalizada para los clientes que desean tener su propio contenido de ayuda para la interfaz de usuario de autoservicio. SelfServiceHomePage El archivo SelfServiceHomePage.properties se utiliza para configurar las secciones de la página de inicio inicialmente instalada para la interfaz de usuario de autoservicio. En este archivo, puede agregar y eliminar tareas, así como actualizar URL de iconos y etiquetas de la página de inicio. Tabla 13. Archivos de propiedades (continuación) Nombre del archivo de propiedades Descripción SelfServiceScreenText El archivo SelfServiceScreenText.properties es un paquete de recursos que contiene las etiquetas para la interfaz de usuario de autoservicio. SelfServiceUI El archivo SelfServiceUI.properties controla varias propiedades de la interfaz de usuario de autoservicio. ui El archivo ui.properties especifica los atributos que afectan al funcionamiento y la visualización de la interfaz gráfica de usuario de Tivoli Identity Manager. Archivos de propiedades no modificables Algunos archivos de propiedades no se pueden configurar y no se deben modificar. La Tabla 14 enumera los archivos de propiedades que IBM Tivoli Identity Manager utiliza. En todos los casos, estos archivos no se pueden configurar y no se deben modificar. Tabla 14. Archivos de propiedades no modificables Nombre del archivo de propiedades Descripción ConfigErrorMessages Este archivo lo utiliza el programa de utilidad runConfig y contiene mensajes de error de configuración en inglés. No lo modifique. ConfigLabels Este archivo lo utiliza el programa de utilidad runConfig y contiene etiquetas de visualización de la GUI de IBM Tivoli Identity Manager en inglés. No lo modifique. ConfigMessages Este archivo lo utiliza el programa de utilidad runConfig y contiene instrucciones de configuración y mensajes normales en inglés. No lo modifique. CustomForms Este archivo se utiliza para la generación de formularios, la visualización de formularios y el diseño de formularios. No lo modifique. CustomThemes No lo modifique. Este archivo tiene temas personalizados que los applets utilizan para dar soporte a la accesibilidad. Dsml2RootDSE Este archivo se utiliza para realizar una búsqueda DSE raíz (LDAP) para devolver un conjunto de atributos acerca del servidor de IBM Tivoli Identity Manager. No lo modifique. Dsml2Schema Este archivo se utiliza para realizar una búsqueda de esquema (LDAP) para devolver clases de objeto y atributos especificados en este archivo. No lo modifique. enRole2ldif Actualmente este archivo está en desuso y se utilizaba para la migración desde enRole 3.x a 4.4. No lo modifique. Consulta 125 Tabla 14. Archivos de propiedades no modificables (continuación) Nombre del archivo de propiedades Descripción enRoleEntityHiddenAttributes Este archivo se utiliza para filtrar los atributos de LDAP de cada tipo de entidad ITIM disponible para la correlación (por ejemplo, Organization, BPOrganization, Person, BPPerson). No lo modifique. enRoleFonts Este archivo especifica nombres de font para idiomas de entorno local. No lo modifique. enRoleHelp Este archivo contiene una lista de operaciones que no aparecerán en el diseñador de flujos de trabajo. No lo modifique. enRoleHiddenAttributes Este archivo contiene los atributos de cada clase de objeto (por ejemplo, persona, servicio, cuenta, unidad organizativa) que no son visibles para la GUI de IBM Tivoli Identity Manager. Esta lista de atributos ocultos contiene la mayoría de los atributos utilizados por el sistema. No lo modifique. enRoleHiddenOperations No lo modifique. enRoleHiddenSearchAttributes Los atributos listados en este archivo no aparecerán en las actividades de búsqueda ni en los detalles de cualquier solicitud pendiente y completa. Este archivo se utiliza para filtrar los atributos de datos de proceso que no se deben mostrar en la interfaz de usuario. No elimine las entradas existentes de este archivo, en caso contrario la función de búsqueda de estos atributos fallará. No lo modifique. 126 Consulta enroleStartup Este archivo se utiliza para especificar las actividades de inicio en el entorno de WebSphere Application Server. No lo modifique. enRoleUnchangedAttributes Este archivo lo utiliza el programa de utilidad de actualización del servidor de directorios. No lo modifique. enRoleValidateAttributes Este archivo lo utiliza internamente el servidor de IBM Tivoli Identity Manager para la correlación de atributos del esquema de la entidad. No lo modifique. entitlementHiddenAttributes Este archivo lo utiliza el servidor de IBM Tivoli Identity Manager para filtrar los atributos gestionados del sistema que no se deben visualizar en la selección de parámetros de titularidad disponible. No lo modifique. expressHiddenAttributes Este archivo lo utilizaba el servidor de Tivoli Identity Manager Express en la versión 4.6.x. No lo modifique. HighContrastBigFontTheme Este archivo se utiliza para especificar el aspecto de un font grande de alto contraste, para la accesibilidad de applet. No lo modifique. HighContrastTheme Este archivo se utiliza para especificar valores de visualización de alto contraste para la accesibilidad de applet. No lo modifique. ibmSchemaSyntax La configuración LDAP utiliza este archivo durante la instalación de IBM Tivoli Identity Manager. No lo modifique. Tabla 14. Archivos de propiedades no modificables (continuación) Nombre del archivo de propiedades Descripción iplanetSchemaSyntax La configuración LDAP utiliza este archivo durante la instalación de IBM Tivoli Identity Manager. No lo modifique. itiminstaller Este archivo se utiliza en la instalación de IBM Tivoli Identity Manager. No lo modifique. Labels Este archivo contiene las etiquetas en inglés para la visualización de la interfaz de usuario. No lo modifique. Messages Este archivo contiene todos los mensajes normales que utiliza IBM Tivoli Identity Manager para comunicarse con los usuarios. No lo modifique. passwordrules Este archivo se utiliza para especificar la clase personalizada para generar contraseñas. IBM Tivoli Identity Manager proporciona un generador de contraseñas predeterminado. En el archivo passwordrules.properties de ejemplo, la primera línea contiene el nombre de la clase. La segunda línea define los requisitos de entrada de la clase definida en la línea 1. Es posible que su sitio necesite reglas adicionales para utilizarlo en producción. No lo modifique. platformcontext Este archivo especifica información de contexto de plataforma de suministro. No lo modifique. Properties Este archivo es el archivo de propiedades de nivel principal que indica la vía de acceso real al archivo de propiedades. No lo modifique. subform El servidor de IBM Tivoli Identity Manager utiliza este archivo para los subformularios. No lo modifique. tenant Este archivo se utiliza para la creación de un nuevo inquilino. No lo modifique. tmsMessages Este archivo contiene todos los mensajes de error. No lo modifique. TungstenTheme Este archivo establece valores de visualización para la accesibilidad de applet. No lo modifique. adhocreporting.properties El archivo adhocreporting.properties da soporte al módulo de informes personalizados. La Tabla 15 define las propiedades utilizadas para configurar los informes. Tabla 15. Propiedades de adhocreporting.properties Generación de informes reportPageSize Consulta 127 Tabla 15. Propiedades de adhocreporting.properties (continuación) Indica el número de filas que se muestran en cada página de un informe PDF. El número máximo de filas de una página no debe superar las 45. Ejemplo (predeterminado): reportPageSize=45 reportColWidth Indica el ancho, en centímetros (cm), de la columna del informe en una salida de informe PDF. Puede ajustar el tamaño de todas las columnas si modifica este valor. Nota: 2,54 cm equivale a 1 pulgada. Ejemplo (predeterminado): reportColWidth=20 Imposición del elemento de control de accesos en los datos generados del informe availableForNonAdministrators Especifica si sincronizar información relacionada con el elemento durante la sincronización de datos. Establezca este valor en true para permitir que los usuarios no administradores ejecuten informes. Establezca este valor en false para inhabilitar todas las funcionalidades relacionadas con la ejecución de informes por parte de los usuarios no administradores, como la sincronización de datos de elementos de control de accesos y el establecimiento de elementos de control de accesos de informes en los informes. Ejemplo: availableForNonAdministrators=true Imposición del esquema incremental mediante el Sincronizador de datos incremental enableDeltaSchemaEnforcer Especifica si sincronizar los cambios del esquema en los informes. Los cambios del esquema incluyen las nuevas correlaciones creadas o las correlaciones existentes que se eliminaron por medio del Diseñador de esquemas. Cuando se establece en true, el Sincronizador de datos incremental gestionará los atributos que se han correlacionado (cambiado) en el Diseñador de esquemas desde que se ejecutó la última sincronización de datos completa. Cuando se establece en false, el Sincronizador de datos incremental no sincronizará los atributos que se han correlacionado (cambiado) desde que se ejecutó la última sincronización de datos completa. Ejemplo (predeterminado): enableDeltaSchemaEnforcer=false 128 Consulta Tabla 15. Propiedades de adhocreporting.properties (continuación) Sincronización de datos changelogEnabled Especifica si se utiliza el Sincronizador de datos incremental. Los valores son: v true – El Sincronizador de datos incremental está configurado v false – El Sincronizador de datos incremental no está configurado Ejemplo (predeterminado): changelogEnabled=false changelogBaseDN Especifica el DN en el directorio donde está configurado el registro de cambios. Ejemplo (predeterminado): changelogBaseDN=cn=changelog changeLogFetchSize Especifica el número de registros de cambios que se pueden captar a la vez desde el servidor de directorios. Un valor de 0, o un valor negativo, implica que no hay ninguna restricción de captación. La restricción de captación es útil cuando el servidor de directorios no puede recibir una carga excesiva durante un periodo de tiempo. Por ejemplo, la recuperación de 100.000 entradas de registro de cambios a la vez puede retrasar el tiempo de respuesta del servidor de directorios durante unos minutos. Ejemplo (predeterminado): changeLogFetchSize=200 maximumChangeLogsToSynchronize Especifica el número máximo de registros de cambios que se sincronizarán en un único usuario del Sincronizador de datos incremental. Tenga en cuenta la memoria del sistema disponible y la utilización de la CPU necesaria para otros procesos del sistema cuando establezca esta propiedad. Si el valor se establece en cero, o en un valor negativo, el Sincronizador de datos incremental sincroniza todas las entradas de registro de cambios. Ejemplo (predeterminado): maximumChangeLogsToSynchronize=10000 changeLogsToAnalyzeBeforeSynchronization Consulta 129 Tabla 15. Propiedades de adhocreporting.properties (continuación) Especifica el número de entradas de registro de cambios captadas que se analizarán antes de que se sincronicen todas las entradas analizadas de la base de datos. Por ejemplo, tenga en cuenta los valores siguientes: changeLogFetchSize=500 changeLogsToAnalyzeBeforeSynchronization=20000 maximumChangeLogsToSynchronize=100000 500 entradas de registro de cambios se consideran un lote. Después de analizar 20.000 entradas de registro de cambios (40 lotes), se produce la sincronización de datos. Este proceso repite hasta que se analicen 100.000 entradas (5 sincronizaciones). Establecer este valor en 0, o un valor negativo, resulta en la sincronización de todas las entradas de registro de cambios captadas. Ejemplo (predeterminado): changeLogsToAnalyzeBeforeSynchronization=5000 enableChangelogPruning Especifica si las entradas de registro de cambios deben podarse después de que se hayan sincronizado correctamente. Esta propiedad tiene efecto sólo para el servidor de directorios SunOne versión 5.2. Para IBM Tivoli Directory Server, consulte la documentación que la aplicación proporciona para podar las entradas de registro de cambios. Ejemplo (predeterminado): enableChangelogPruning=false itimAdminID Especifica el ID de administrador de IBM Tivoli Identity Manager necesario para ejecutar el Sincronizador de datos incremental en un entorno zOS. Por ejemplo: itimAdminID=myadminid itimAdminCredential Especifica la contraseña de Tivoli Identity Manager necesaria para ejecutar el Sincronizador de datos incremental en un entorno zOS. Por ejemplo: itimAdminCredential=myadmincredential createIndex 130 Consulta Tabla 15. Propiedades de adhocreporting.properties (continuación) Especifica si crear índices de base de datos para las columnas de base de datos utilizadas con más frecuencia. Si esta propiedad se establece en true, los informes se generan más rápidamente. Los valores válidos de esta propiedad son: v true – Crea índices para las columnas que se utilizan para los informes. La habilitación de este valor podría incrementar el tiempo de sincronización de datos. v false – No crea índices durante la sincronización de datos. La inhabilitación de este valor podría aumentar el tiempo necesario para generar informes. Ejemplo (predeterminado): createIndex=true reportIndexes Especifica un conjunto de valores <ENTITY:(ATTR1 ORDER1, ATTR2 ORDER2, ...)> en el que se crearán los índices. Con esta propiedad se pueden crear tanto índices únicos como compuestos. Si está creando un índice único, utilice el nombre de la entidad que ve en el diseñador de informes o la funcionalidad de correlación del esquema. Si está definiendo un índice compuesto, especifique el nombre exacto de la tabla, como Account o Person_cn, en lugar del nombre de la entidad. Puede especificar un orden opcional ″asc″ o ″desc″ para un índice. Fíjese en el uso de un punto y coma como delimitador entre los índices. Debe mantener la sintaxis de esta propiedad de forma correcta o es posible que los índices no se creen satisfactoriamente. Si agrega índices adicionales, siga la sintaxis de estos índices predeterminados: reportIndexes=Person:cn asc;Account:eraccountcompliance; Account:(eraccountstatus asc);Account:erlastaccessdate asc; Account:eruid asc;Service:(servicetype asc); Service:erservicename asc;ProvisioningPolicy:erpolicyitemname asc; ProvisioningPolicy:erpolicytarget asc; ProvisioningPolicy:erpolicymembership asc;Role:errolename asc; Account:(eraccountstatus asc, erservice asc); Person_cn:(dn, cn);Account_owner:(dn asc, owner asc) sqlBatchSize Indica el tamaño de las actualizaciones de lotes que se procesan durante la sincronización de datos. Para aumentar el rendimiento, establezca este valor en un número mayor. Sin embargo, este valor se ve afectado por los valores específicos de la base de datos para el tamaño del archivo de registros de la transacción (una propiedad de la base de datos) y establecer un valor demasiado alto puede provocar que falle la sincronización de datos. Utilice siempre el valor predeterminado recomendado de 50 para evitar errores de sincronización de datos. Un valor de 0, o un valor negativo, provoca que se procesen todas las actualizaciones SQL como un único lote. Ejemplo (predeterminado): sqlBatchSize=50 attribsSkippedInSchema Consulta 131 Tabla 15. Propiedades de adhocreporting.properties (continuación) Estos atributos contienen XML como datos. El motor de informes actualmente no da soporte a la creación de informes con estos atributos. Ejemplo (en una línea): attribsSkippedInSchema=erEntitlements erAcl erHistoricalPassword erJavascript erLostPasswordAnswer erPassword erPlacementRule erxforms erXML reportsAllowedAttributes Conjunto de atributos en el que el motor de informes no impone el control de accesos de nivel de atributo. Ejemplo (predeterminado): reportsAllowedAttributes=servicetype reportsAllowedEntities Conjunto de entidades en el que el motor de informes no impone el control de accesos de nivel de atributo. Ejemplo (predeterminado): reportsAllowedEntities=RecertificationPolicy,Group reservedWords Palabras reservadas de base de datos. Estas palabras no se utilizarán como nombres de tabla/columna durante la correlación de esquema y la sincronización de datos. Ejemplo (en una línea): reservedWords=ALL ADD ALTER BACKUP BEGIN BY BULK CASCADE CHECK CHECKPOINT CLUSTORED COLUMN CREATE CURRENT DUMMY DOMAIN DELETE DEFAULT DISTINCT DROP FORIGN FROM GROUP IDENTITY IDENTITY_INSERT IDENTITYCOL INSERT IN LIKE SET SELECT TABLE VALUES ORDER UID WHERE disallowedChars Caracteres que no formarán parte del nombre de tabla/columna en una base de datos. Si el nombre de entidad/atributo contiene uno o más de estos caracteres, éstos se eliminarán del nombre de la tabla o columna. En el ejemplo que se muestra a continuación, las dobles barras invertidas (\\) se utilizan como caracteres de escape. Ejemplo (predeterminado): disallowedChars=~!@#%^&*()+{}|:\"<>? -=[]\\;',./ disallowedCharsForStart Caracteres que no se utilizarán como el carácter de inicio del nombre de la tabla o la columna. En el ejemplo que se muestra a continuación, las dobles barras invertidas (\\) se utilizan como caracteres de escape. Ejemplo (predeterminado): disallowedCharsForStart=~!@#$%^&*()_+{}|:\"<>? -=[]\\;',./0123456789 maxTableNameLength 132 Consulta Tabla 15. Propiedades de adhocreporting.properties (continuación) Longitud máxima predeterminada de un nombre de tabla. Ejemplo (predeterminado): maxTableNameLength=30 maxColumnNameLength Longitud máxima predeterminada de un nombre de columna. Ejemplo (predeterminado): maxColumnNameLength=30 maxTableNameLength_DB2 Longitud máxima de un nombre de tabla en DB2. Ejemplo (predeterminado): maxTableNameLength_DB2=128 maxColumnNameLength_DB2 Longitud máxima de un nombre de columna en DB2. Ejemplo (predeterminado): maxColumnNameLength_DB2=30 maxTableNameLength_ZDB2 Longitud máxima de un nombre de tabla en DB2 Z/OS. Ejemplo (predeterminado): maxTableNameLength_ZDB2=128 maxColumnNameLength_ZDB2 Longitud máxima de un nombre de columna en DB2 Z/OS. Ejemplo (predeterminado): maxColumnNameLength_ZDB2=30 maxTableNameLength_ORACLE=30 Longitud máxima de un nombre de tabla en Oracle. Ejemplo (predeterminado): maxTableNameLength_ORACLE=30 maxColumnNameLength_ORACLE Longitud máxima de un nombre de columna en Oracle. Ejemplo (predeterminado): maxColumnNameLength_ORACLE=30 maxTableNameLength_MS_SQL_SERVER Consulta 133 Tabla 15. Propiedades de adhocreporting.properties (continuación) Longitud máxima de un nombre de tabla en Microsoft SQL Server. Ejemplo (predeterminado): maxTableNameLength_MS_SQL_SERVER=128 maxColumnNameLength_MS_SQL_SERVER Longitud máxima de un nombre de columna en Microsoft SQL Server. Ejemplo (predeterminado): maxColumnNameLength_MS_SQL_SERVER=128 populateGroupMembers Especifica si los cambios de pertenencia a grupos de servicio se tienen que sincronizar al realizar la sincronización incremental. La información de pertenencia a grupos de servicio se almacena en la tabla GROUPMEMBERS. Los valores válidos de esta propiedad son: v true – Sincroniza cambios de pertenencia a grupos de servicio y accesos (por ejemplo, debido a una solicitud de acceso nueva). v false – No sincroniza cambios de pertenencia a grupos, ya que este tipo de sincronización precisa de un gran rendimiento. Ejemplo (predeterminado): populateGroupMembers=false crystal.properties El archivo crystal.properties almacena las propiedades globales para el plug-in de Crystal Reports del módulo de informes personalizados. La Tabla 16 define las propiedades utilizadas para configurar los informes de Crystal Reports. Tabla 16. Propiedades de crystal.properties crystalHome Directorio de inicio de instalación de Crystal. Para una vía de acceso de Windows como: C:\Archivos de programa, utilice C:\\Archivos de programa (tenga en cuenta el uso de la barra invertida doble). Ejemplo: crystalHome=C:\\Archivos de programa\\Crystal Decisions cmsHost Nombre de host CMS. Si se utiliza un puerto no predeterminado, especifique el valor para cmsHost como nombre_host:puerto. Ejemplo: cmsHost=test.tivlab.raleigh.ibm.com:6400 crystalEnterpriseUser 134 Consulta Tabla 16. Propiedades de crystal.properties (continuación) Nombre del usuario de Crystal Enterprise creado en la consola de gestión de Crystal. Ejemplo: crystalEnterpriseUser=crystalEntUser crystalEnterprisePassword Contraseña del usuario de Crystal Enterprise creado en la consola de gestión de Crystal. Ejemplo: crystalEnterprisePassword=kk39kcDX crystalreports Establezca este valor en combine (valor predeterminado) si desea agregar las plantillas de Crystal Reports a la lista de plantillas del Diseñador en la consola. Establezca este valor en replace si desea sustituir la lista de plantillas del Diseñador en la consola. Ejemplo: crystalreports=combine dsn La funcionalidad de Crystal precisa crear un DSN donde se ejecute el servidor de Crystal. El DSN debe apuntar a la base de datos de IBM Tivoli Identity Manager. Esta propiedad especifica el nombre del DSN. Ejemplo: dsn=ITIMDB1 database Nombre de la base de datos de IBM Tivoli Identity Manager en la que se crea el DSN. Este podría ser diferente del nombre de la base de datos de IBM Tivoli Identity Manager especificada en data/enroleDatabaseConnection.properties Ejemplo: database=ITIMDB1 CustomLabels.properties Los pares de clave y valor de propiedad del archivo CustomLabels.properties se utilizan en la interfaz de usuario de Tivoli Identity Manager para visualizar el texto de las etiquetas de los formularios. El nombre de clave debe estar completamente en minúsculas en cada par de clave y valor de propiedad. Existe un archivo separado CustomLabels.properties para cada idioma individual con soporte en IBM Tivoli Identity Manager. Este archivo se utiliza para proporcionar versiones localizadas de los elementos de la GUI cuando se instala IBM Tivoli Identity Manager en entornos internacionales. Consulta 135 La extensión del nombre de archivo identifica el idioma específico. Por ejemplo: CustomLabels_ja.properties — Japonés CustomLabels_en.properties — Inglés DataBaseFunctions.conf La función de informes personalizados de Tivoli Identity Manager le permite utilizar las funciones de la base de datos al diseñar las plantillas de informe personalizado. Este archivo se encuentra en el directorio ITIM_HOME/data. Puede utilizar las funciones de la base de datos con el componente Diseñador de informes de IBM Tivoli Identity Manager si define las funciones del archivo DataBaseFunctions.conf. Las propiedades predefinidas de la función de la base de datos utilizan el formato siguiente en el archivo DataBaseFunctions.conf: <nombre_función> - <número_de_argumentos> Los usuarios de la base de datos también pueden crear y definir funciones para su uso personal. Las funciones personalizadas se denominan funciones definidas por el usuario en Microsoft SQL e IBM DB2. Las funciones creadas como procedimientos almacenados en DB2 también se pueden utilizar para la creación de informes. Las funciones deben crearse por medio de los programas de utilidad de la base de datos que proporciona el proveedor de la base de datos correspondiente. Las propiedades de la función de la base de datos definidas por el usuario utilizan el formato siguiente en el archivo DataBaseFunctions.conf: user:<nombre_función> - <número_de_argumentos> En el Diseñador de informes de IBM Tivoli Identity Manager sólo se da soporte a las funciones con un único argumento. Para las funciones avanzadas de creación de informes, utilice la herramienta Crystal Reports Designer. Tabla 17. DataBaseFunctions.conf Upper Pasa el argumento a letras mayúsculas. Ejemplo: Upper - 1 Lower Pasa el argumento a letras minúsculas. Ejemplo: Lower - 1 136 Consulta enroleAuditing.properties Los pares de clave y valor de propiedad del archivo enroleAuditing.properties se utilizan para habilitar o inhabilitar el seguimiento de los cambios realizados por un usuario de Tivoli Identity Manager en los objetos empresariales (persona, ubicación, servicio, etc.) o en la configuración del sistema. Todas las solicitudes de usuario para modificar la base de datos o el almacén de directorios de IBM Tivoli Identity Manager se pueden auditar y publicar en un informe. A continuación, se muestra una lista integral de sucesos auditados: v Gestión de ACI (Agregar, Agregar propietario de autorización, Suprimir, Suprimir propietario de autorización, Modificar) v Gestión de cuentas (Agregar, Adoptar, Cambiar contraseña, Suprimir, Modificar, Dejar huérfana, Recogida de contraseña, Restaurar, Suspender, Sincronizar contraseña) v Gestión de accesos (Agregar, Eliminar) v Configuración de acceso (Agregar, Eliminar, Modificar) v Autenticación (Autenticar usuario de ITIM) v Gestión del contenedor (Agregar, Suprimir, Modificar) v Delegar autoridad (Agregar, Suprimir, Modificar) v Gestión del flujo de trabajo de titularidad (Agregar, Suprimir, Modificar) v Gestión de las operaciones de entidad (Agregar, Suprimir, Modificar) v Configuración de IBM Tivoli Identity Manager (Agregar, Suprimir, Imponer, Instalar perfil, Modificar, Desinstalar perfil) v Gestión de grupos (Agregar, Agregar miembro, Suprimir, Modificar, Eliminar miembro) v Migración (Instalación de perfil de agente, Iniciar exportación, Iniciar importación, Detener exportación, Detener importación) v Gestión de roles (Agregar, Agregar miembro, Suprimir, Modificar, Eliminar miembro) v Gestión de personas (Agregar, Suprimir, Modificar, Restaurar, Autoregistro, Suspender, Transferir) v Gestión de políticas (Agregar, Confirmar borrador, Suprimir, Imponer política completa, Modificar, Guardar como borrador, Agregar plantilla de cuenta, Cambiar plantilla de cuenta, Eliminar plantilla de cuenta) v Conciliación (Ejecutar conciliación, Establecer unidad de conciliación, Establecer parámetros de conciliación del servicio) v Sucesos en tiempo de ejecución (Iniciar IBM Tivoli Identity Manager, Detener IBM Tivoli Identity Manager) v Cambio de la propia contraseña (Cambiar contraseña, Restablecer contraseña) v Gestión de servicios (Agregar, Agregar regla de adopción, Suprimir, Suprimir regla de adopción, Modificar, Modificar regla de adopción) v Imposición de política de servicios (Corregir no conformes, Marcar no conformes, Suspender no conformes, Utilizar configuración global, Utilizar flujo de trabajo para no conformes) La información de auditoría incluye específicamente la identidad del usuario que realiza la acción, la hora a la que se realizó la acción, el tipo de acción realizada y los datos afectados por la acción. Consulta 137 La Tabla 18 define las propiedades utilizadas para configurar el comportamiento de la función de auditoría. Tabla 18. Propiedades de enroleAuditing.properties Valores de configuración de la auditoría de IBM Tivoli Identity Manager itim.auditing Especifica si habilitar o inhabilitar la auditoría para los sucesos de IBM Tivoli Identity Manager. Los valores válidos son: v true – Los sucesos de IBM Tivoli Identity Manager se auditarán v false – Los sucesos de IBM Tivoli Identity Manager no se auditarán, independientemente de los valores de las categorías o sucesos individuales Ejemplo (predeterminado): itim.auditing=true itim.auditing.retrycount Este es el número de veces que se volverá a intentar la auditoría en caso de anomalías. Entre los valores válidos se incluye cualquier entero. Ejemplo (predeterminado): itim.auditing.retrycount=1 itim.auditing.retrydelay Este es el tiempo de espera [en milisegundos] entre cada reintento. Ejemplo (predeterminado): itim.auditing.retrydelay=5000 enrole.auditing.errorpopup.enabled Habilita o inhabilita la ventana emergente de visualización de error de proceso Ejemplo (predeterminado): enrole.auditing.errorpopup.enabled=false enrole.auditing.errorpopup.fields La ventana emergente de visualización de error de proceso contendrá siempre estos atributos y sus valores: {name, subject, type, result_summary} Puede especificar de forma adicional uno o más de estos atributos: {subject, comments, name, type, requester_type, requester_name, description, scheduled, started, completed, lastmodified, submitted, state, notify, requestee_name, subject_profile, subject_service, result_summary, result_detail} Ejemplo: enrole.auditing.errorpopup.fields=subject, comments enrole.auditing.errorpopup.textwrap 138 Consulta Tabla 18. Propiedades de enroleAuditing.properties (continuación) Especifica si el texto en la ventana emergente se recorta al final de ésta. Ejemplo (predeterminado): enrole.auditing.errorpopup.textwrap=false enrole.auditing.pageSize Especifica el tamaño de la página, en líneas, que muestra procesos o actividades incorrectos en la ventana emergente de actividades erróneas. Ejemplo (predeterminado): enrole.auditing.pageSize=10 enrole.auditing.pageLinkMax Especifica el número de enlaces de página que aparecen cuando los resultados abarcan varias páginas en la ventana emergente de actividades erróneas. Ejemplo (predeterminado): enrole.auditing.pageLinkMax=10 enRoleAuthentication.properties El archivo enRoleAuthentication.properties especifica el tipo de método utilizado por el Tivoli Identity Manager Server para autenticar a los usuarios e identifica el objeto Java que proporciona el mecanismo de autenticación especificado. De forma adicional, el archivo especifica objetos que dan soporte al inicio de sesión único de Tivoli Access Manager WebSEAL y a la administración de IBM Tivoli Identity Manager para servicios remotos gestionados. Las propiedades de autenticación se especifican por medio de un formato de par de clave y valor de propiedad: nombre-clave-propiedad=valor nombre-clave-propiedad es un identificador para el mecanismo de autenticación o el recurso. valor es el nombre del objeto Java que proporciona el servicio de autenticación, expresado también como un par de clave y valor. factory=value El nombre de clave factory representa una categoría especial para el soporte de autenticación del software de IBM Tivoli Identity Manager. value es el nombre real del objeto Java. Por ejemplo (especificado en una línea): enrole.authentication.provider.service= factory=com.ibm.enrole.authentication.service. ServiceAuthenticationProviderFactory La Tabla 19 define las propiedades que se utilizan para configurar la autenticación de IBM Tivoli Identity Manager. Tabla 19. Propiedades de enRoleAuthentication.properties Método de autenticación Consulta 139 Tabla 19. Propiedades de enRoleAuthentication.properties (continuación) enrole.authentication.requiredCredentials={simple} Especifica el método de autenticación obligatorio para que los usuarios inicien sesión en el IBM Tivoli Identity Manager Server. El valor válido de esta propiedad es: v simple - Nombre de usuario y contraseña. Ejemplo (predeterminado): enrole.authentication.requiredCredentials=simple Proveedores de autenticación (fábricas) enrole.authentication.provider.simple Especifica el objeto Java que maneja la autenticación con el nombre de usuario y la contraseña. Ejemplo (especificado en una línea): enrole.authentication.provider.simple=\ factory=com.ibm.itim.authentication.simple. SimpleAuthenticationProviderFactory Proveedor de servicios de autenticación enrole.authentication.provider.service Especifica el objeto Java que maneja transparentemente el acceso de IBM Tivoli Identity Manager a los servicios remotos gestionados y a los cambios gestionados de las cuentas de los servicios remotos. Entre estos cambios se incluye la adición, supresión, suspensión, restauración y modificación de las cuentas del servicio remoto. Cuando haya iniciado la sesión en IBM Tivoli Identity Manager, puede cambiar la información del inicio de sesión y la contraseña para una cuenta del servicio remoto gestionado. El mecanismo ServiceAuthenticationProviderFactory funciona con el agente para un servicio remoto determinado y procesa la información modificada. Ejemplo (especificado en una línea): enrole.authentication.provider.service=\ factory=com.ibm.itim.authentication.service. ServiceAuthenticationProviderFactory Inicio de sesión único de WebSEAL enrole.authentication.provider.webseal Especifica el objeto Java que permite el inicio de sesión único en un entorno WebSEAL. Ejemplo (especificado en una línea): enrole.authentication.provider.webseal=\ factory=com.ibm.itim.authentication.webseal.WebsealProviderFactory enrole.authentication.idsEqual 140 Consulta Tabla 19. Propiedades de enRoleAuthentication.properties (continuación) Indica el algoritmo apropiado para correlacionar el ID de usuario de Tivoli Access Manager con un ID de usuario de IBM Tivoli Identity Manager. Se utiliza un algoritmo de correlación de identidad interno para garantizar el éxito de la operación de inicio de sesión único. Los valores válidos de esta propiedad son: v true – El ID de usuario de Tivoli Access Manager es el mismo que el ID de usuario de IBM Tivoli Identity Manager. v false – El ID de usuario de Tivoli Access Manager no es el mismo que el ID de usuario de IBM Tivoli Identity Manager. Ejemplo: enrole.authentication.idsEqual=true enRoleDatabase.properties El archivo enRoleDatabase.properties especifica las propiedades que dan soporte a la base de datos relacional utilizada por Tivoli Identity Manager. Los valores de clave de propiedad contenidos en este archivo están sincronizados con los valores del archivo de configuración del servidor de aplicaciones apropiado. La mayoría de los valores de este archivo se proporcionan durante la instalación inicial de IBM Tivoli Identity Manager y la configuración de la base de datos. Puede realizar los cambios subsiguientes a algunos valores. Sin embargo, debe utilizar el programa de utilidad runConfig para sincronizar los valores del archivo de propiedades con los valores del archivo de configuración del servidor de aplicaciones. IBM Tivoli Identity Manager utiliza JDBC (Java Database Connectivity) para acceder a la base de datos relacional. La tecnología JDBC es una API que le permite acceder virtualmente al origen de datos tabular desde el lenguaje de programación Java. La Tabla 20 define las propiedades utilizadas para configurar propiedades de base de datos. Tabla 20. Propiedades de enRoleDatabase.properties Información de la base de datos database.db.type No modifique esta clave de propiedad. El valor se suministra durante la instalación inicial de IBM Tivoli Identity Manager. Especifica el tipo de base de datos que IBM Tivoli Identity Manager utiliza. Ejemplo: database.db.type=DB2 database.db.server Consulta 141 Tabla 20. Propiedades de enRoleDatabase.properties (continuación) Este valor se suministra durante la instalación de IBM Tivoli Identity Manager y la configuración de la base de datos. Especifica el nombre o el nombre de alias local de la base de datos remota. Para cambiar este valor para una nueva base de datos, use el programa de utilidad de configuración de la base de datos para configurar la base de datos. El programa de utilidad de configuración de la base de datos proporciona el nuevo nombre de la base de datos a este archivo de propiedades. Para cambiar este valor por otra base de datos existente, use el programa de utilidad runConfig para proporcionar el nuevo nombre de la base de datos a este archivo de propiedades. El valor para database.db.server se almacena en el formato siguiente: nombre_host_bd:puerto:nombre_base_datos Ejemplos: v DB2 10.77.214.35:50000:itimdb v Oracle tivsun13:1521:itimdb v Microsoft SQL tivsun13:1433:itimdb database.db.owner No modifique esta clave de propiedad. El valor está integrado en el sistema. Especifica el nombre del propietario del esquema de la base de datos para IBM Tivoli Identity Manager. Ejemplo (predeterminado): database.db.owner=itimuser database.db.user No modifique esta clave de propiedad. El valor está integrado en el sistema. Especifica un usuario de base de datos predeterminado para IBM Tivoli Identity Manager. Ejemplo (predeterminado): database.db.user=itimuser database.db.password 142 Consulta Tabla 20. Propiedades de enRoleDatabase.properties (continuación) No modifique esta clave de propiedad. El valor se proporciona durante la configuración de la base de datos. Especifica la contraseña para el usuario de la base de datos. El cifrado de este valor lo especifica la propiedad enrole.password.database.encrypted en enRole.properties. El valor de contraseña se cifra de forma predeterminada a menos que los valores de cifrado se hayan desactivado mediante el programa de utilidad runConfig. Ejemplo: database.db.password=secret Propiedades de la agrupación de conexiones database.jdbc.connectionPool.initialCapacity No edite manualmente este archivo para modificar este valor de clave de propiedad. Use el programa de utilidad runConfig para cambiar este valor. Especifica el número inicial de las conexiones físicas de la base de datos que crear para la agrupación de conexiones. Este valor debe ser inferior o igual al valor de database.jdbc.connectionPool.maxCapacity. Ejemplo: database.jdbc.connectionPool.initialCapacity=5 database.jdbc.connectionPool.maxCapacity No edite manualmente este archivo para modificar este valor de clave de propiedad. Use el programa de utilidad runConfig para cambiar este valor. Especifica el número máximo de conexiones físicas de la base de datos que se pueden crear. Este valor se utiliza para gestionar el ajuste de rendimiento del sistema. Ejemplo (predeterminado): database.jdbc.connectionPool.maxCapacity=50 Controlador JDBC database.jdbc.driverurl No elimine ni modifique este valor ni esta clave de propiedad. Especifica el URL del controlador JDBC. El valor predeterminado es jdbc:db2://nombre_host_bd:puerto/nombre_base_datos. Ejemplos: v DB2 jdbc:db2://10.77.214.31:50000/itimdb v Oracle jdbc:oracle:thin:@host_name:1521:itimdb v Microsoft SQL Server jdbc:sqlserver://;server=9.72.121.180;port=1433;database=itimdb Consulta 143 Tabla 20. Propiedades de enRoleDatabase.properties (continuación) database.jdbc.driver No elimine ni modifique este valor ni esta clave de propiedad. Especifica el nombre del controlador JDBC. Ejemplos: v DB2 database.jdbc.driver=com.ibm.db2.jcc.DB2Driver v Oracle database.jdbc.driver=oracle.jdbc.driver.OracleDriver v Microsoft SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver enRoleLDAPConnection.properties El archivo enRoleLDAPConnections.properties proporciona valores de configuración estándar que permite la comunicación satisfactoria entre Tivoli Identity Manager y el servidor de directorios LDAP. La Tabla 21 define las propiedades utilizadas para configurar las propiedades del servidor de directorios LDAP. Tabla 21. Propiedades de enRoleLDAPConnection.properties java.naming.factory.initial No modifique este valor ni esta clave de propiedad. Especifica el archivo de clase Java integrado que proporciona la interfaz de comunicación entre IBM Tivoli Identity Manager y el servidor de directorios LDAP. Se utiliza el protocolo JNDI (Java Naming and Directory Interface). Ejemplo: java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory Contexto LDAP: Context.INITIAL_CONTEXT_FACTORY java.naming.provider.url Especifica el URL del servidor de directorios LDAP. El servidor LDAP se puede ubicar en: v El IBM Tivoli Identity Manager Server local. En este caso, utilice localhost. v Una máquina remota. En este caso, utilice el nombre de host completo o abreviado o la dirección IP. El valor de esta propiedad se configura inicialmente durante la instalación de IBM Tivoli Identity Manager. También puede proporcionar este valor por medio del programa de utilidad ldapconfig o runConfig. Ejemplo: java.naming.provider.URL=ldap://localhost:389 Contexto LDAP: Context.PROVIDER_URL 144 Consulta Tabla 21. Propiedades de enRoleLDAPConnection.properties (continuación) java.naming.security.principal Especifica el nombre distinguido (DN) de la cuenta de administración de LDAP en el servidor de directorios LDAP. El valor de esta clave se configura inicialmente durante la instalación de IBM Tivoli Identity Manager. También puede proporcionar este valor por medio del programa de utilidad ldapconfig o runConfig. Ejemplo: java.naming.security.principal=cn=root Ejemplo para el servidor de directorios Sun Open Net Environment (ONE): java.naming.security.principal=cn=directory manager Contexto LDAP: Context.SECURITY_PRINCIPAL java.naming.security.credentials Especifica la contraseña para la cuenta de administración de LDAP en el servidor de directorios LDAP. El valor de esta clave se configura inicialmente durante la instalación de IBM Tivoli Identity Manager. También puede proporcionar este valor por medio del programa de utilidad ldapconfig o runConfig. El cifrado de este valor lo especifica la propiedad enrole.password.ldap.encypted en el archivo enRole.properties. El tipo de cifrado se configura inicialmente durante la instalación de IBM Tivoli Identity Manager. Ejemplo: java.naming.security.credentials=ibmldap Contexto LDAP: Context.SECURITY_CREDENTIALS java.naming.security.protocol De forma predeterminada, esta propiedad está comentada. Especifica el protocolo que se utiliza para la comunicación entre IBM Tivoli Identity Manager y el servidor de directorios LDAP. Por ejemplo, para habilitar SSL, elimine el comentario de la línea y cámbiela a java.naming.security.protocol=ssl. Contexto LDAP: Context.SECURITY_PROTOCOL java.naming.security.authentication Consulta 145 Tabla 21. Propiedades de enRoleLDAPConnection.properties (continuación) No modifique este valor ni esta clave de propiedad. Especifica el tipo de autenticación que se utiliza con el servidor de directorios LDAP. Los tipos válidos son: v none - El usuario anónimo pasa a ser miembro de un grupo no autenticado. v simple - El usuario proporciona un nombre de usuario y una contraseña. v strong - Un mecanismo de autenticación más fuerte proporcionado por el usuario. Ejemplo: java.naming.security.authentication=simple Contexto LDAP: Context.SECURITY_AUTHENTICATION java.naming.referral No modifique este valor ni esta clave de propiedad. En un caso de ejemplo en el que varios servidores de directorios LDAP se enlazan en el entorno de IBM Tivoli Identity Manager, esta propiedad especifica si se utilizarán enlaces cuando se necesite una referencia para completar una solicitud para la información de LDAP. Los valores válidos son: v follow - Utiliza enlaces para completar una solicitud de información de LDAP. v ignore - No utiliza enlaces para completar una solicitud de información de LDAP. v throw - No utiliza enlaces para completar una solicitud de información de LDAP y devuelve un mensaje de error. Ejemplo: java.naming.referral=follow Contexto LDAP: Context.REFERRAL java.naming.batchsize No modifique este valor ni esta clave de propiedad. Una propiedad JNDI que especifica el número de elementos de datos devueltos simultáneamente durante una solicitud (consulta) al servidor de directorios LDAP. Un número mayor reduce la cantidad de captaciones de LDAP, lo que podría mejorar el rendimiento. Un valor de 0 bloquea todo el control por parte del cliente (IBM Tivoli Identity Manager) hasta que se devuelvan todos los elementos solicitados. Ejemplo: java.naming.batchsize=100 Contexto LDAP: Context.BATCHSIZE java.naming.ldap.derefAliases 146 Consulta Tabla 21. Propiedades de enRoleLDAPConnection.properties (continuación) Especifica que la búsqueda de un objeto mediante el uso del alias obtendrá la referencia del alias, de forma que lo que se devuelve es el objeto al que apunta el DN del alias. Los valores válidos son: v never - No obtiene la referencia de un alias durante la búsqueda del objeto. v always - Obtiene la referencia de un alias durante la búsqueda del objeto. v finding - Obtiene la referencia de un alias durante la búsqueda del objeto (sólo durante la resolución del nombre). v searching - Obtiene la referencia de un alias durante la búsqueda del objeto (sólo después de la resolución del nombre). Ejemplo: java.naming.ldap.derefAliases=never java.naming.ldap.attributes.binary No modifique este valor ni esta clave de propiedad. Especifica los atributos de IBM Tivoli Identity Manager que se tratan como tipo de datos binario. Se permiten varios valores de atributo separados por un único espacio. Ejemplo (en una línea): java.naming.ldap.attributes.binary=erPassword erHistoricalPassword erSynchPassword erServicePassword erPersonPassword Contexto LDAP: attribute.binary com.sun.jndi.ldap.connect.pool Activa la agrupación de conexiones LDAP. Los valores válidos son: v true - Utiliza la agrupación de conexiones LDAP. v false - No utiliza la agrupación de conexiones LDAP. Ejemplo (predeterminado): com.sun.jndi.ldap.connect.pool=true com.sun.jndi.ldap.connect.timeout Especifica el número de milisegundos que un cliente esperará a que haya disponible una conexión de la agrupación. Si no se especifica la propiedad, el cliente esperará indefinidamente. Ejemplo: #com.sun.jndi.ldap.connect.timeout= enRoleLogging.properties El archivo enRoleLogging.properties especifica los atributos que rigen el funcionamiento de la API de registro y rastreo jlog que se proporciona con Tivoli Identity Manager. Consulta 147 jlog es un paquete de inicio de sesión para Java que le permite registrar mensajes según la prioridad y el tipo de mensaje, y controlar en tiempo de ejecución cómo se formatean los mensajes y dónde se colocan sus informes. La Tabla 22 define las propiedades que se utilizan para configurar las propiedades de registro cronológico de IBM Tivoli Identity Manager. Tabla 22. Propiedades de enRoleLogging.properties Valores generales logger.refreshInterval Especifica el intervalo de renovación [en milisegundos] de las propiedades de inicio de sesión. Ejemplo: logger.refreshInterval=300000 logger.msg.com.ibm.itim.security.logChoice Especifica el tipo de intentos de autenticación que se debe registrar. Los valores válidos son: v failure - Registra los errores de autenticación. v success - Registra autenticaciones correctas. v both - Registra tanto las autenticaciones erróneas como las correctas. Ejemplo: logger.msg.com.ibm.itim.security.logChoice=failure logger.msg.com.ibm.itim.security.logging Especifica si los intentos de autenticación se registran o no. Los valores válidos son: v true - Registra los intentos de autenticación. v false - No registra los intentos de autenticación. Ejemplo: logger.msg.com.ibm.itim.security.logging=true handler.file.security.maxFiles Especifica el número máximo de archivos de registro de seguridad. Ejemplo: handler.file.security.maxFiles=10 logger.msg.level 148 Consulta Tabla 22. Propiedades de enRoleLogging.properties (continuación) Especifica el nivel de registro de mensajes. Los valores válidos son: v INFO v WARN v ERROR Ejemplo: logger.msg.level=INFO handler.file.msg.maxFiles Especifica el número máximo de archivos de registro de mensajes. Ejemplo: handler.file.msg.maxFiles=5 logger.trace.level Especifica el nivel de rastreo. Los niveles de rastreo soportados son: v DEBUG_MIN v DEBUG_MID v DEBUG_MAX DEBUG_MAX es el nivel de rastreo más detallado y puede afectar al rendimiento del sistema. Al depurar un problema, evite establecer DEBUG_MAX en logger.trace. Establezca DEBUG_MAX en los componentes o paquetes afectados. Ejemplo: logger.trace.level=DEBUG_MIN handler.file.trace.maxFiles Especifica el número máximo de archivos de registro de rastreo. Ejemplo: handler.file.trace.maxFiles=10 handler.file.maxFileSize Especifica el tamaño máximo del archivo de registro [en kilobytes] Ejemplo: handler.file.maxFileSize=1024 Propiedades de directorio raíz del registrador jlog.noLogCmd Consulta 149 Tabla 22. Propiedades de enRoleLogging.properties (continuación) No modifique este valor ni esta clave de propiedad. Inhabilita el servidor de mandatos de registro. Ejemplo: jlog.noLogCmd=true logger.className No modifique este valor ni esta clave de propiedad. Especifica el nombre de clase del registrador. Ejemplo: logger.className=com.ibm.log.PDLogger logger.description Especifica la descripción del registrador. Ejemplo: logger.description=TIM PD Logger logger.product No modifique este valor ni esta clave de propiedad. Especifica el nombre del producto. Ejemplo: logger.product=CTGIM logger.productInstance No modifique este valor ni esta clave de propiedad. Especifica el nombre de instancia de servidor. El valor se suministra durante la instalación de Tivoli Identity Manager. Ejemplo: logger.productInstance=myserver Propiedades del registrador de mensajes logger.msg.description Especifica la descripción del registrador de mensajes. Ejemplo: logger.msg.description=TIM PD Message Logger logger.msg.logging 150 Consulta Tabla 22. Propiedades de enRoleLogging.properties (continuación) Activa o desactiva el rastreo de mensajes. Los valores válidos son: v true - Activa el registro de mensajes. v false - Desactiva el registro de mensajes. Ejemplo: logger.msg.logging=true logger.msg.messageFile No modifique este valor ni esta clave de propiedad. Especifica el nombre del paquete de recursos de mensajes que se pueden localizar. Ejemplo: logger.msg.messageFile=tmsMessages logger.msg.com.ibm.itim.ui.messageFile No modifique este valor ni esta clave de propiedad. Especifica el nombre del paquete de recursos de mensajes que se pueden localizar. Ejemplo: (en una línea) logger.msg.com.ibm.itim.ui.messageFile= com.ibm.itim.ui.resources.UIMessageResources logger.msg.listenerNames No modifique este valor ni esta clave de propiedad. Especifica los nombres de escucha adjuntos al registrador de mensajes. Ejemplo: logger.msg.listenerNames=handler.file.msg handler.ffdc.fileCopy Propiedades del registrador de seguridad logger.msg.com.ibm.itim.security.listenerNames No modifique este valor ni esta clave de propiedad. Especifica los nombres de escucha adjuntos al registrador de seguridad. Ejemplo: logger.msg.com.ibm.itim.security.listenerNames=handler.file.security Propiedades del registrador de rastreo logger.trace.description Especifica la descripción del registrador de rastreo. Ejemplo: logger.trace.description=TIM PD Trace Logger Consulta 151 Tabla 22. Propiedades de enRoleLogging.properties (continuación) logger.trace.logging Activa o desactiva el rastreo. Los valores válidos son: v true - Activa el registro de rastreo. v false - Desactiva el registro de rastreo. Ejemplo: logger.trace.logging=true logger.trace.listenerNames No modifique este valor ni esta clave de propiedad. Especifica los nombres de escucha adjuntos al registrador de rastreo. Ejemplo: logger.trace.listenerNames=handler.file.trace logger.trace.com.ibm Edita el nivel de estos registradores de componentes para ajustar la cantidad de información de rastreo escrita en el registro de rastreo. Los niveles de rastreo soportados son: v DEBUG_MIN v DEBUG_MID v DEBUG_MAX Los registradores de componentes se muestran en la siguiente lista: Nota: El registrador de componentes logger.trace.com.ibm.itim.script.level es equivalente a logger.trace.com.ibm.itim.fesiextensions.level (en desuso). logger.trace.com.ibm.itim.adhocreport.level logger.trace.com.ibm.itim.adhocreport.crystal.level logger.trace.com.ibm.itim.adhocreport.changelog.level logger.trace.com.ibm.itim.apps.level logger.trace.com.ibm.itim.apps.ejb.adhocreport.level logger.trace.com.ibm.itim.authentication.level logger.trace.com.ibm.itim.authorization.level logger.trace.com.ibm.itim.common.level logger.trace.com.ibm.itim.fesiextensions.level logger.trace.com.ibm.itim.script.level logger.trace.com.ibm.itim.mail.level logger.trace.com.ibm.itim.messaging.level logger.trace.com.ibm.itim.dataservices.model.level logger.trace.com.ibm.itim.passworddelivery.level logger.trace.com.ibm.itim.policy.level logger.trace.com.ibm.itim.remoteservices.level logger.trace.com.ibm.itim.remoteservices.installation.level logger.trace.com.ibm.itim.report.level logger.trace.com.ibm.itim.security.level logger.trace.com.ibm.itim.scheduling.level logger.trace.com.ibm.itim.script.level logger.trace.com.ibm.itim.systemConfig.level logger.trace.com.ibm.itim.util.level logger.trace.com.ibm.itim.webclient.level logger.trace.com.ibm.itim.workflow.level logger.trace.com.ibm.daml.level logger.trace.com.ibm.erma.level 152 Consulta Tabla 22. Propiedades de enRoleLogging.properties (continuación) Propiedades del rastreo de applet logger.trace.com.ibm.itim.applet.logging Habilita o inhabilita el registro de rastreo de applet. Ejemplo: logger.trace.com.ibm.itim.applet.logging=true logger.trace.com.ibm.itim.applet.level Especifica el nivel de rastreo del applet. Los niveles de rastreo soportados son: v DEBUG_MIN v DEBUG_MID v DEBUG_MAX Ejemplo: logger.trace.com.ibm.itim.applet.level=DEBUG_MIN Propiedades del manejador de archivos handler.file.className No modifique este valor ni esta clave de propiedad. Especifica el nombre de clase del manejador de archivos. Ejemplo: handler.file.className=com.ibm.log.FileHandler handler.file.description Especifica la descripción del manejador de archivos. Ejemplo: handler.file.description=Manejador de archivos de TIM handler.file.fileDir No modifique este valor ni esta clave de propiedad. Especifica el directorio base del manejador de archivos. Este valor se suministra durante la instalación. Ejemplo: handler.file.fileDir=c:/dir_com_tivoli/CTGIM/logs handler.file.formatterName Consulta 153 Tabla 22. Propiedades de enRoleLogging.properties (continuación) No modifique este valor ni esta clave de propiedad. Especifica el formateador del manejador de archivos. Ejemplo: handler.file.formatterName=formatter.PDXML Propiedades del manejador de archivos de registro de mensajes handler.file.msg.fileName Especifica el archivo de registro de mensajes. Ejemplo: handler.file.msg.fileName=msg.log handler.file.msg.formatterName No modifique este valor ni esta clave de propiedad. Especifica el formateador del manejador de archivos de mensajes. Ejemplo: handler.file.msg.formatterName=formatter.PDXML.msg Propiedades del manejador de archivos de registro de seguridad handler.file.security.fileDir Especifica el directorio de registro de seguridad. Ejemplo: handler.file.security.fileDir=c:/dir_com_tivoli/CTGIM/logs handler.file.security.fileName Especifica el archivo de registro de seguridad. Ejemplo: handler.file.security.fileName=access.log handler.file.security.formatterName No modifique este valor ni esta clave de propiedad. Especifica el formateador del manejador de archivos de seguridad. Ejemplo: handler.file.security.formatterName=formatter.PDXML.security Propiedades del manejador de archivos de rastreo handler.file.trace.fileName 154 Consulta Tabla 22. Propiedades de enRoleLogging.properties (continuación) Especifica el nombre del archivo de rastreo. Ejemplo: handler.file.trace.fileName=trace.log handler.file.trace.formatterName No modifique este valor ni esta clave de propiedad. Especifica el formateador del manejador de archivos de rastreo. Ejemplo: handler.file.trace.formatterName=formatter.PDXML.trace Propiedades del manejador de copia de archivos FFDC (captura de datos en primer error) handler.ffdc.baseDir No modifique este valor ni esta clave de propiedad. Especifica el directorio base de FFDC. Ejemplo: handler.ffdc.baseDir=c:/dir_com_tivoli/CTGIM/ffdc handler.ffdc.triggerRepeatTime Especifica el tiempo mínimo [en milisegundos] tras un suceso desencadenante inicial durante el cual el manejador responderá con sucesos desencadenantes subsiguientes. Ejemplo: handler.ffdc.triggerRepeatTime=300000 handler.ffdc.fileCopy.className No modifique este valor ni esta clave de propiedad. Especifica el nombre de clase del manejador. Ejemplo: handler.ffdc.fileCopy.className=com.tivoli.log.FileCopyHandler handler.ffdc.fileCopy.triggerFilter Especifica el filtro para controlar qué sucesos desencadena una acción FFDC. Ejemplo: handler.ffdc.fileCopy.triggerFilter=filter.msgId handler.ffdc.fileCopy.fileTimestampFormat Consulta 155 Tabla 22. Propiedades de enRoleLogging.properties (continuación) No modifique este valor ni esta clave de propiedad. Especifica el formato de indicación de fecha y hora que se anexa al nombre de carpeta y nombre de archivo FFDC. Ejemplo: handler.ffdc.fileCopy.fileTimestampFormat=yyyy.MM.dd-HH.mm.ss handler.ffdc.fileCopy.filesToCopy Especifica los archivos que se copiarán en el directorio FFDC cuando se desencadene la FFDC. Ejemplo (en una línea): handler.ffdc.fileCopy.filesToCopy= "c:/tivoli_comm_dir/CTGIM/logs/trace.log" "c:/tivoli_comm_dir/CTGIM/logs/msg.log" Propiedades del filtro de ID de mensajes FFDC filter.msgId.className No modifique este valor ni esta clave de propiedad. Especifica el nombre de clase del filtro de ID de mensajes. Ejemplo: filter.msgId.className=com.tivoli.log.MsgIdFilter filter.msgId.description Especifica la descripción del filtro de ID de mensajes. Ejemplo: filter.msgId.description=IBM Tivoli Identity Manager FFDC Message Id Filter filter.msgId.msgIds Especifica los ID de mensajes TMS que desencadenarán la acción FFDC. Los ID de mensajes que aparecen en esta lista deben representar los errores de sistema más graves. Ejemplo (en una línea): filter.msgId.msgIds=CTGIMA401E CTGIMA438W CTGIME013E CTGIME035E CTGIME203E CTGIMF003E CTGIMF011E CTGIMF012E CTGIMF013E CTGIMF014E filter.msgId.mode No modifique este valor ni esta clave de propiedad. Especifica la modalidad del filtro. Ejemplo: filter.msgId.mode=PASSTHRU filter.msgId.msgIdRepeatTime 156 Consulta Tabla 22. Propiedades de enRoleLogging.properties (continuación) Especifica el tiempo mínimo [en milisegundos], después de pasar un suceso de registros con un ID de mensaje TMS dado, antes de que se pueda pasar otro con el mismo ID de mensaje TMS. Ejemplo: filter.msgId.msgIdRepeatTime=300000 Propiedades del formateador formatter.className No modifique este valor ni esta clave de propiedad. Especifica el nombre de clase del formateador. Ejemplo: formatter.className=com.ibm.log.Formatter formatter.description Especifica la descripción del formateador. Ejemplo: formatter.description=formatter formatter.dateFormat Especifica el patrón SimpleDateFormat de Java para dar formato a las fechas de sucesos. Ejemplo: formatter.dateFormat=yyyy.MM.dd formatter.timeFormat Especifica el patrón SimpleDateFormat de Java para dar formato a las horas de sucesos. Ejemplo: formatter.timeFormat=HH:mm:ss.SSS Propiedades del formateador PDXML formatter.PDXML.className No modifique este valor ni esta clave de propiedad. Especifica el nombre de la clase del formateador que da formato a sucesos de registro en formato LOG XML. Ejemplo: formatter.PDXML.className=com.ibm.itim.logging.LogXMLFormatter formatter.PDXML.description Consulta 157 Tabla 22. Propiedades de enRoleLogging.properties (continuación) Especifica la descripción del formateador. Ejemplo: formatter.PDXML.description=TIM Log XML Formatter formatter.PDXML.msg.forceAsMessage Hace que el formateador de mensajes dé formato a todas las salidas como sucesos de mensajes, independientemente de su contenido. Ejemplo: formatter.PDXML.msg.forceAsMessage=true Habilitación del rastreo en la interfaz de usuario de Tivoli Identity Manager Debe establecer el nivel en FINEST en WebSphere Application Server para que funcione el rastreo de la interfaz de usuario. La habilitación del rastreo en la interfaz de usuario de Tivoli Identity Manager es un proceso de dos pasos: v Establezca los registradores de componentes adecuados en el archivo enRoleLogging.properties. v Habilite el rastreo de WebSphere iniciando la sesión en la consola administrativa de WebSphere Application Server. Para habilitar el nivel de rastreo para la consola administrativa deWebSphere Application Server, siga estos pasos: 1. Inicie la sesión en la consola administrativa de WebSphere Application Server: 2. Seleccione Resolución de problemas -> Anotaciones cronológicas y rastreo. 3. Pulse el servidor adecuado, por ejemplo, Server1. 4. Seleccione Cambiar los niveles de detalle de las anotaciones cronológicas en Propiedades generales. v Para realizar un cambio estático en la configuración, pulse Configuración. Se muestra una lista de componentes muy conocidos, paquetes y grupos. v Para cambiar dinámicamente la configuración, pulse Tiempo de ejecución. Se muestra la lista de componentes, paquetes y grupos de todos los componentes registrados actualmente en el servidor que se está ejecutando. 5. Expanda el nodo para com.ibm.itim.* bajo *[Todos los componentes]. 6. Pulse el nodo con la etiqueta com.ibm.itim.ui.* y seleccione Todos los mensajes y rastreos. 7. Haga clic en Aplicar. 8. Haga clic en Aceptar. 9. Detenga y reinicie WebSphere Application Server para establecer los cambios de configuración estáticos. Debe habilitar el nivel de depuración para el paquete de la interfaz de usuario en la sección siguiente del archivo enRoleLogging.properties: 158 Consulta # # # # # # # # # # # # UI-tier tracing logger.trace.com.ibm.itim.ui.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.common.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.controller.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.customizer.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.help.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.impl.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.listener.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.tasklauncher.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.validator.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.view.level=DEBUG_MIN logger.trace.com.ibm.itim.ui.viewmodel.level=DEBUG_MIN Para obtener más información acerca de cómo establecer el nivel de rastreo, consulte http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/ index.jsp?topic=/com.ibm.btools.help.monitor.doc/Doc/tasks/administration/ ad_trace_script.html. enRoleMail.properties El archivo enRoleMail.properties contiene atributos que especifican el protocolo de transporte de correo que utiliza la API de JavaMail y otras propiedades específicas de la aplicación Tivoli Identity Manager. Debe proporcionar los valores para las propiedades específicas de la aplicación. Los valores predeterminados vienen proporcionados por las propiedades específicas de JavaMail (incluidos el protocolo y el proveedor de correo predeterminados). Si cambia los valores predeterminados por las propiedades específicas de JavaMail, debe proporcionar sus propias pruebas y verificación de la implementación y el protocolo personalizado. Consulte el siguiente URL para obtener información adicional acerca del proveedor y la utilización: http://java.sun.com/products/javamail/ La Tabla 23 define las propiedades que se utilizan para configurar las propiedades de correo de IBM Tivoli Identity Manager. Tabla 23. Propiedades de enRoleMail.properties Atributos de correo específicos de la aplicación de IBM Tivoli Identity Manager mail.baseurl Especifica el URL base que se utiliza para construir el URL de inicio de sesión en las notificaciones de correo electrónico enviadas a los nuevos usuarios de IBM Tivoli Identity Manager. El valor predeterminado antes de ejecutar el programa de utilidad runConfig por primera vez debe ser http://localhost:80. Este valor se proporciona inicialmente durante la instalación de IBM Tivoli Identity Manager. También puede proporcionar el valor por medio del programa de utilidad runConfig. Esta propiedad es obligatoria. Ejemplo: mail.baseurl=http://localhost:80 mail.itim.context Consulta 159 Tabla 23. Propiedades de enRoleMail.properties (continuación) Especifica el contexto raíz para IBM Tivoli Identity Manager. Ejemplo: mail.itim.context=/itim mail.context.console Especifica el contexto raíz para la consola de IBM Tivoli Identity Manager. Esta propiedad es obligatoria. Ejemplo: mail.context.console=/itim/console mail.context.enduser Especifica el contexto raíz para la consola de autoservicio de IBM Tivoli Identity Manager. Esta propiedad es obligatoria. Ejemplo: mail.context.enduser=/itim/self mail.from Especifica la dirección de correo electrónico de devolución del usuario actual. Este valor se proporciona inicialmente durante la instalación de IBM Tivoli Identity Manager. También puede proporcionar el valor por medio del programa de utilidad runConfig. Esta propiedad es obligatoria. Ejemplo: [email protected] mail.transport.protocol Especifica el protocolo de transporte predeterminado. El valor predeterminado es el protocolo de transporte SMTP de Sun. Esta propiedad es obligatoria. Ejemplo (predeterminado): mail.transport.protocol=SMTP mail.title 160 Consulta Tabla 23. Propiedades de enRoleMail.properties (continuación) Esta propiedad no se utiliza para especificar el mensaje de cabecera de título de una notificación de correo electrónico en la versión 5.0 de IBM Tivoli Identity Manager. La propiedad mail.title de Labels.properties especifica el mensaje de cabecera de título de notificación de correo electrónico. Debe editar este archivo de propiedades directamente para proporcionar el valor de esta propiedad. Esta propiedad era obligatoria previamente. Ejemplo (predeterminado) en releases anteriores: mail.title=ITIM notification Atributos de correo específicos para el servicio de correo integrado de Java mail.host Especifica la dirección IP de la máquina donde se ubica el servidor de correo. Este valor se proporciona inicialmente durante la instalación de IBM Tivoli Identity Manager. También puede proporcionar este valor por medio del programa de utilidad runConfig. Esta propiedad es obligatoria. Ejemplo: mail.host=111.222.333.444 mail.protocolo.host Especifica la dirección IP del servidor de correo predeterminado específico del protocolo. Esta clave de propiedad prevalece sobre la clave de propiedad mail.host. De forma predeterminada, esta propiedad no es obligatoria y no se proporciona ningún valor. mail.protocolo.user Especifica el nombre de usuario predeterminado específico de protocolo para conectar con el servidor de correo. Esta clave de propiedad prevalece sobre la clave de propiedad mail.user. De forma predeterminada, esta propiedad no es obligatoria y no se proporciona ningún valor. mail.protocolo.class Especifica la implementación de la clase Java del protocolo de correo. Ejemplo (predeterminado): mail.SMTP.class=com.sun.mail.smtp.SMTPTransport mail.store.protocol Especifica el protocolo de acceso a mensajes predeterminado. De forma predeterminada, esta propiedad no es obligatoria y no se proporciona ningún valor. mail.user Consulta 161 Tabla 23. Propiedades de enRoleMail.properties (continuación) Especifica el nombre de usuario que se utiliza durante la autenticación cuando se realiza la conexión a un servidor de correo. De forma predeterminada, esta propiedad no es obligatoria y no se proporciona ningún valor. En el entorno de IBM Tivoli Identity Manager, el servidor de correo está ubicado dentro del cortafuegos, por lo que este nivel de autenticación se hace innecesario. mail.protocolo.user Especifica el nombre de usuario específico del protocolo que se utiliza durante la autenticación al conectarse a un servidor de correo. Esta clave de propiedad prevalece sobre la clave de propiedad mail.user. De forma predeterminada, esta propiedad no es obligatoria y no se proporciona ningún valor. enrolepolicies.properties El archivo enrolepolicies.properties proporciona valores estándar y personalizados que dan soporte a las funciones de la política de suministro. Entre las funciones soportadas en este archivo de propiedades se incluyen: v Especificar las clases Java para procesar los conflictos de la política de suministro por medio de las directivas de unión v Especificar los tiempos de espera de caché de la directiva de unión predeterminada y no predeterminada v Declarar atributos de política para que se omitan durante la validación de conformidad con políticas Una directiva de unión es un conjunto de reglas que se utiliza para determinar cómo se manejan los atributos cuando una política de suministro entra en conflicto con otra. Las directivas de unión utilizan las construcciones lógicas para resolver los conflictos. Los ejemplos incluyen la combinación de todos los atributos de política (unión), por medio sólo de atributos comunes (intersección) y la resolución de conflictos por medio de AND booleano u OR lógico. Hay 12 tipos de directivas de unión que puede utilizar. Las directivas de unión de la política de suministro entran en vigor cuando hay más de una política de suministro definida para el mismo usuario (o grupo de usuarios) para el mismo servicio de destino, instancia de servicio o tipo de servicio. Adicionalmente, las directivas de unión personalizadas se pueden definir si se escribe una clase Java personalizada, se añade a la variable classpath y, a continuación, se proporciona el nombre de clase Java completo en la GUI de la configuración de política. Si amplía o sustituye una de las clases de la directiva de unión existente, tendrá que agregar la clave y el valor de propiedad personalizada al archivo enrolepolicies.properties. Por ejemplo, si desarrolló una clase nueva (com.abc.TextualEx) para sustituir a la clase existente para las uniones textuales, la línea de registro será la siguiente: provisioning.policy.join.Textual= com.abc.TextualEx La Tabla 24 en la página 163 define las propiedades que se utilizan para configurar las políticas de IBM Tivoli Identity Manager. 162 Consulta Tabla 24. Propiedades de enrolepolicies.properties Clases de directiva de unión provisioning.policy.join.PrecedenceSequence=com.ibm.itim.policy.join. PrecedenceSequence provisioning.policy.join.Boolean=com.ibm.itim.policy.join.Boolean provisioning.policy.join.Bitwise=com.ibm.itim.policy.join.Bitwise provisioning.policy.join.Numeric=com.ibm.itim.policy.join.Numeric provisioning.policy.join.Textual=com.ibm.itim.policy.join.Textual provisioning.policy.join.Textual.AppendSeparator=<<<>>> provisioning.policy.join.Multivalued=com.ibm.itim.policy.join.Multivalued No modifique estos valores y claves de propiedad. Cada clave de propiedad especifica una clase Java que se puede utilizar para procesar la lógica de una directiva de unión que es obligatoria para resolver un conflicto de política de suministro. Caracteres de separación de anexos provisioning.policy.join.Textual.AppendSeparator Especifica el carácter utilizado por la clase Java de la directiva de unión textual para separar los valores individuales de un atributo de varios valores. Ejemplo: provisioning.policy.join.Textual.AppendSeparator=<<<>>> Tiempos de espera de la caché de la directiva de unión provisioning.policy.join.defaultCacheTimeout Especifica el intervalo de tiempo de espera [en segundos] entre las renovaciones de la caché que almacena los valores de la caché de la directiva de unión predeterminada. El valor predeterminado es 86400 segundos, que equivale a 24 horas. Ejemplo (predeterminado): provisioning.policy.join.defaultCacheTimeout=86400 provisioning.policy.join.overridingCacheTimeout Especifica el intervalo de tiempo de espera [en segundos] entre las renovaciones de la caché que almacena los valores de la directiva de unión no predeterminados. El valor predeterminado es 300 segundos, que equivale a 5 minutos. Ejemplo: provisioning.policy.join.overridingCacheTimeout=300 Atributos de cuenta omitidos por la validación de conformidad con políticas Atributos genéricos excluidos (valor predeterminado=1): Consulta 163 Tabla 24. Propiedades de enrolepolicies.properties (continuación) nonvalidateable.attribute.eraccountcompliance nonvalidateable.attribute.eracl nonvalidateable.attribute.eraccountstatus nonvalidateable.attribute.erauthorizationowner nonvalidateable.attribute.erglobalid nonvalidateable.attribute.erhistoricalpassword nonvalidateable.attribute.erisdeleted nonvalidateable.attribute.erlastmodifiedtime nonvalidateable.attribute.erlogontimes nonvalidateable.attribute.ernumlogons nonvalidateable.attribute.erparent nonvalidateable.attribute.erpassword nonvalidateable.attribute.erservice #nonvalidateable.attribute.eruid nonvalidateable.attribute.objectclass nonvalidateable.attribute.owner nonvalidateable.attribute.ercreatedate nonvalidateable.attribute.erlaststatuschangedate nonvalidateable.attribute.erpswdlastchanged nonvalidateable.attribute.erlastaccessdate nonvalidateable.attribute.ernumlogonattempt Atributos excluidos de Windows NT®: nonvalidateable.attribute.erntpasswordexpired nonvalidateable.attribute.erntuserbadpwdcount nonvalidateable.attribute.erntlockedout Declara los atributos de cuenta que se deben omitir durante la validación de conformidad con políticas. Esta lista de exclusión ayuda a reducir la actividad general innecesaria durante la validación de conformidad y reduce el riesgo de errores en el sistema que pueden estar provocados por los atributos que no se pueden resolver lógicamente durante la validación. Tamaño de partición policy.partition.size Para analizar una gran número de personas durante un suceso de cambio de políticas sin incurrir en tiempos de espera de transacción excedidos, es necesario dividir o desglosar el número total de personas afectadas. Esto se realiza no para el inicio del análisis de la política actual, sino estrictamente para evitar esperar en una transacción única de base de datos hasta que se procesen todas las personas. Crear transacciones múltiples o particionar de forma rápida el número total de usuarios disminuye el riesgo de que cualquiera de estas transacciones (más pequeñas) exceda el valor de tiempo de espera de la transacción. Cuando se utiliza un clúster de WebSphere Application Server con IBM Tivoli Identity Manager, es útil darse cuenta de que la operación de particionamiento propiamente dicha no se realiza en clúster. Se realiza en el mismo nodo de WebSphere Application Server que recibe la solicitud de cambio de política. Especifica el número de personas o cuentas que se evaluarán en cada hebra durante el análisis de política de alto volumen. Se produce un análisis de política de alto volumen cuando un cambio de políticas o un cambio en el nivel de imposición de servicios afectan a un gran grupo de personas o cuentas. Un tamaño de partición superior provoca menos hebras. Un tamaño de partición más pequeño hace que haya más hebras ejecutándose en paralelo, con lo que se necesitará más memoria. Ejemplo (predeterminado): policy.partition.size=2500 policy.message.size 164 Consulta Tabla 24. Propiedades de enrolepolicies.properties (continuación) Especifica el número de personas que se analizan como parte del cambio de política en un único mensaje JMS. Ya que WebSphere Application Server sondea y reutilizar las hebras de WebSphere Application Server, el mecanismo JMS se utiliza para poner en cola las unidades individuales de trabajo de análisis para todas las hebras de WebSphere Application Server asignadas (o consumidores de mensajes). Por lo tanto, es muy probable que al hacer grandes cambios de política que afecten a un gran número de personas, todas las hebras de consumidor JMS estén ocupadas procesando la imposición y análisis de política, y la cola para cada hebra se saturará con aún más mensajes a procesar. Ejemplo (predeterminado): policy.message.size=25 enroleworkflow.properties El archivo enroleworkflow.properties especifica las correlaciones de archivo XML para los flujos de trabajo definidos por el sistema. Un flujo de trabajo es un proceso que especifica el flujo de operaciones que implica las operaciones empresariales y las interacciones humanas. Un diseño de flujo de trabajo define el modo en que se procesa una lógica empresarial concreta. Los archivos XML especificados en el archivo enroleworkflow.properties implementan los diseños de flujo de trabajo. El flujo de trabajo del sistema está identificado por un ID de tipo exclusivo y un archivo XML asociado. Los archivos de flujo de trabajo XML están ubicados en el directorio siguiente: ITIM_HOME\data\workflow_systemprocess No debe eliminar o modificar los valores de archivo XML e ID del tipo de flujo de trabajo del sistema predeterminado proporcionado en el archivo enroleworkflow.properties. No se da soporte a la actualización de los siguientes archivos XML. La Tabla 25 define las propiedades que se utilizan para configurar los flujos de trabajo de IBM Tivoli Identity Manager. Tabla 25. Propiedades de enroleworkflow.properties Flujo de trabajo de imposición de política enrole.workflow.PS=enforcepolicyforservice.xml Flujo de trabajo de cumplimiento de cuenta para de cuentas no conformes enrole.workflow.EN=fulfillpolicyforaccount.xml Flujo de trabajo de gestión de selección de servicios enrole.workflow.SA=addserviceselectionpolicy.xml enrole.workflow.SC=changeserviceselectionpolicy.xml enrole.workflow.SD=removeserviceselectionpolicy.xml Flujo de trabajo de la gestión de la política de suministro Consulta 165 Tabla 25. Propiedades de enroleworkflow.properties (continuación) #Add policy enrole.workflow.PA=addpolicy.xml #Modify policy enrole.workflow.PC=changepolicy.xml #Delete policy enrole.workflow.PD=removepolicy.xml #User BU change enrole.workflow.UO=userbuchange.xml Flujo de trabajo de conciliación enrole.workflow.RC=reconciliation.xml enrole.workflow.HR=hrfeed.xml Flujo de trabajo del rol dinámico #Add dynamic role enrole.workflow.DA=adddynamicrole.xml #Modify dynamic role enrole.workflow.DC=changedynamicrole.xml #Delete dynamic role enrole.workflow.DD=removedynamicrole.xml #Import Policy Enforcement enrole.workflow.PE=importpolicyenforcement.xml #Process Lifecycle Rule enrole.workflow.LC=lifecyclerule.xml fesiextensions.properties (en desuso) El archivo fesiextensions.properties (en desuso) proporciona soporte para las ampliaciones JavaScript Free EcmaScript Interpreter (FESI) para versiones anteriores a la 5.0 de Tivoli Identity Manager. No cree nuevas ampliaciones utilizando esta arquitectura en desuso. El archivo fesiextensions.properties define ampliaciones FESI personalizadas e integradas necesarias para IBM Tivoli Identity Manager. FESI significa Free EcmaScript Interpreter, un intérprete de JavaScript escrito en Java. El intérprete FESI lee sus archivos de propiedades durante la inicialización de IBM Tivoli Identity Manager para establecer las ampliaciones para las clases Java necesarias. Las ampliaciones FESI representan regiones, o enlaces de mecanismos, en el software de IBM Tivoli Identity Manager donde se permite el uso del código de JavaScript para introducir la lógica empresarial integrada o personalizada. Las ampliaciones FESI se especifican por medio de un formato de par de clave y valor de propiedad: nombre-clave-propiedad=valor El valor es un nombre completo de archivo de la clase Java. La nombre-clave-propiedad incluye un prefijo estándar (fesi.extension), un contexto y (para clases personalizadas) un nombre identificador (ID) que represente el archivo completo de Java. Por lo general, el nombre de clase más breve no cualificado se utiliza como nombre identificador (ID). fesi.extension.contexto.ID_clase=nombre-clase-completo Las ampliaciones FESI del sistema que utiliza IBM Tivoli Identity Manager incluyen un contexto global y tres contextos específicos. 166 Consulta Identificador de contexto global: Enrole Identificadores de contexto específico: IdentityPolicy HostSelection Workflow A pesar de que no debe modificar las ampliaciones FESI del sistema integrado, puede agregar ampliaciones FESI personalizadas que pueden ser obligatorias para los programas personalizados. Al agregar una ampliación FESI personalizada a este archivo de propiedades, debe utilizar uno de los contextos específicos o globales establecidos. Indique el nombre completo del archivo de la clase Java personalizada como valor y proporciona un identificador (ID) de clave de propiedad exclusivo para la clase personalizada. Ejemplos: fesi.extension.IdentityPolicy.ID-clase-personalizada=nombre-completo-clase-personalizada fesi.extension.HostSelection.ID-clase-personalizada=nombre-completo-clase-personalizada La Tabla 26 define las propiedades en desuso utilizadas para configurar las ampliaciones FESI (en un línea). Tabla 26. Propiedades de fesiextensions.properties (en desuso) Ampliaciones FESI del sistema fesi.extension.Enrole=com.ibm.itim.fesiextensions.Enrole fesi.extension.IdentityPolicy=com.ibm.itim.fesiextensions.IdentityPolicy fesi.extension.HostSelection=com.ibm.itim.fesiextensions.ModelExtension fesi.extension.OrphanAdoption.Model=com.ibm.itim.fesiextensions.ModelExtension fesi.extension.PersonPlacementRules.Model=com.ibm.itim. fesiextensions.ModelExtension fesi.extension.Workflow=com.ibm.itim.workflow.fesiextensions.WorkflowExtension fesi.extension.Workflow.Model=com.ibm.itim.fesiextensions.ModelExtension (la siguiente sentencia de ampliación es en una línea) fesi.extension.PostOffice=com.ibm.itim.mail.postoffice.fesiextensions. PostOfficeExtension fesi.extension.Reminder=com.ibm.itim.fesiextensions.ReminderExtension El valor de cada clave de propiedad del sistema es un archivo de clase Java completo que proporciona IBM Tivoli Identity Manager. No elimine ni modifique la información de esta sección Ampliaciones FESI personalizadas Ejemplo: fesi.extension.enRole.ID-clase-personalizada=nombre-completo-clase-personalizada Puede modificar los archivos fesiextensions.properties para incluir ampliaciones FESI adicionales para los métodos y los objetos personalizados obligatorios. El valor de cada clave de propiedad personalizada es un archivo de clase Java personalizada completo. Todos los nombres de claves de propiedad deben ser exclusivos. Consulta 167 Tabla 26. Propiedades de fesiextensions.properties (en desuso) (continuación) Acceso a la contraseña de JavaScript javascript.password.access.enabled Determina si se puede acceder a las contraseñas sin formato desde los objetos Person y Account. Los valores son: v true – El acceso a la contraseña está habilitado. v false – No se puede acceder a las contraseñas mediante javascript. Ejemplo (predeterminado): javascript.password.access.enabled=true helpmappings.properties El archivo helpmappings.properties permite a un cliente sustituir el sistema de ayuda instalado de Tivoli Identity Manager por un sistema de ayuda alternativo. El archivo helpmappings.properties contiene las propiedades siguientes: Tabla 27. Propiedades de helpmappings.properties url.contexthelp Especifica un URL externo de ayuda. El valor predeterminado está en blanco, con lo que se utiliza el URL del sistema de ayuda de IBM Tivoli Identity Manager. El URL también añadirá el entorno local resuelto basado en los paquetes de idiomas de IBM Tivoli Identity Manager que están instalados. Por ejemplo, http:// www.timcustomer.com/help/en/ui_login.html Ejemplo: url.contexthelp=www.timcustomer.com/help Haciendo clic en el icono de ayuda (’?’) en la interfaz gráfica de usuario de IBM Tivoli Identity Manager, cargará el archivo html de la correlación de clave (http://www.timcustomer.com/help/customerfilename.html). Para una página de inicio, el valor de customerfilename puede ser ui_login.html y la dirección completa http://www.timcustomer.com/help/ui_login.html. reportingLabels.properties Este archivo de propiedades es como otros archivos de propiedades relacionados con etiquetas, como labels.properties o customLabels.properties, y contiene las etiquetas utilizadas por los informes. reporttabledeny.properties De forma predeterminada, esta propiedad contiene una lista de tablas de Tivoli Identity Manager utilizadas por varios componentes de Tivoli Identity Manager para almacenar datos internos o de configuración que no son adecuados para un informe. Este archivo lo utiliza el IBM Tivoli Identity Manager Server para el motor de informes. La tabla siguiente define las propiedades que determinan la información que no se muestra en los informes. 168 Consulta Tabla 28. reporttabledeny.properties tables Contiene una lista separada por comas de todas la tablas de base de datos de IBM Tivoli Identity Manager que se excluyen de la producción de informes. Si una tabla es parte de esta propiedad, la tabla y sus columnas no aparecen en el diseñador de informes y no se puede diseñar un informe sobre las columnas de esta tabla. Un usuario que quiera impedir que el diseñador de informes utilice una tabla de base de datos específica, puede seleccionar añadir la tabla en la propiedad tables. Ejemplo: tables=JMSState, JMSStore, entity_column, column_report, report, synchronization_history, synchronization_lock, changelog, resources_synchronizations, NextValue, ListData, AUTH_KEY, ATTR_CHANGE, ACCT_CHANGE, LCR_INPROGRESS_TABLE, WORKFLOW_CALLBACK, POLICY_ANALYSIS, POLICY_ANALYSIS_ERROR, PO_TOPIC_TABLE, PO_NOTIFICATION_TABLE, BULK_DATA_SERVICE, MIGRATION_STATUS, SYNCH_POINT, COMPLIANCE_ALERT, PO_NOTIFICATION_HTMLBODY_TABLE, BULK_DATA_STORE, BULK_DATA_INDEX, MANUAL_SERVICE_RECON_ACCOUNTS, SCRIPT, ACTIVITY_LOCK allowedRestrictedColumns Hace que los administradores de IBM Tivoli Identity Manager puedan permitir columnas explícitamente de tipos de datos restringidos, para que se utilicen para informes personalizados de diseño y ejecución. No obstante, esta clase de informes sólo funcionarán para los administradores de IBM Tivoli Identity Manager. Si un usuario que no es administrador intenta ejecutar estos informes, el usuario recibirá una AuthorizationException. De forma predeterminada, las columnas de los tipos de datos siguientes no están disponibles cuando se diseñan o ejecutan informes personalizados: BLOB, CLOB, BINARY, VARBINARY, LONGVARBINARY y LONGVARCHAR El valor de la propiedad es una lista separada por comas de <TABLE_NAME>.<COLUMN_NAME>. Si está propiedad no está definida, ninguna de las columnas del tipo de datos restringido estará disponible para informes. Ejemplo (en una línea): allowedRestrictedColumns=ACTIVITY.RESULT_DETAIL, PROCESS.RESULT_DETAIL, PROCESSLOG.NEW_DATA scriptframework.properties (recomendado) Para todas las nuevas ampliaciones JavaScript, utilice el archivo scriptframework.properties para configurar las ampliaciones de script y otras funciones de scripts. JavaScript se utiliza en IBM Tivoli Identity Manager para especificar políticas de identidad, parámetros de política de suministro, políticas de selección de servicios, reglas de colocación para las alimentaciones de identidades y adopción de cuentas huérfanas. Además, JavaScript se utiliza en los flujos de trabajo para especificar las condiciones de transición, condiciones de bucle, actividades de JavaScript, postscript de actividad y notificación de flujo de trabajo. IBM Tivoli Identity Manager proporciona una variedad de ampliaciones de script para exponer los servicios y datos útiles de cada uno de estos scripts. Además de estas Consulta 169 ampliaciones, los administradores del sistema pueden configurar IBM Tivoli Identity Manager para cargar ampliaciones JavaScript personalizadas. El archivo scriptframework.properties se utiliza para configurar todas las partes del soporte de scripts en IBM Tivoli Identity Manager. Incluye las ampliaciones de script que se deben utilizar, el intérprete de scripts que se debe utilizar y algunas otras propiedades relacionadas con los scripts. La mayor parte del archivo scriptframework se divide en estos componentes de host: PostOffice, ProvisioningPolicy, AccountTemplate, HostSelection, PersonPlacementRules, Workflow, Reminder, IdentityPolicy, Notification y OrphanAdoption. La sección que más se utiliza del archivo de propiedades es para la configuración de las ampliaciones a cargar para cada componente de host. Para que la infraestructura del script cargue una ampliación, agregue una línea de valor de clave al archivo scriptframework.properties, de forma similar a este ejemplo: ITIM.extension.{Componente de host}=com.ibm.itim.nombre_clase donde ITIM.extension.{Componente de host} es la clave y com.ibm.itim.nombre_clase es el valor. El valor de {Componente de host} puede ser cualquiera de los componentes enumerados anteriormente. Si quiere cargar más de una única ampliación para un componente de host, puede agregar un sufijo en el componente de host, como: ITIM.extension.{Componente de host}.suffix=com.ibm.itim.nombre_clase La única regla es que cada clave debe ser única en el archivo. El archivo scriptframework.properties viene configurado previamente para cargar las ampliaciones necesarias para utilizar IBM Tivoli Identity Manager con sus scripts predeterminados. No elimine ninguna línea en scriptframework.properties, ya que podría producir que IBM Tivoli Identity Manager pare de funcionar adecuadamente. La siguiente sección del archivo scriptframework.properties configura el intérprete de scripts a utilizar para cada componente de host. IBM Tivoli Identity Manager da soporte actualmente a dos intérpretes de scripts diferentes, IBM JSEngine y FESI JavaScript Interpreter. Para configurar el intérprete a utilizar para cada componente de host, hay una línea en el archivo como: ITIM.interpreter.{Componente de host}={Motor} El valor de {Componente de host} puede ser cualquiera de los componentes enumerados anteriormente y el valor de {Motor} puede ser IBMJS o FESI. La variable {Motor} no distingue entre mayúsculas y minúsculas, por lo que escribir fesi funciona de la misma forma que escribir FESI. IBMJS es el motor de scripts predeterminado, por lo que al indicar cualquier valor para {Motor} distinto a IBMJS, FESI o ningún valor, se utilizará el motor IBMJS. El motor FESI está en desuso y sólo se debe utilizar si ha actualizado desde la versión 4.6 o más antigua de IBM Tivoli Identity Manager y está utilizando ampliaciones FESI personalizadas. La siguiente sección en el archivo de configuración habilita la configuración de derivadores de JavaScript. Por motivos de seguridad, IBM Tivoli Identity Manager no pone a disposición todos los objetos en el entorno de scrips. En lugar de esto, la 170 Consulta mayoría de los objetos se derivan en una clase de derivador más restrictiva que sólo pone a disposición determinados métodos. IBM Tivoli Identity Manager tiene una configuración de derivador predeterminada que se puede sustituir o ampliar en esta sección. Esta es una característica avanzada y no se debe utilizar en la mayoría de los casos. Para obtener más detalles acerca de cómo configurar derivadores personalizados, consulte los comentarios en el archivo scriptframework.properties. La siguiente sección permite configurar el acceso directo a Java desde scripts ejecutados por el intérprete IBM JSEngine. El hecho de permitir acceso directo a Java posibilita muchas cosas, pero también permite que los scripts omitan partes de la seguridad integrada en la infraestructura del script, por lo que se debe utilizar con cuidado. Consulte los comentarios en el archivo scriptframework.properties para obtener más información acerca de cómo habilitar el acceso directo a Java. La sección final del archivo configura propiedades específicas que pueden ser útiles. Cada propiedad específica se explica en los comentarios del archivo scriptframework.properties, incluidos valores predeterminados y permitidos. SelfServiceHelp.properties El archivo SelfServiceHelp.properties puede utilizarse para redirigir la ayuda a una ubicación personalizada para los clientes que desean tener su propio contenido de ayuda para la interfaz de usuario de autoservicio. La Tabla 29 define las propiedades que se utilizan para redirigir la ayuda a una ubicación personalizada. Tabla 29. Propiedades de SelfServiceHelp Valores de SelfServiceHelp de IBM Tivoli Identity Manager helpBaseUrl Especifica el URL base al que enviar las solicitudes de ayuda. Un valor en blanco indica que la ayuda debe ir al URL de la ayuda de aplicación de autoservicio. Los valores válidos son el URL de la ayuda de aplicación de autoservicio: Ejemplo: helpBaseUrl=http://myserver:80 Las correlaciones de ID de ayuda son: ID_ayuda = URL de página relativo La sección de correlaciones de ayuda correlaciona los ID de páginas específicas con un URL relativo que se envía al servidor de ayuda. Por ejemplo: helpBaseUrl=http://myserver:80 locale = en_US loginId/relativeURL = login_help_url=ui/ui_eui_login.html Final URL = http://myserver:80/en_US/ui/ui_eui_login.html El entorno local se determina resolviendo el paquete de recursos SelfServiceScreenText.properties correspondiente al usuario que tiene una sesión iniciada actualmente y utilizando el entorno local asociado. Consulta 171 SelfServiceHomePage.properties El archivo SelfServiceHomePage.properties se utiliza para configurar las secciones de la página de inicio inicialmente instalada para la interfaz de usuario de autoservicio. En este archivo, puede agregar y eliminar tareas, así como actualizar URL de iconos y etiquetas de la página de inicio. El archivo tiene estos tipos de entradas: v Sections=ActionNeeded, Password, nombre_configuración_sección ... Define los nombres de configuración de sección en el orden en que se muestran. v Definición de sección Define las claves de etiquetas, iconos y otros objetos para la sección de la página de inicio. v Definiciones de tarea Define la clave NLS y el enlace para el URL, la clave NLS para la descripción de la tarea y otros atributos que permiten visualizar la tarea. Para obtener más información acerca de estas propiedades, consulte la documentación en el archivo de propiedades. SelfServiceScreenText.properties El archivo SelfServiceScreenText.properties es un paquete de recursos que contiene las etiquetas para la interfaz de usuario de autoservicio. Es posible que haya disponibles versiones del archivo para los idiomas instalados. Por ejemplo: SelfServiceScreenText_en.properties y SelfServiceScreenText_es.properties, que los clientes pueden editar. SelfServiceUI.properties El archivo SelfServiceUI.properties controla varias propiedades de la interfaz de usuario de autoservicio. La Tabla 30 define las propiedades que se utilizan para configurar la interfaz de usuario de autoservicio. Tabla 30. SelfServiceUI.properties enrole.ui.pageSize Especifica el tamaño de página para las listas de visualización. Ejemplo: enrole.ui.pageSize=10 enrole.ui.pageLinkMax Especifica el número de enlaces de página que se mostrarán para los resultados que abarcan varias páginas. Ejemplo: enrole.ui.pageLinkMax=100 enrole.ui.maxSearchResults 172 Consulta Tabla 30. SelfServiceUI.properties (continuación) Especifica el número máximo de resultados de búsqueda que se pueden mostrar. Los resultados que se devolverán pueden ser menos, pero no más, que los valores especificados en ui.properties. Ejemplo: enrole.ui.maxSearchResults=1000 enrole.ui.maxSearchResults.users Especifica el número máximo de resultados de búsqueda que se pueden mostrar para la tarea Delegar actividades - Buscar por usuario. Ejemplo: enrole.ui.maxSearchResults.users=100 enrole.ui.maxNrOfIteration Especifica el número máximo de repeticiones de espera para el estado RequestInfo. Ejemplo: enrole.ui.maxNrOfIteration=20 enrole.ui.waitTime Especifica el tiempo a esperar hasta que se pide el siguiente estado a la solicitud. El producto de (maxNrOfIteration * waitTime) debe ser un máximo de 60 segundos. El valor se interpreta en milisegundos. Ejemplo: enrole.ui.waitTime=3000 enrole.ui.logoffURL Especifica el URL para reenviar al navegador cuando el usuario termine la sesión. Ejemplo: enrole.ui.logoffURL=myLogoffURL enrole.ui.timeoutURL Especifica el URL para reenviar al navegador en tiempo de espera excedido. Ejemplo: enrole.ui.timeoutURL=myTimeoutURL ui.layout.showBanner Especifica un cambio en los valores de las propiedades de ui.layout, para mostrar u ocultar la imagen de cabecera de la interfaz de usuario de autoservicio. Ejemplo: ui.layout.showBanner=true ui.layout.showFooter Consulta 173 Tabla 30. SelfServiceUI.properties (continuación) Especifica un cambio en los valores de las propiedades de ui.layout, para mostrar u ocultar el pie de página de la interfaz de usuario de autoservicio. Ejemplo: ui.layout.showFooter=true ui.layout.showToolbar Especifica un cambio en los valores de las propiedades de ui.layout, para mostrar u ocultar la barra de herramientas de la interfaz de usuario de autoservicio. Ejemplo: ui.layout.showToolbar=true ui.layout.showNav Especifica un cambio en los valores de las propiedades de ui.layout, para mostrar u ocultar la página de navegación de la interfaz de usuario de autoservicio. Ejemplo: ui.layout.showNav=false ui.usersearch.attr.cn Especifica el atributo que aparecerá en el campo searchBy de una búsqueda de usuario. El atributo incluye el prefijo ui.usersearch.attr. Para obtener más información acerca de la correlación y sintaxis, consulte la documentación en el archivo SelfServiceUI.properties. Ejemplo: ui.usersearch.attr.cn=cn ui.usersearch.attr.sn Especifica el atributo que aparecerá en el campo searchBy de una búsqueda de usuario. El atributo incluye el prefijo ui.usersearch.attr. Para obtener más información acerca de la correlación y sintaxis, consulte la documentación en el archivo SelfServiceUI.properties. Ejemplo: ui.usersearch.attr.sn=sn ui.usersearch.attr.telephonenumber Especifica el atributo que aparecerá en el campo searchBy de una búsqueda de usuario. El atributo incluye el prefijo ui.usersearch.attr. Para obtener más información acerca de la correlación y sintaxis, consulte la documentación en el archivo SelfServiceUI.properties. Ejemplo: ui.usersearch.attr.telephonenumber=telephonenumber ui.usersearch.attr.mail 174 Consulta Tabla 30. SelfServiceUI.properties (continuación) Especifica el atributo que aparecerá en el campo searchBy de una búsqueda de usuario. El atributo incluye el prefijo ui.usersearch.attr. Para obtener más información acerca de la correlación y sintaxis, consulte la documentación en el archivo SelfServiceUI.properties. Ejemplo: ui.usersearch.attr.mail=mail ui.view.accounts.expandedbydefault Especifica si los iconos de expansión de las cuentas afectadas de la página de cambio de contraseña deben estar expandidos o contraídos (true|false) de forma predeterminada. Los valores válidos son: v true – Expande los iconos de expansión de las cuentas afectadas de la página de cambio de contraseña de forma predeterminada. v false – No expande los iconos de expansión de las cuentas afectadas de la página de cambio de contraseña de forma predeterminada. Ejemplo (predeterminado): ui.view.accounts.expandedbydefault=false ui.select.all.accounts Especifica si se deben seleccionar o no todas las cuentas debajo del icono de expansión de cuentas de forma predeterminada. Los valores válidos son: v all – Selecciona todas las cuentas debajo del icono de expansión de cuentas. v none – No selecciona ninguna de las cuentas debajo del icono de expansión de cuentas. v default – Mantiene el comportamiento predeterminado. Ejemplo (predeterminado): ui.select.all.accounts=default ui.properties El archivo ui.properties especifica los atributos que afectan al funcionamiento y la visualización de la interfaz gráfica de usuario de Tivoli Identity Manager. La Tabla 31 define la propiedades utilizadas para configurar la interfaz gráfica de usuario de IBM Tivoli Identity Manager. Tabla 31. Propiedades de ui.properties Valores de configuración de la interfaz gráfica de usuario (GUI) de IBM Tivoli Identity Manager enrole.ui.customerLogo.image Consulta 175 Tabla 31. Propiedades de ui.properties (continuación) Especifica el nombre de archivo del gráfico que se visualiza en el lado derecho del título de IBM Tivoli Identity Manager. El gráfico suele ser un logotipo de empresa. Para visualizar la web en un navegador, el formato del archivo debe ser de un tipo que el navegador soporte. El archivo de gráfico real debe estar almacenado en la ubicación siguiente: WebSphere Application Server: WebSphere/AppServer/installedApps/nombre-dominio/ITIM.ear/ itim_console.war/html/images/ También puede especificar una vía de acceso bajo la consola webapp (/itim/console/custom/banner.gif) o especificar el URL completo como http://host.com/banner.gif. Ejemplo: enrole.ui.customerLogo.image=ibm_banner.gif enrole.ui.customerLogo.url Especifica el enlace de la URL que se activa cuando se hace clic en la imagen gráfica personalizada (logotipo de empresa) a la derecha del título de IBM Tivoli Identity Manager. Ejemplo: enrole.ui.customerLogo.url=www.ibm.com enrole.ui.pageSize Especifica el número de elementos de la lista que se muestra inicialmente en la pantalla. Si hay más elementos en la lista, aparecen enlaces en la parte inferior de la vista de lista que activa las continuaciones de la lista (por ejemplo, Página 2, Página 3, Página 4). Ejemplo: enrole.ui.pageSize=50 enrole.ui.maxSearchResults Especifica el número de elementos devueltos en una búsqueda. El valor de esta propiedad puede controlar la posible degradación del rendimiento del sistema cuando se devuelve un número muy elevado de elementos. Si modifica el valor de esta propiedad, debe reiniciar el servidor de aplicaciones. Ejemplo: enrole.ui.maxSearchResults=1000 ui.banner.showForLogin 176 Consulta Tabla 31. Propiedades de ui.properties (continuación) Especifica si mostrar la imagen de cabecera de la consola en la página de inicio de sesión, en lugar de la imagen de cabecera de inicio de sesión predeterminada. Cualquier personalización que se realice en la imagen de cabecera de la consola, aparecerá también en la página de inicio de sesión cuando esta propiedad se aplique. yes Muestra la imagen de cabecera de la consola en la página de inicio de sesión. no Muestra la imagen de cabecera de inicio de sesión predeterminada. Un valor vacío presupone un no. Ejemplo (predeterminado): ui.banner.showForLogin=no ui.footer.URL Especifica el URL para la consola administrativa de IBM Tivoli Identity Manager. Especifica la dirección completa (http://su_host.com/footer.html) o una dirección del servidor web de IBM Tivoli Identity Manager (/itim/console/custom/ footer.html). Un valor en blanco utiliza la dirección predeterminada del pie de página de IBM Tivoli Identity Manager. Ejemplo: ui.footer.URL=http://itim99.mylab.raleigh.ibm.com:9080/itim/console/main ui.footer.height Especifica la altura en píxeles del pie de página en la consola administrativa de IBM Tivoli Identity Manager. Ejemplo (predeterminado): ui.footer.height=50 ui.footer.isVisible Muestra u oculta el pie de página de la consola administrativa de IBM Tivoli Identity Manager. Los valores válidos son: v yes (o en blanco) - Muestra el pie de página. v no - Oculta el pie de página. Ejemplo (predeterminado): ui.footer.isVisible=yes ui.banner.URL Especifica el URL para la imagen de cabecera en la consola administrativa de IBM Tivoli Identity Manager. Especifica la dirección completa (http://su_host.com/banner.html) o una vía de acceso del servidor web de IBM Tivoli Identity Manager (/itim/console/custom/ banner.html). Un valor en blanco utiliza la dirección predeterminada de la imagen de cabecera de IBM Tivoli Identity Manager. Ejemplo: ui.banner.URL=http://itim99.mylab.raleigh.ibm.com:9080/itim/console/main Consulta 177 Tabla 31. Propiedades de ui.properties (continuación) ui.banner.height Especifica la altura en píxeles de la imagen de cabecera en la consola administrativa de IBM Tivoli Identity Manager. Ejemplo (predeterminado): ui.banner.height=48 ui.homepage.path Ubicación de la página de inicio de la consola administrativa de IBM Tivoli Identity Manager. Especifica una vía de acceso relativa de la raíz de contexto de la consola de IBM Tivoli Identity Manager (/itim/console). Por ejemplo, si la vía de acceso completa a la página de inicio era http://su_host:9080/itim/console/custom/home.html, el valor siguiente debe ser ui.homepage.path=custom/home.html. La página de inicio personalizada debe residir en la aplicación web de IBM Tivoli Identity Manager. Por ejemplo: vía de acceso/ITIM.ear/itim_console.war/custom/ home.html). Un valor en blanco utiliza la dirección predeterminada de la página de inicio de IBM Tivoli Identity Manager. Ejemplo: ui.homepage.path=custom/home.html ui.titlebar.text Especifica el texto que aparece en la barra de título del navegador para la consola de IBM Tivoli Identity Manager. Un valor en blanco utiliza el nombre predeterminado del producto IBM Tivoli Identity Manager. Ejemplo: ui.titlebar.text=Our Home Page ui.userManagement.includeAccounts Especifica el comportamiento predeterminado para incluir las cuentas al suspender, restaurar o suprimir usuarios. Los valores válidos son: v true – Las cuentas se incluyen al suspender, restaurar o suprimir usuarios. v false – Las cuentas se excluyen al suspender, restaurar o suprimir usuarios. Ejemplo (predeterminado): ui.userManagement.includeAccounts=true ui.challengeResponse.showAnswers 178 Consulta Tabla 31. Propiedades de ui.properties (continuación) Especifica si las respuestas a las preguntas de contraseña se tratarán como contraseñas o como texto visible en la página Contraseña olvidada y en la página de definición de respuestas a las preguntas de contraseña de la interfaz de usuario. Los valores válidos son: v true – Las respuestas a las preguntas de contraseña se mostrarán como texto visible. v false – Las respuestas a las preguntas de contraseña se mostrarán como contraseñas. Ejemplo (predeterminado): ui.challengeResponse.showAnswers=true Propiedades del applet de WfDesigner y FormDesigner enrole.build.version enrole.java.plugin enrole.java.plugin.classid enrole.java.pluginspage enrole.java.plugin.jpi-version enrole.java.plugin.version enrole.java.entWflowHeightIE enrole.java.entWflowWidthIE enrole.java.entWflowHeightMZ enrole.java.entWflowWidthMZ enrole.java.opWflowHeightIE enrole.java.opWflowWidthIE enrole.java.opWflowHeightMZ enrole.java.opWflowWidthMZ enrole.java.joinDirHeightIE enrole.java.joinDirWidthIE enrole.java.joinDirHeightMZ enrole.java.joinDirWidthMZ enrole.java.formDesignHeightIE enrole.java.formDesignWidthIE enrole.java.formDesignHeightMZ enrole.java.formDesignWidthMZ express.java.formDesignHeightIE express.java.formDesignWidthIE express.java.formDesignHeightMZ express.java.formDesignWidthMZ #enrole.ui.logoffURL (de forma predeterminada está comentado) #enrole.ui.timeoutURL (de forma predeterminada está comentado) No debe modificar ni eliminar la información de esta sección. Estos pares de clave y valor de propiedad proporcionan el soporte del applet de Java necesario para el navegador web que ejecuta la interfaz gráfica de usuario de IBM Tivoli Identity Manager. Propiedades del menú de informes enrole.ui.report.maxRecordsInReport Consulta 179 Tabla 31. Propiedades de ui.properties (continuación) Muestra el número de registros que se pueden visualizar en un informe PDF sin obtener un error de falta de memoria. El número no garantiza que la generación del informe en PDF sea correcta. Si el informe contiene más registros de los especificados por esta propiedad, la generación del informe en PDF no se intentará. Ejemplo: enrole.ui.report.maxRecordsInReport=5000 Habilitar/inhabilitar el inicio de sesión único de WebSEAL (SSO) enrole.ui.ssoEnabled El par de clave y valor de propiedad de esta sección no pertenece a la GUI de IBM Tivoli Identity Manager. Habilita o inhabilita la funcionalidad de inicio de sesión único de WebSEAL. Se requiere una configuración adicional para la funcionalidad de inicio de sesión único de WebSEAL. Los valores válidos son: v true - El inicio de sesión único de WebSEAL está habilitado. v false - El inicio de sesión único de WebSEAL está inhabilitado. Ejemplo (predeterminado): enrole.ui.ssoEnabled=false enrole.ui.ssoEncoding Especifica la codificación utilizada para descodificar las credenciales del usuario con el inicio de sesión único de WebSEAL. Ejemplo (predeterminado): enrole.ui.ssoEncoding=UTF-8 Propiedades de renovación enrole.ui.httpRefreshSecs Define, en segundos, la tasa de renovación para las páginas de la interfaz gráfica de usuario. Esta propiedad se utiliza durante las vistas previas de la política. Ejemplo (predeterminado): enrole.ui.httpRefreshSecs=10 Correlación de clase de búsqueda para ObjectProfileCategory Los pares de clave y valor de propiedad de esta sección no pertenecen a la interfaz gráfica de usuario de IBM Tivoli Identity Manager y no se deben modificar ni eliminar. 180 Consulta Configuración de propiedades del sistema en enRole.properties En esta sección se proporciona información detallada sobre los valores y las claves de propiedad contenidos en el archivo de configuración del sistema ITIM_HOME\data\enRole.properties. El archivo de configuración del sistema enRole.properties contiene muchas de las propiedades utilizadas para configurar IBM Tivoli Identity Manager. Las propiedades del archivo controlan la funcionalidad del programa y permiten la personalización por parte del usuario de las funciones especiales. Comprensión de los archivos de propiedades Los archivos de propiedades Java definen los atributos que permiten personalizar y controlar el software Java. Los archivos de propiedades del sistema estándar y los archivos de propiedades personalizadas se utilizan para configurar las preferencias de usuario y la personalización del usuario. Un archivo de propiedades Java define los valores de los recursos con nombre que pueden especificar opciones del programa, como la información de acceso a la base de datos, los valores del entorno, y las funciones y funcionalidad especiales. Un archivo de propiedades define los recursos con nombre por medio de un formato de par de clave y valor de propiedad: nombre-clave-propiedad=valor nombre-clave-propiedad es un identificador para el recurso. El valor es normalmente el nombre del objeto Java real que proporciona el recurso o una cadena que representa el valor de la clave de propiedad, como por ejemplo, database.name=itimdb. La sintaxis de la sentencia permite espacios antes y después del signo igual (=) y puede distribuirse en varias líneas si coloca un carácter de continuación de línea \ (una barra inclinada invertida) al final de la línea. Para obtener más información acerca de la sintaxis de la sentencia, consulte las guías de consulta del lenguaje Java. Propiedades de WebSphere Application Server Las propiedades de WebSphere Application Server definen valores específicos para integrar IBM Tivoli Identity Manager con WebSphere Application Server. La Tabla 32 define las propiedades específicas para integrar IBM Tivoli Identity Manager con WebSphere Application Server. Tabla 32. Propiedades de WebSphere Application Server Nombre de la fábrica de contexto de la plataforma enrole.platform.contextFactory No modifique este valor ni esta clave de propiedad. Especifica la clase Java para la fábrica del contexto de plataforma que define el punto de integración para IBM Tivoli Identity Manager con WebSphere Application Server. Ejemplo (predeterminado, especificado como una línea): enrole.platform.contextFactory=com.ibm.itim.apps.impl.websphere. WebSpherePlatformContextFactory Consulta 181 Tabla 32. Propiedades de WebSphere Application Server (continuación) Servidor de aplicaciones enrole.appServer.contextFactory No modifique este valor ni esta clave de propiedad. Especifica la clase Java que determina qué fábrica JNDI utilizar con WebSphere Application Server. Ejemplo (predeterminado): enrole.appServer.contextFactory=com.ibm.websphere.naming. WsnInitialContextFactory enrole.appServer.url Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la ubicación del servicio de denominación del servidor de aplicaciones. Este valor se obtiene durante la instalación de IBM Tivoli Identity Manager. Ejemplo: enrole.appServer.url=iiop://localhost:2809 enrole.appServer.usertransaction.jndiname No modifique este valor ni esta clave de propiedad. Especifica el nombre JNDI del objeto de transacción del usuario de JTA (Java Transaction API). Ejemplo (predeterminado): enrole.appServer.usertransaction.jndiname=jta/usertransaction enrole.appServer.systemUser Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Modifíquelos únicamente por medio del programa de utilidad runConfig. Especifica el nombre del administrador para WebSphere Application Server cuando la seguridad está habilitada. En un entorno de WebSphere Application Server, este valor es obligatorio sólo cuando está habilitada la seguridad global. El valor no está establecido si la seguridad no está habilitada. El valor se utiliza para iniciar, detener y configurar el IBM Tivoli Identity Manager Server. El valor también lo utilizan las rutinas de instalación y configuración de IBM Tivoli Identity Manager para autenticar WebSphere Application Server. Ejemplo: enrole.appServer.systemUser=system enrole.appServer.systemUser.credentials 182 Consulta Tabla 32. Propiedades de WebSphere Application Server (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Modifíquelos únicamente por medio del programa de utilidad runConfig. Este valor se almacena en formato cifrado que depende de la opción seleccionada con el programa de utilidad runConfig. Especifica la contraseña del usuario del sistema. Ejemplo: enrole.appServer.systemUser.credentials=password enrole.appServer.ejbuser.principal Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Modifíquelos únicamente por medio del programa de utilidad runConfig. Especifica el nombre utilizado por IBM Tivoli Identity Manager para la autenticación cuando se realicen llamadas a beans de Java. Ejemplo: enrole.appServer.ejbuser.principal=rasweb enrole.appServer.ejbuser.credentials Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Modifíquelos únicamente por medio del programa de utilidad runConfig. Especifica la contraseña para el principal especificado. El cifrado de este valor está especificado en la propiedad enrole.password.appServer.encrypted de enRole.properties. Ejemplo: enrole.appServer.ejbuser.credentials=password enrole.appServer.ejbuser.realm Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el nombre de dominio de seguridad del servidor de destino si IBM Tivoli Identity Manager se está ejecutando en una instancia de WebSphere Application Server diferente a la configurada para ejecutarse con un dominio de seguridad distinto. Ejemplo (en una línea): enrole.appServer.ejbuser.realm= enrole.appServer.ejbuser.realm=ldap.ibm.com:389 El valor predeterminado es vacío (ningún valor). enrole.appServer.alwayssetisolevelrc Consulta 183 Tabla 32. Propiedades de WebSphere Application Server (continuación) No modifique este valor ni esta clave de propiedad. Esta propiedad especifica que IBM Tivoli Identity Manager debe establecer siempre el nivel de aislamiento de la transacción de lectura comprometida cuando adquiere las conexiones de la base de datos. Debido a que WebSphere Application Server tiene soporte interno para establecer el nivel de aislamiento, esta propiedad se debe establecer en false. Ejemplo (predeterminado): enrole.appServer.alwayssetisolevelrc=false Asistente del inicio de sesión enrole.appServer.loginHelper.class No modifique este valor ni esta clave de propiedad. Especifica la clase Java que se utiliza para registrar cada hebra en la seguridad de J2EE. Ejemplo (predeterminado): enrole.appServer.loginHelper.class=com.ibm.itim.util.was.WAS40LoginHelper Separador de la vía de acceso del servlet del servidor de aplicaciones enrole.servlet.path.separator No modifique este valor ni esta clave de propiedad. Especifica el carácter de separación que se utiliza para especificar los nombres de vía de acceso de los recursos obligatorios. Ejemplo (predeterminado): enrole.servlet.path.separator=. Inicio de sesión del sistema de notificación de suceso SystemLoginContextFactory No modifique este valor ni esta clave de propiedad. Especifica la clase de fábrica Java para el inicio de sesión del sistema de notificación de sucesos adecuado para WebSphere Application Server. Ejemplo (predeterminado, especificado como una línea): SystemLoginContextFactory=com.ibm.itim.remoteservices.provider.itim. websphere.WSSystemLogonContextFactory Propiedades del servidor de aplicaciones Las propiedades del servidor de aplicaciones definen las propiedades específicas para el servidor de aplicaciones, como por ejemplo, un entorno local seleccionado por el usuario. 184 Consulta La Tabla 33 define las propiedades específicas para el servidor de aplicaciones. Tabla 33. Propiedades del servidor de aplicaciones Entorno local seleccionado por el usuario entorno local Especifica la configuración del entorno local para el entorno de IBM Tivoli Identity Manager. Ejemplo (predeterminado): locale=en Nombre de la fábrica de contextos enrole.appServer.name Especifica el nombre exclusivo del servidor de aplicaciones. En un entorno de clúster, es importante que este nombre sea exclusivo para cada miembro del clúster. Ejemplo (predeterminado): enrole.appServer.name=myserver enrole.password.database.encrypted Use el programa de utilidad runConfig para modificar esta propiedad. Especifica si la contraseña para la conexión de la base de datos (especificada por la propiedad database.db.password del archivo enroleDatabase.properties) está cifrada o no. Los valores válidos son: v true – La contraseña está cifrada. v false – La contraseña no está cifrada. Ejemplo (predeterminado): enrole.password.database.encrypted=true enrole.password.ldap.encrypted Use el programa de utilidad runConfig para modificar esta propiedad. Especifica si la contraseña LDAP (especificada por la propiedad java.naming.security.credentials del archivo enRoleLDAPConnection.properties) está cifrada o no. Los valores válidos son: v true – La contraseña está cifrada. v false – La contraseña no está cifrada. Ejemplo (predeterminado): enrole.password.ldap.encrypted=true enrole.password.appServer.encrypted Consulta 185 Tabla 33. Propiedades del servidor de aplicaciones (continuación) Use el programa de utilidad runConfig para modificar esta propiedad. Especifica si la contraseña del servidor de aplicaciones (especificada por la propiedad enrole.appServer.ejbuser.credentials en el archivo enRole.properties) está cifrada o no. Los valores válidos son: v true – La contraseña está cifrada. v false – La contraseña no está cifrada. Ejemplo (predeterminado): enrole.password.appServer.encrypted=true Propiedades de la organización Las propiedades de la organización definen el nombre de la organización que el servidor de directorios utiliza. La Tabla 34 define las propiedades del nombre de la organización que utiliza el servidor de directorios. Tabla 34. Propiedades de la organización enrole.defaulttenant.id Use el programa de utilidad ldapConfig para modificar esta propiedad. Especifica el formato corto del nombre de la organización que utiliza el servidor de directorios. Este valor se especifica durante la instalación de IBM Tivoli Identity Manager o ejecutando el programa de utilidad ldapConfig. Ejemplo (predeterminado): enrole.defaulttenant.id=org En LDAP, este valor se expresa como: ou=org enrole.organization.name Use el programa de utilidad ldapConfig para modificar esta propiedad. Especifica el formato largo del nombre de la organización que utiliza el servidor de directorios. Este valor se especifica durante la instalación de IBM Tivoli Identity Manager o ejecutando el programa de utilidad ldapConfig. Ejemplo (predeterminado): enrole.organization.name=Organization Propiedades del servidor LDAP Las propiedades de servidor LDAP que el servidor de directorios utiliza en el que IBM Tivoli Identity Manager almacena los datos. La Tabla 35 en la página 187 define las propiedades que el servidor de directorios utiliza. 186 Consulta Tabla 35. Propiedades del servidor LDAP enrole.ldapserver.root Especifica el nodo de entrada de nivel superior de la estructura de datos del servidor de directorios (dc= control de dominio). Use el programa de utilidad ldapConfig para modificar este valor. Este valor se especifica durante la instalación de IBM Tivoli Identity Manager. Ejemplo (predeterminado): enrole.ldapserver.root=dc=com enrole.ldapserver.home No modifique este valor ni esta clave de propiedad. Especifica la ubicación de la información de configuración del sistema en el servidor de directorios. Ejemplo (predeterminado): enrole.ldapserver.home=ou=itim enrole.ldapserver.agelimit Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Use el programa de utilidad runConfig para modificar este valor. Especifica el número de días que permanece un objeto en la papelera de reciclaje del sistema antes de que lo puedan suprimir cuando se invoque el script de limpieza. El límite de duración de la papelera de reciclaje del sistema protege los objetos de la papelera de reciclaje de los scripts de limpieza durante el período de tiempo especificado. Los scripts de limpieza sólo pueden eliminar los objetos que son más antiguos que el valor de límite de duración. Por ejemplo, si el parámetro del límite de duración es de 62 días (valor predeterminado), sólo se pueden suprimir los objetos que han estado en la papelera de reciclaje durante más de 62 días invocando el script de limpieza. Ejemplo (predeterminado): enrole.ldapserver.agelimit=62 enrole.ldapserver.ditlayout No modifique este valor ni esta clave de propiedad. Especifica la clase Java que define la estructura de los datos almacenados en el servidor de directorios. Ejemplo (predeterminado, estructura plana): enrole.ldapserver.ditlayout=com.ibm.itim.dataservices.dit.itim. FlatHashedLayout enrole.ldap.provider Ejemplo (predeterminado): enrole.ldap.provider=IBM Consulta 187 Propiedades del control LDAP y de la búsqueda Las propiedades del control LDAP y de la búsqueda se utilizan para configurar la estrategia de búsqueda y el control LDAP. Para obtener más información acerca de la configuración de estos parámetros para su entorno, consulte la guía de ajuste que se proporciona para IBM Tivoli Identity Manager. La Tabla 36 define las propiedades utilizadas para configurar la estrategia de búsqueda y el control LDAP. Tabla 36. Propiedades del control LDAP y de la búsqueda enrole.search.sss.enable No modifique este valor ni esta clave de propiedad. Especifica si se debe utilizar la ordenación del servidor para las búsquedas del servidor de directorios. La habilitación de la ordenación del servidor con esta propiedad puede causar un importante impacto negativo al visualizar grandes unidades organizativas. Se recomienda mantener esta opción inhabilitada en la mayoría de los entornos. Ejemplo (predeterminado): enrole.search.sss.enable=false enrole.search.vlv.enable No modifique este valor ni esta clave de propiedad. Especifica si se debe utilizar la vista de lista virtual (VLV) para todos los datos de retorno del servidor de directorios. Esta propiedad sólo se puede habilitar cuando es soportada por el servidor de directorios. Esta opción reduce la carga de memoria en el servidor de aplicaciones pero coloca una significativa carga en el servidor LDAP. Ejemplo (predeterminado): enrole.search.vlv.enable=false enrole.search.paging.enable No modifique este valor ni esta clave de propiedad. Especifica si se debe utilizar la ordenación de páginas para las búsquedas del servidor de directorios. Esta opción reduce la carga de memoria del servidor de aplicaciones, pero no se recomienda habilitarla porque el servidor de directorios podría establecer un límite en la cantidad de búsquedas compaginadas destacadas. Ejemplo (predeterminado): enrole.search.paging.enable=false enrole.search.paging.pagesize No modifique este valor ni esta clave de propiedad. Especifica el tamaño de página que se utiliza para las búsquedas LDAP de páginas cuando enrole.search.paging.enable=true. Ejemplo (predeterminado): enrole.search.paging.pagesize=128 188 Consulta Tabla 36. Propiedades del control LDAP y de la búsqueda (continuación) enrole.search.cache.enable No modifique este valor ni esta clave de propiedad. Especifica el uso de la caché al buscar, para aumentar la velocidad de las búsquedas LDAP. Ejemplo (predeterminado): enrole.search.cache.enable=true enrole.search.cache.secondary.enable No modifique este valor ni esta clave de propiedad. Especifica el uso de la caché secundaria al buscar, para aumentar la velocidad de las búsquedas LDAP. Ejemplo (predeterminado): enrole.search.cache.secondary.enable=true enrole.search.cache.secondary.filter.1 No modifique este valor ni esta clave de propiedad. Utiliza un fragmento de filtro para personas, para evitar que se utilice la caché en los filtros de búsqueda LDAP. Para los filtros de búsqueda LDAP filtrados se utiliza la caché secundaria, si está habilitada. Ejemplo (predeterminado): enrole.search.cache.secondary.filter.1=ou=people enrole.search.cache.secondary.filter.2 No modifique este valor ni esta clave de propiedad. Utiliza un fragmento de filtro para cuentas, para evitar que se utilice la caché en los filtros de búsqueda LDAP. Para los filtros de búsqueda LDAP filtrados se utiliza la caché secundaria, si está habilitada. Ejemplo (predeterminado): enrole.search.cache.secondary.filter.2=ou=accounts enrole.search.cache.secondary.filter.3 No modifique este valor ni esta clave de propiedad. Utiliza un fragmento de filtro para el usuario del sistema, para evitar que se utilice la caché en los filtros de búsqueda LDAP. Para los filtros de búsqueda LDAP filtrados se utiliza la caché secundaria, si está habilitada. Ejemplo (predeterminado): enrole.search.cache.secondary.filter.3=ou=systemuser enrole.search.cache.secondary.filter.4 Consulta 189 Tabla 36. Propiedades del control LDAP y de la búsqueda (continuación) No modifique este valor ni esta clave de propiedad. Utiliza un fragmento de filtro para cuentas huérfanas, para evitar que se utilice la caché en los filtros de búsqueda LDAP. Para los filtros de búsqueda LDAP filtrados se utiliza la caché secundaria, si está habilitada. Ejemplo (predeterminado): enrole.search.cache.secondary.filter.4=ou=orphans enrole.search.clientside.filtering.enable No modifique este valor ni esta clave de propiedad. Especifica el uso del filtro de la parte del cliente como una alternativa de rendimiento en búsquedas LDAP complejas. Ejemplo (predeterminado): enrole.search.clientside.filtering.enable=true enrole.search.strategy No modifique este valor ni esta clave de propiedad. Especifica la clase Java que define la estrategia de búsqueda para procesar los datos de retorno del servidor de directorios. Los valores de la estrategia son: v com.ibm.itim.apps.ejb.search.EnumeratedSearch (procesar datos a petición) Evita el uso de conjuntos, si es posible. Mantiene una caché del número de enlaces de búsqueda multiplicado por el tamaño de página. La conexión subyacente se cierra cuando la caché de la página está llena. Los elementos de control de accesos se aplican como resultados recuperados. v com.ibm.itim.apps.ejb.search.CollectedSearch (procesar todos los datos) Este es el mecanismo de búsqueda heredado, que convertirá los resultados de búsqueda en un conjunto y lo ordenará, aplicando elementos de control de accesos en el conjunto a medida que se recuperan páginas. La conexión LDAP subyacente se libera en cuanto los resultados se transforman en un conjunto. Ejemplo (predeterminado): enrole.search.strategy=com.ibm.itim.apps.ejb.search.EnumeratedSearch enrole.recyclebin.enable Inhabilite el uso de la papelera de reciclaje para la mayoría de los objetos para mejorar así el tiempo de búsqueda. Ejemplo (predeterminado para instalaciones nuevas): enrole.recyclebin.enable=false Propiedades de perfil de persona Las propiedades de perfil de persona identifican un perfil de persona. La Tabla 37 en la página 191 define la propiedad que se utiliza para identificar un perfil de persona. De forma predeterminada, esta propiedad selecciona el perfil dado cuando crea una persona o realiza búsquedas de personas avanzadas en la consola administrativa. 190 Consulta Tabla 37. Propiedad de perfil de persona enrole.personProfile Busca en IBM Tivoli Identity Manager el uso el perfil de persona Person. Si desea utilizar los esquemas de persona personalizados, establezca esta propiedad en su perfil. Ejemplo (predeterminado): enrole.personProfile=Person Ejemplo: enrole.personProfile=su_perfil Propiedades de la caché y del esquema y del perfil Las propiedades de la caché del esquema y del perfil definen el rendimiento de la caché del sistema. La Tabla 38 define las propiedades que se utilizan para configurar el rendimiento de la caché del sistema. Tabla 38. Propiedades de la caché y del esquema y del perfil enrole.profile.timeout El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el valor de tiempo de espera [en minutos] para obtener la información que se encuentra en la sección de perfil de la caché. La información que excede este valor de tiempo de espera se elimina de la caché. Ejemplo (predeterminado): enrole.profile.timeout=10 enrole.schema.timeout El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el valor de tiempo de espera [en minutos] para obtener la información que se encuentra en la sección de esquema de la caché. La información que excede este valor de tiempo de espera se elimina de la caché. Ejemplo (predeterminado): enrole.schema.timeout=10 password.attributes Especifica el atributo que el componente dataservices cifrará. Ejemplo (predeterminado, en una línea): password.attributes=ersynchpassword erServicePassword erServicePwd1 erServicePwd2 erServicePwd3 erServicePwd4 erADDomainPassword erPersonPassword erNotesPasswdAddCert eritamcred erep6umds enrole.reminder.timeout Consulta 191 Tabla 38. Propiedades de la caché y del esquema y del perfil (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el intervalo de la caché (en minutos) para un recordatorio del flujo de trabajo. Ejemplo: enrole.reminder.timeout=10 signedObjectsCacheTimeout Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el intervalo de la caché (en horas) para objetos firmados. Ejemplo: signedObjectsCacheTimeout=8 Propiedades de mensajería Las propiedades de mensajería configuran la comunicación interna entre los componentes de Java Message Service (JMS) utilizados por IBM Tivoli Identity Manager. La Tabla 39 define las propiedades que se utilizan para configurar la comunicación interna entre los componentes de Java Message Service (JMS) utilizados por IBM Tivoli Identity Manager. El ajuste de estos valores de propiedades es importante para el ajuste de rendimiento y la escalabilidad adecuados del producto IBM Tivoli Identity Manager. Los valores de propiedades de esta sección sólo deben ser modificados por administradores cualificados. Tabla 39. Propiedades de mensajería Configuración del tiempo de espera del mensaje enrole.messaging.ttl Este valor y clave de propiedad afecta al ajuste de rendimiento de JMS y sólo la debe cambiar un administrador cualificado. Especifica la duración [en minutos] de un mensaje en la cola. Un valor de cero especifica una duración sin límite. Ejemplo (predeterminado): enrole.messaging.ttl=0 Configuración de la cola de mensajería 192 Consulta Tabla 39. Propiedades de mensajería (continuación) enrole.messaging.managers= \ enrole.messaging.adhocSyncQueue \ enrole.messaging.workflowQueue \ enrole.messaging.sharedWorkflowQueue \ enrole.messaging.partitioningServiceQueue \ enrole.messaging.remoteServicesQueue \ enrole.messaging.remotePendingQueue \ enrole.messaging.mailServicesQueue \ enrole.messaging.policyAnalysisQueue \ enrole.messaging.policySimulationQueue \ enrole.messaging.importExportQueue No modifique estos valores y claves de propiedad. Especifica los nombres de clave de las colas de IBM Tivoli Identity Manager con soporte. enrole.messaging.adhocSyncQueue=adhocSyncQueue enrole.messaging.workflowQueue=workflowQueue enrole.messaging.sharedWorkflowQueue=sharedWorkflowQueue enrole.messaging.partioningServiceQueue=partitioningServiceQueue enrole.messaging.remoteServicesQueue=remoteServicesQueue enrole.messaging.remotePendingQueue=remotePendingQueue enrole.messaging.mailServicesQueue=mailServicesQueue enrole.messaging.policyAnalysisQueue=policyAnalysisQueue enrole.messaging.policySimulationQueue=policySimulationQueue enrole.messaging.importExportQueue=importExportQueue No modifique estos valores y claves de propiedad. Especifica el nombre de cola real, tal como lo denomina el servidor de aplicaciones. Configuración del atributo de cola Consulta 193 Tabla 39. Propiedades de mensajería (continuación) v SHARED Un valor booleano que indica si la cola se comparte o no en un despliegue de clúster. En un clúster, todos los miembros de este pueden escribir y leer una cola compartida. No modifique esta propiedad. Ejemplo (en una línea): enrole.messaging.sharedWorkflowQueue.attributes=SHARED=true enrole.messaging.policyAnalysisQueue.attributes=SHARED=true enrole.messaging.policySimulationQueue.attributes=SHARED=true Los errores de procesamiento de mensajes detectados por el sistema de mensajería provocarán que mensajes individuales se vuelvan a enviar e intentos adicionales para manejar el mensaje. Siguiendo la primera indicación del error de proceso, se planificará inmediatamente un nuevo intento. Si el primer intento de reintento falla, se planifica otro con un retraso que coincida con el valor de la propiedad FIRST_RETRY_DELAY. Si el segundo intento de reintento falla, se planifica otro con un retraso que coincida con el valor de la propiedad RETRY_DELAY. Los reintentos siguientes se efectúan por medio del valor de la propiedad RETRY_DELAY hasta que se alcanza el umbral de MAX_RETRY_TIME. Establezca las propiedades siguientes para gestionar cómo maneja el sistema los reintentos. v FIRST_RETRY_DELAY El tiempo [en milisegundos] que retrasar tras el reintento inmediato inicial. El valor predeterminado es 900000 (15 minutos). v RETRY_DELAY El tiempo [en milisegundos] que retrasar antes de realizar el reintento después de que haya fallado el primer reintento inmediato. El valor predeterminado es 3600000 (60 minutos). v MAX_RETRY_TIME Tiempo máximo permitido para los reintentos que empiezan con el primer error. El valor predeterminado es 86400000 (24 horas) Ejemplo (en una línea): enrole.messaging.workflowQueue.attributes=SHARED=false FIRST_RETRY_DELAY=300000 RETRY_DELAY=900000 MAX_RETRY_TIME=3600000 Propiedades de planificación Las propiedades de planificación se utilizan para configurar el planificador interno que ejecuta sucesos basados en calendario y planificados. La Tabla 40 define las propiedades utilizadas para configurar el planificador interno responsable de ejecutar los sucesos planificados basados en el calendario. Los sucesos y sus planificaciones se almacenan en una tabla de la base de datos. Tabla 40. Propiedades de planificación enrole.scheduling.heartbeat 194 Consulta Tabla 40. Propiedades de planificación (continuación) El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el intervalo [en segundos] durante el cual el supervisor de sucesos comprueba la tabla de la base de datos para los sucesos planificados. Ejemplo (predeterminado): enrole.scheduling.heartbeat=30 enrole.scheduling.timeout El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el valor de tiempo de espera [en minutos] para el procesador de sucesos. Ejemplo (predeterminado): enrole.scheduling.timeout=10 enrole.scheduling.fetchsize El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el número de mensajes que recuperar a la vez cuando se está en modalidad de proceso por lotes. Ejemplo (predeterminado): enrole.scheduling.fetchsize=50 Propiedades de supervisión de la transacción de contraseñas Las propiedades de supervisión de la transacción de contraseñas se utilizan para comprobar las respuestas a las transacciones de contraseña y hacer caducar las transacciones donde el usuario no ha podido responder en el intervalo permitido. Cuando se cambia la contraseña de un usuario, o se genera automáticamente, se envía una notificación de correo electrónico al usuario. El correo electrónico contiene la contraseña real o un enlace que el usuario puede utilizar para obtener la contraseña nueva. Esta actividad se denomina transacción de contraseñas. El usuario debe responder al correo electrónico e incorporar la contraseña nueva en un período de tiempo especificado. Si el usuario no responde en el período de tiempo permitido, la transacción de contraseñas caduca. El supervisor de la transacción de contraseñas es responsable de comprobar las respuestas a las transacciones de contraseña y hacer caducar las transacciones en las que el usuario no ha podido responder a la notificación de correo electrónico. Tabla 41. Propiedades de supervisión de la transacción de contraseñas enrole.passwordtransactionmonitor.heartbeat Especifica la frecuencia [en horas] con la que el supervisor de la transacción de contraseñas comprueba las transacciones de contraseña caducadas. Ejemplo (predeterminado): enrole.passwordtransactionmonitor.heartbeat=1 Consulta 195 Propiedades XML y DTD Las propiedades XML y DTD ya no se utilizan. Estas propiedades ya no se utilizan. Tabla 42. Propiedades XML y DTD enrole.dtd.uri No se utiliza. Propiedades de la agrupación de conexiones LDAP Las propiedades de la agrupación de conexiones LDAP se utilizan para configurar las solicitudes de conexión de la caché al servidor de directorios. La Tabla 43 define las propiedades que se utilizan para configurar los valores que afectan a las solicitudes de conexión de la caché al servidor de directorios de IBM Tivoli Identity Manager. Tabla 43. Propiedades de la agrupación de conexiones LDAP enrole.connectionpool.incrementcount El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el número de conexiones creadas cada vez que se incrementa la agrupación de conexiones LDAP para adecuarse a una demanda creciente. Ejemplo (predeterminado): enrole.connectionpool.incrementcount=3 enrole.connectionpool.authentication El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica una lista de tipo de conexiones de autenticación separadas por espacios que pueden ser agrupadas. Los tipos válidos son: v none - No se necesita autenticación. v simple v DIGEST-MD5 Ejemplo (predeterminado): enrole.connectionpool.authentication=none simple enrole.connectionpool.debug 196 Consulta Tabla 43. Propiedades de la agrupación de conexiones LDAP (continuación) Este valor y clave de propiedad especifica el nivel de salida de la depuración. Los valores válidos son ″fine″ (rastrea la creación y eliminación de la conexión) y ″all″ (toda la información de depuración). Los valores válidos son: v fine - Rastrea la creación y eliminación de la conexión. v all - Toda la información de depuración. Ejemplo (predeterminado, comentado): #enrole.connectionpool.debug=fine enrole.connectionpool.initialpoolsize El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el número inicial de conexiones físicas LDAP que crear para la agrupación de conexiones LDAP. Este valor debe ser inferior o igual al valor de la propiedad maxpoolsize. Ejemplo (predeterminado): enrole.connectionpool.initialpoolsize=50 enrole.connectionpool.maxpoolsize El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica la cantidad máxima de conexiones físicas LDAP que se pueden crear. Ejemplo (predeterminado): enrole.connectionpool.maxpoolsize=100 enrole.connectionpool.prefsize El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica el número preferido de conexiones LDAP físicas que se deben mantener actualmente e incluye conexiones en uso y desocupadas. Un tamaño cero o sin valor significa que no hay tamaño preferido; en tal caso, una solicitud para una conexión de agrupación tendrá como resultado la creación de una conexión nueva, sólo si no hay disponibles conexiones desocupadas. Ejemplo (sin valor): enrole.connectionpool.prefsize= enrole.connectionpool.protocol Consulta 197 Tabla 43. Propiedades de la agrupación de conexiones LDAP (continuación) El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica una lista de tipos de conexiones de protocolos separados por espacios que pueden ser agrupadas. Los valores válidos son: v plain v ssl Ejemplo (predeterminado): enrole.connectionpool.protocol=plain enrole.connectionpool.timeout El valor y la clave de propiedad afectan al ajuste de rendimiento para IBM Tivoli Identity Manager y sólo lo debe cambiar un administrador cualificado. Especifica los milisegundos que una conexión desocupada puede mantenerse en la agrupación sin cerrarse o eliminarse de ésta. Ejemplo (predeterminado, comentado): #enrole.connectionpool.timeout=10000 Propiedades de cifrado de contraseñas Las propiedades de cifrado de contraseñas se utilizan para configurar el cifrado de contraseña. La Tabla 44 define las propiedades utilizadas para configurar el cifrado de contraseñas. Tabla 44. Propiedades de cifrado enrole.encryption.algorithm No modifique este valor ni esta clave de propiedad. Especifica el conjunto de cifrado que utilizar con el cifrado. Por ejemplo, AES o PBEWithMD5AndDES. Ejemplo (predeterminado): enrole.encryption.algorithm=AES enrole.encryption.password 198 Consulta Tabla 44. Propiedades de cifrado (continuación) No modifique este valor ni esta clave de propiedad. Este valor se especifica durante la instalación de IBM Tivoli Identity Manager. Para los algoritmos de cifrado basados en contraseña (PBE) (utilizados para actualizar las instalaciones de IBM Tivoli Identity Manager Versión 4.6), especifica la contraseña utilizada como parámetro de entrada en el cifrado basado en contraseña (PBE), que es un método de cifrado y descifrado de datos mediante una clave secreta basada en una contraseña proporcionada por el usuario. Por ejemplo, los datos cifrados incluyen secretos compartidos, contraseñas de servicio y algunos atributos de cuenta protegidos. Especifica la contraseña del almacén de claves cuando AES es el algoritmo de cifrado. Para algoritmos de cifrado que no están basados en PBE (utilizados para instalaciones nuevas de IBM Tivoli Identity Manager Versión 5.0), la contraseña se utiliza para cifrar el almacén de claves que almacena la clave privada. Para obtener más información, consulte la propiedad enrole.encryption.keystore. Este valor se especifica durante la instalación de IBM Tivoli Identity Manager. Ejemplo (predeterminado): enrole.encryption.password=sunshine enrole.encryption.passwordDigest No modifique este valor ni esta clave de propiedad. Especifica el tipo de resumen de contraseña utilizado para una contraseña de IBM Tivoli Identity Manager. La actualización de Tivoli Identity Manager de la versión 4.6 continuará utilizando el algoritmo hash original hasta que los usuarios cambien sus contraseñas. Este algoritmo original está definido por la propiedad enrole.pre50.encryption.passwordDigest. Los valores válidos son: v SHA-256 – algoritmo de hash aprobado por FIPS (Federal Information Processing Standards) utilizado por la versión 5.0 de IBM Tivoli Identity Manager para las contraseñas. Se añade un valor aleatorio ″salt″ a los datos antes de utilizar el algoritmo de hash. v SHA-384 – algoritmo de hash aprobado por FIPS (Federal Information Processing Standards) que proporciona 384 bits de seguridad (truncando la salida del algoritmo SHA-512). Se añade un valor aleatorio ″salt″ a los datos antes de utilizar el algoritmo de hash. v SHA-512 – algoritmo de hash aprobado por FIPS (Federal Information Processing Standards) que proporciona 512 bits de seguridad. Se añade un valor aleatorio ″salt″ a los datos antes de utilizar el algoritmo de hash. Ejemplo (predeterminado): enrole.encryption.passwordDigest=SHA-256 enrole.pre50.encryption.passwordDigest Consulta 199 Tabla 44. Propiedades de cifrado (continuación) No modifique este valor ni esta clave de propiedad. La actualización de Tivoli Identity Manager de la versión 4.6 añade esta propiedad de forma dinámica a este archivo de propiedades. Especifica el tipo de resumen de contraseña utilizado para datos de contraseña migrados de IBM Tivoli Identity Manager de las versiones anteriores a la 5.0 de IBM Tivoli Identity Manager. La falta de ″:″ en un valor de contraseña de IBM Tivoli Identity Manager cifrado se utiliza para identificar estos datos migrados. Tenga en cuenta que todas la contraseñas nuevas de IBM Tivoli Identity Manager, incluidas las contraseñas migradas cambiadas, se almacenarán mediante el algoritmo de enrole.encryption.passwordDigest. Ejemplo (predeterminado para instalaciones migradas, no presente para instalaciones nuevas): enrole.pre50.encryption.passwordDigest=MD5 enrole.encryption.keystore No modifique este valor ni esta clave de propiedad. Especifica el nombre del archivo de almacén de claves utilizado para contener la clave secreta generada de forma aleatoria para algoritmos de cifrado que no están basados en PBE, como AES. Este archivo de almacén de claves se protege mediante el valor enrole.encryption.password. Este archivo se encuentra en el directorio ITIM_HOME\data\keystore. Ejemplo (predeterminado): enrole.encryption.keystore=itimKeystore.jceks Propiedades de codificación de preguntas y respuestas de contraseña Las propiedades de codificación de preguntas y respuestas de contraseña determinan si una respuesta se codifica para que distinga o no entre mayúsculas y minúsculas. La Tabla 45 define las propiedades utilizadas para codificar una respuesta para que distinga o no entre mayúsculas y minúsculas. Tabla 45. Propiedades de codificación de preguntas y respuestas de contraseña enrole.challengeresponse.responseConvertCase Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica cómo se codifican las preguntas y respuestas de contraseña antes de almacenarse en el directorio. Los valores válidos son: v lower – Codifica las preguntas y respuestas de contraseña como minúsculas. v upper – Codifica las preguntas y respuestas de contraseña como mayúsculas. v none – No codifica las preguntas y respuestas de contraseña. Mantiene las mayúsculas y minúsculas de la respuesta. Ejemplo (predeterminado): enrole.challengeresponse.responseConvertCase=lower 200 Consulta Propiedades del puerto de escucha del sistema Las propiedades del puerto de escucha del sistema se utilizan para configurar los valores del puerto de escucha del IBM Tivoli Identity Manager Server. La Tabla 46 define las propiedades que se utilizan para configurar los valores del puerto de escucha del IBM Tivoli Identity Manager Server. Tabla 46. Propiedades de la configuración del sistema enrole.system.listenPort No modifique este valor ni esta clave de propiedad. Especifica el valor del puerto de escucha TCP (comunicación no segura). Este valor se establece durante la instalación de IBM Tivoli Identity Manager. Ejemplo (predeterminado): enrole.system.listenPort=80 enrole.system.SSLlistenPort No modifique este valor ni esta clave de propiedad. Especifica el valor del puerto de escucha de Capa de sockets seguros (SSL). Este valor se establece durante la instalación de IBM Tivoli Identity Manager. Ejemplo (predeterminado): enrole.system.SSLlistenPort=443 Propiedades de correo Las propiedades se utilizan para configurar la notificación interna de correo. La Tabla 47 define las propiedades que se utilizan para configurar la notificación interna de correo. Tabla 47. Propiedades de los servicios de correo enrole.mail.notify Especifica si el envío de correo electrónico interno del flujo de trabajo está sincronizado o no. Los valores son: v SYNC - Sincronizado. v ASYNC - No sincronizado. Ejemplo (predeterminado): enrole.mail.notify=ASYNC Propiedades de flujo de trabajo Propiedades de flujo de trabajo que se utilizan para configurar el motor principal del flujo de trabajo de IBM Tivoli Identity Manager. Consulta 201 La Tabla 48 define las propiedades que se utilizan para configurar el núcleo del motor de flujo de trabajo de IBM Tivoli Identity Manager. Nota: Si ha comenzado a actualizar a la versión 5.0 de Tivoli Identity Manager 4.5.x y, a continuación, a la 4.6, las propiedades de notificación del flujo de trabajo no se modificarán durante la actualización. Para tener la personalización de la plantilla de notificación disponible en IBM Tivoli Identity Manager 4.6 después de una actualización, debe modificar los valores de estas propiedades con las fábricas de notificaciones de plantilla (con el prefijo Plantilla). Por ejemplo, la propiedad enrole.workflow.notification.activitytimeout para Tivoli Identity Manager 4.5.x se muestra a continuación (en una línea). enrole.workflow.notification.activitytimeout= com.ibm.itim.workflow.notification.ActivityTimeoutNotification Si actualiza la versión 4.6 de Tivoli Identity Manager a la versión 5.0, el cambio se produce automáticamente. Esto presupone que, o la versión 4.6 fue el punto de inicio de la actualización, o ha cambiado manualmente la propiedad enrole.workflow.notification.activitytimeout antes de actualizar desde la versión 4.5.x. Tabla 48. Propiedades de configuración del flujo de trabajo Configuración de flujo de trabajo enrole.workflow.lrucache.size Especifica el tamaño de la caché utilizada para acceder y utilizar temporalmente los objetos del flujo de trabajo. No se debería cambiar a menos que el soporte técnico de IBM así lo indique. Si este valor es demasiado grande, se pueden producir situaciones de falta de memoria en el IBM Tivoli Identity Manager Server. Ejemplo (predeterminado, comentado): ## enrole.workflow.lrucache.size=número_de_entradas donde el valor predeterminado de número_de_entradas es 2000. enrole.workflow.notifyoption Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica las opciones para la notificación de finalización del proceso. Un valor de 1 implica que se avisará al solicitante cuando el flujo de trabajo haya terminado. Un valor de 0 implica que no se avisará al solicitante. Ejemplo (predeterminado): enrole.workflow.notifyoption=1 enrole.workflow.notifypassword 202 Consulta Tabla 48. Propiedades de configuración del flujo de trabajo (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el tipo de notificación de correo electrónico en una transacción de contraseñas (provocada cuando una contraseña de usuario cambia o se genera automáticamente). Los valores pueden ser: v true – La notificación por correo electrónico de un cambio de contraseña se puede enviar al usuario. El mecanismo de notificación real, así como la opción de incluir la contraseña real en el correo electrónico, está estipulado por la configuración del valor de la propiedad enrole.workflow.notification.newpassword. v false – La notificación por correo electrónico de un cambio de contraseña se envía al usuario. El correo electrónico contiene un URL donde el usuario puede obtener la contraseña. El URL solicita el secreto compartido del usuario. Ejemplo (predeterminado): enrole.workflow.notifypassword=true enrole.workflow.notifyaccountsonwarning Especifica si se envían o no las notificaciones de correo electrónico cuando la operación de la cuenta tiene como resultado un aviso. Los valores pueden ser: v true – Envía notificaciones de correo electrónico de cuenta. v false – No envía notificaciones de correo electrónico de cuenta. Ejemplo (predeterminado): enrole.workflow.notifyaccountsonwarning=false enrole.workflow.maxretry Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el número de veces que se realiza un intento para iniciar un flujo de trabajo que es inicialmente erróneo. Consulte también enrole.workflow.retrydelay. Ejemplo (predeterminado): enrole.workflow.maxretry=2 enrole.workflow.retrydelay Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el retraso de tiempo [en milisegundos] entre los intentos sucesivos de iniciar una aplicación de flujo de trabajo que inicialmente ha sido errónea. Consulte también enrole.workflow.maxretry. Ejemplo (predeterminado): enrole.workflow.retrydelay=60000 enrole.workflow.skipapprovalforrequester Consulta 203 Tabla 48. Propiedades de configuración del flujo de trabajo (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Para una actividad de flujo de trabajo que requiere aprobación, esta propiedad especifica si omitir la aprobación para otras personas que otorgan aprobaciones si el solicitante puede otorgarlas también. El valor true omite la aprobación para las personas que otorgan aprobaciones (si el solicitante es una de estas personas). El valor false fuerza la comprobación de aprobaciones de todas las personas que otorgan aprobaciones de la actividad excepto el solicitante (si el solicitante también es una persona que otorga aprobaciones). Ejemplo (predeterminado): enrole.workflow.skipapprovalforrequester=false enrole.workflow.skipfornoncompliantaccount Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica si involucrar o no el flujo de trabajo de titularidad asociado a la cuenta, cuando se desencadene una modificación de la cuenta de sistema como resultado de una acción de imposición de políticas. El valor true implica la omisión de esta acción. El valor false implica que no se omitirá esta acción. Ejemplo (predeterminado): enrole.workflow.skipfornoncompliantaccount=true enrole.workflow.distribution Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica si las solicitudes del flujo de trabajo se aprovechan o no de las colas compartidas de IBM Tivoli Identity Manager, que permiten la distribución de carga de trabajo. El valor true indica que las solicitudes del flujo de trabajo son válidas para la distribución. El valor false indica que no lo son. Ejemplo (predeterminado): enrole.workflow.distribution=true enrole.workflow.async_completion_enabled 204 Consulta Tabla 48. Propiedades de configuración del flujo de trabajo (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica si el sistema utiliza o no la comprobación de finalización asíncrona para algunos flujos de trabajo del sistema, lo cual puede disminuir la tasa de bloqueo de la base de datos y mejorar el rendimiento. El valor true utiliza la comprobación de finalización asíncrona. El valor false no utiliza la comprobación de finalización asíncrona. Ejemplo (predeterminado): enrole.workflow.async_completion_enabled=true enrole.workflow.async_completion_interval_sec Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el intervalo en segundos que el sistema comprueba si determinados flujos de trabajo del sistema han finalizado. Sólo se aplica cuando enrole.workflow.async_completion_enabled=true. Ejemplo (predeterminado): enrole.workflow.async_completion_interval_sec=30 enrole.workflow.notification.activitytimeout Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera la notificación de tiempo de espera excedido de la actividad de flujo de trabajo. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.activitytimeout= com.ibm.itim.workflow.notification.TemplateActivityTimeoutNotification enrole.workflow.notification.processtimeout Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera la notificación de tiempo de espera excedido del proceso de flujo de trabajo. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.processtimeout=com.ibm.itim.workflow. notification.TemplateProcessTimeoutNotification enrole.workflow.notification.processcomplete Consulta 205 Tabla 48. Propiedades de configuración del flujo de trabajo (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera la notificación cuando se completa un proceso de flujo de trabajo. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.processcomplete=com.ibm.itim.workflow. notification.TemplateProcessCompleteNotification enrole.workflow.notification.pendingwork Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera la notificación cuando un proceso de flujo de trabajo se completa para las actividades manuales (Aprobaciones y Solicitudes de información). Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.pendingwork=com.ibm.itim.workflow. notification.TemplatePendingWorkNotification enrole.workflow.notification.newaccount Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera la notificación cuando se completa un proceso de flujo de trabajo en una cuenta nueva. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.newaccount=com.ibm.itim.workflow. notification.TemplateNewAccountNotification enrole.workflow.notification.newpassword 206 Consulta Tabla 48. Propiedades de configuración del flujo de trabajo (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera una notificación cuando se cambia la contraseña del usuario. Esta propiedad se utiliza sólo cuando el valor de la propiedad es true. enrole.workflow.notifypassword=true Esta propiedad responde a los tres siguientes casos de ejemplo de cambio de contraseña: v Cuando el usuario cambia la contraseña de la cuenta v Cuando el administrador fuerza un cambio de contraseña en la cuenta v Cuando el usuario se identifica correctamente por medio de la función Preguntas y respuestas de contraseña y se configuran las preguntas y respuestas. Las clases válidas son: v NewPasswordNotification Se envía al usuario una notificación de correo electrónico (predeterminada) que incluye la contraseña (en texto ASCII). v EmptyNotificationFactory Suprime la notificación por correo electrónico. El método preferido para suprimir las notificaciones es por medio de la GUI de notificación del flujo de trabajo. v PasswordChangeNotificationFactory Se envía al usuario una notificación por correo electrónico que no incluye la contraseña. El cuerpo del mensaje dice: ″Proceso completado″. Las clases EmptyNotificationFactory y PasswordChangeNotificationFactory están ubicadas en el paquete examples.jar, que se encuentra en el directorio de ejemplos. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.newpassword=com.ibm.itim.workflow. notification.TemplateNewPasswordNotification enrole.workflow.notification.deprovision Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera la notificación de eliminación del suministro. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.deprovision=com.ibm.itim.workflow. notification.TemplateDeprovisionNotification enrole.workflow.notification.workorder Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera las notificaciones de orden de trabajo. Ejemplo (predeterminado, especificado como una línea): enrole.workflow.notification.workorder=com.ibm.itim.workflow. notification.TemplateWorkOrderNotification Consulta 207 Tabla 48. Propiedades de configuración del flujo de trabajo (continuación) enrole.workflow.notification.changeaccount Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera las notificaciones de cambio de cuenta. Ejemplo (predeterminado, como una línea): enrole.workflow.notification.changeaccount= com.ibm.itim.workflow.notification.TemplateChangeAccountNotification enrole.workflow.notification.restoreaccount Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera las notificaciones de restauración de cuenta. Ejemplo (como una línea): enrole.workflow.notification.restoreaccount= com.ibm.itim.workflow.notification.TempateRestoreAccountNotification enrole.workflow.notification.suspendaccount Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la clase Java predeterminada que genera las notificaciones de suspensión de cuenta. Ejemplo (como una línea): enrole.workflow.notification.suspendaccount= com.ibm.itim.workflow.notification.TemplateSuspendAccountNotification Propiedades de conciliación Las propiedades de conciliación se utilizan para configurar el proceso de conciliación donde los datos que se recuperan de los agentes se sincronizan en la base de datos de IBM Tivoli Identity Manager. La Tabla 49 define las propiedades de conciliación utilizadas para configurar los valores que afectan al proceso de conciliación donde los datos que se recuperan de los agentes se sincronizan en la base de datos de IBM Tivoli Identity Manager. Tabla 49. Propiedades de conciliación Configuración de conciliación enrole.reconciliation.accountcachesize 208 Consulta Tabla 49. Propiedades de conciliación (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el tamaño máximo de la caché para la caché de cuentas existente que se utiliza con el proceso de conciliación. Configurar un valor mayor que el predeterminado podría provocar que no se pueda realizar el proceso de conciliaciones. Ejemplo (predeterminado): enrole.reconciliation.accountcachesize=2000 enrole.reconciliation.threadcount Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la cantidad de hebras que se utilizan para manejar las entradas conciliadas. Este número de hebras se crea para cada proceso de conciliación. Ejemplo (predeterminado): enrole.reconciliation.threadcount=8 enrole.reconciliation.failurethreshold Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el número máximo de cuentas locales para suprimir al final de la conciliación. Si se excede el valor, no se suprimirá ninguna cuenta local o ninguna entrada de datos con soporte. Si el valor está seguido por un signo de porcentaje (%), especifica el máximo como porcentaje comparado con el total de (cuentas locales en el inicio de la conciliación + cuentas nuevas devueltas por la conciliación). El valor 100% especifica que no hay límite. Ejemplo (predeterminado, comentado): #enrole.reconciliation.failurethreshold=100% enrole.reconciliation.logTimeInterval Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica el intervalo de tiempo en segundos para los mensajes de registro de rastreo del progreso de la conciliación. El valor de cero inhabilita este intervalo de tiempo. Ejemplo (predeterminado, comentado): #enrole.reconciliation.logTimeInterval=600 enrole.reconciliation.logEveryNResults Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica la cuenta para los mensajes de registro de rastreo del progreso de la conciliación. El valor de cero inhabilita esta cuenta. Ejemplo (predeterminado, comentado): #enrole.reconciliation.logEveryNResults=5000 Consulta 209 Tabla 49. Propiedades de conciliación (continuación) Sucesos de notificación no solicitados account.EventProcessorFactory No modifique este valor ni esta clave de propiedad. Especifica la clase Java integrada para la fábrica del procesador de sucesos de la cuenta. Ejemplo (predeterminado, especificado como una línea): account.EventProcessorFactory=com.ibm.itim.remoteservices.ejb. reconciliation.AccountEventProcessorFactory person.EventProcessorFactory No modifique este valor ni esta clave de propiedad. Especifica la clase Java integrada para la fábrica del procesador de sucesos de la persona. Ejemplo (predeterminado, especificado como una línea): person.EventProcessorFactory=com.ibm.itim.remoteservices.ejb. reconciliation.PersonEventProcessorFactory Proceso de conciliación account.ReconEntryHandlerFactory No modifique este valor ni esta clave de propiedad. Especifica la clase Java integrada para la fábrica del manejador de la entrada de cuentas. Ejemplo (predeterminado, especificado como una línea): account.ReconEntryHandlerFactory=com.ibm.itim.remoteservices.ejb. mediation.AccountEntryHandlerFactory person.ReconEntryHandlerFactory No modifique este valor ni esta clave de propiedad. Especifica la clase Java integrada para la fábrica del manejador de la entrada de personas. Ejemplo (predeterminado, especificado como una línea): person.ReconEntryHandlerFactory=com.ibm.itim.remoteservices.ejb. mediation.PersonEntryHandlerFactory Posposición de solicitudes para recursos remotos erróneos com.ibm.itim.remoteservices.ResourceProperties.DEFER_FAILED_RESOURCE 210 Consulta Tabla 49. Propiedades de conciliación (continuación) No modifique este valor ni esta clave de propiedad. Especifica si posponer solicitudes para recursos erróneos y esperar a que el recurso se reinicie antes de enviarlas. Los valores válidos son: v true – Pospone solicitudes de recursos erróneos y espera a que se reinicie el recurso. v false – Si el recurso es erróneo, las solicitudes seguirán el mecanismo de reintento del flujo de trabajo configurado (consulte enrole.workflow.maxretry y enrole.workflow.retrydelay) antes de que finalice como erróneo. Ejemplo (predeterminado): com.ibm.itim.remoteservices.ResourceProperties.DEFER_FAILED_RESOURCE=true remoteservices.remotepending.interval No modifique este valor ni esta clave de propiedad. Especifica el intervalo en segundos (120 mínimo a 3600 máximo) para comprobar si los recursos erróneos se han reiniciado. Ejemplo (predeterminado): remoteservices.remotepending.interval=600 com.ibm.itim.remoteservices.ResourceProperties.MAX_REQUEST_TIME No modifique este valor ni esta clave de propiedad. Especifica el tiempo máximo en segundos que una solicitud a un recurso puede estar pendiente, incluido el tiempo en estado pendiente para solicitudes asíncronas o solicitudes pospuestas debido a un error del servicio o a la acumulación de solicitudes pendientes. Los valores válidos son: v -1 – Sin límite. En este caso, los tiempos de espera de ejecución de la actividad del flujo de trabajo definirán la duración máxima real, como especifican las definiciones del proceso del flujo de trabajo. v 60 + (valor de remoteservices.remotepending.interval) – Intervalo de tiempo mínimo para solicitudes pendientes. Ejemplo (predeterminado): com.ibm.itim.remoteservices.ResourceProperties.MAX_REQUEST_TIME=-1 remoteservices.remotepending.restart.retry No modifique este valor ni esta clave de propiedad. Especifica el intervalo de tiempo en minutos que se da para la finalización de las solicitudes pendientes generadas desde el reinicio de un servicio erróneo. Cuando el intervalo de tiempo finaliza, el servidor reintenta las solicitudes. Ejemplo (predeterminado): remoteservices.remotepending.restart.retry=1440 com.ibm.itim.remoteservices.DSML2ServiceProvider.modifyAsREPLACE Consulta 211 Tabla 49. Propiedades de conciliación (continuación) Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Para los servicios remotos, especifica la modalidad del proveedor (en desuso) DSMLv2 de envío de una solicitud de modificación para atributos. Los valores son: v true – Utiliza la operación REPLACE (sustituir). v false – Utiliza las operaciones ADD (agregar) y DELETE (suprimir). Ejemplo (predeterminado): com.ibm.itim.remoteservices.DSML2ServiceProvider.modifyAsREPLACE=true Propiedades del secreto compartido Las propiedades del secreto compartido se utilizan para configurar el nivel de protección del código de secreto compartido. La Tabla 50 define las propiedades utilizadas para configurar el nivel de protección del código de secreto compartido. El secreto compartido lo utiliza un propietario de cuenta para recuperar una contraseña nueva o cambiada para una cuenta cuando el sistema está configurado de forma que no envíe por correo electrónico contraseñas en texto legible (es decir, el valor de enrole.workflow.notifypassword=false). Esta propiedad determina si el secreto compartido almacenado se debe ocultar por motivos de protección adicional. Tabla 50. Propiedades ocultas del secreto compartido enrole.sharedsecret.hashed Sólo un administrador cualificado debe cambiar este valor y esta clave de propiedad. Especifica si el código del secreto compartido está oculto (seguro) o no (no seguro). Los valores son: v true – Almacena el secreto compartido como oculto. v false – Almacena el secreto compartido como no oculto. Ejemplo (predeterminado): enrole.sharedsecret.hashed=false Propiedades de la regla de ciclo vital Las propiedades de la regla de ciclo vital definen valores, como por ejemplo el tamaño de partición, utilizados para las reglas de ciclo vital. La Tabla 51 define las propiedades que se utilizan para configurar las reglas de ciclo vital. Tabla 51. Propiedades de la regla de ciclo vital enrole.lifecyclerule.partition.size 212 Consulta Tabla 51. Propiedades de la regla de ciclo vital (continuación) No cambie este valor a menos que el soporte técnico de IBM se lo solicite. Especifica el tamaño de las particiones de datos utilizadas cuando se procesan las reglas de ciclo vital. Este parámetro determina cuántos datos se procesarán en un paso único. Ejemplo (predeterminado): enrole.lifecyclerule.partition.size=100 Propiedades del nombre de producto Las propiedades del nombre de producto identifican este producto. La Tabla 52 define la propiedad que se utiliza para identificar el producto. Tabla 52. Propiedad del producto enrole.product.name No cambie este nombre. Esta clave de propiedad identifica el nombre del producto como IBM Tivoli Identity Manager. Ejemplo (predeterminado): enrole.product.name=ITIM Enterprise Propiedades de solicitud del cliente de aplicación Las propiedades de solicitud del cliente de aplicación definen las propiedades que se utilizan para configurar el valor de la duración o el tiempo de espera, para la señal de autenticación utilizada para permitir la comunicación de terceros con el IBM Tivoli Identity Manager Server. La Tabla 53 define las propiedades utilizadas para configurar el valor de la duración o el tiempo de espera, para la señal de autenticación utilizada por la API de la aplicación IBM Tivoli Identity Manager para permitir a aplicaciones de terceros la comunicación con el IBM Tivoli Identity Manager Server. Tabla 53. Propiedades de solicitud del cliente de aplicación authTokenTimeout Especifica el valor de tiempo de espera [en horas] para la señal de autenticación que se utiliza para la comunicación entre aplicaciones de terceros (por medio de la API de aplicaciones de IBM Tivoli Identity Manager) y el IBM Tivoli Identity Manager Server. Un valor de -1 indica que no hay tiempo de espera para la señal de autenticación. Ejemplo (predeterminado): authTokenTimeout=48 Propiedades de sincronización inversa de contraseñas Las propiedades de sincronización inversa de contraseñas se utilizan para configurar la sincronización inversa de contraseñas. Consulta 213 La Tabla 54 define las propiedades que se utilizan para configurar la sincronización inversa de contraseñas. Tabla 54. Propiedades de sincronización inversa de contraseñas reversePasswordSynch.bypassPwdValidationOnOrphanAccount Especifica si se omite la validación de contraseña en la cuenta huérfana cuando se envía la solicitud del agente. Los valores válidos son: v true – Omite la validación de contraseñas. v false – Valida las contraseñas. Ejemplo (predeterminado): reversePasswordSynch.bypassPwdValidationOnOrphanAccount=false enrole.passwordsynch.module.sendMail Especifica si habilitar o inhabilitar las notificaciones de correo electrónico cuando el agente de sincronización inversa de contraseñas desencadena la sincronización de contraseñas, no desde la interfaz gráfica de usuario de IBM Tivoli Identity Manager. Los valores válidos son: v true – Habilita las notificaciones de correo electrónico. v false – Inhabilita las notificaciones de correo electrónico. Ejemplo (predeterminado): enrole.passwordsynch.module.sendMail=false Propiedades de oficina de correos Las propiedades de oficina de correos se utilizan para configurar la oficina de correos para el conjunto de correos electrónicos. La Tabla 55 define las propiedades para probar la configuración de la oficina de correos. Tabla 55. Propiedades de oficina de correos enrole.postoffice.test.subject1 enrole.postoffice.test.textbody1 enrole.postoffice.test.xhtmlbody1 Especifica el contenido de los correos electrónicos que se utilizan cuando se prueba la configuración de la oficina de correos. Este es uno de los tres correos electrónicos a los que se aplica la plantilla. Ejemplo (predeterminado): enrole.postoffice.test.subject1=This is subject 1 enrole.postoffice.test.textbody1=This is the text body 1 enrole.postoffice.test.xhtmlbody1=This is the xhtml body 1 enrole.postoffice.test.subject2 enrole.postoffice.test.textbody2 enrole.postoffice.test.xhtmlbody2 214 Consulta Tabla 55. Propiedades de oficina de correos (continuación) Especifica el contenido de los correos electrónicos que se utilizan cuando se prueba la configuración de la oficina de correos. Este es uno de los tres correos electrónicos a los que se aplica la plantilla. Ejemplo (predeterminado): enrole.postoffice.test.subject2=This is subject 2 enrole.postoffice.test.textbody2=This is the text body 2 enrole.postoffice.test.xhtmlbody2=This is the xhtml body 2 enrole.postoffice.test.subject3 enrole.postoffice.test.textbody3 enrole.postoffice.test.xhtmlbody3 Especifica el contenido de los correos electrónicos que se utilizan cuando se prueba la configuración de la oficina de correos. Este es uno de los tres correos electrónicos a los que se aplica la plantilla. Ejemplo (predeterminado): enrole.postoffice.test.subject3=This is subject 3 enrole.postoffice.test.textbody3=This is the text body 3 enrole.postoffice.test.xhtmlbody3=This is the xhtml body 3 enrole.postoffice.test.topic Especifica el tema del correo electrónico que se utiliza cuando se prueba la configuración de la oficina de correos. Los tres correos electrónicos de prueba, cuyo contenido se define por las propiedades mencionadas anteriormente, tendrán este tema. La función oficina de correos obtiene y almacena correos electrónicos por tema y entorno local para que se agreguen y envíen como un solo correo electrónico en un intervalo configurado, como por ejemplo, una vez al día o una vez a la semana. Esto evita el envío masivo de correo al destinatario con muchos correos electrónicos individuales para un tipo de suceso. Los datos del tema, que normalmente indican el tipo de suceso, también se hacen disponibles para el entorno de programación que se activa cuando los correos electrónicos obtenidos se agregan en un correo electrónico de resumen. De esta forma, el tema bajo el que todos estos correos electrónicos se han obtenido se puede mostrar de forma principal en el correo electrónico acumulado que se envía. Ejemplo (predeterminado): enrole.postoffice.test.topic=topic1 enrole.postoffice.test.locale Especifica el entorno local para el idioma que se utiliza en un correo electrónico. Ejemplo (predeterminado): enrole.postoffice.test.locale=en_US Propiedades del paquete de recursos de la base de datos Las propiedades del paquete de recursos de la base de datos determinan el intervalo de renovación para el paquete de recursos de la base de datos. La Tabla 56 en la página 216 define las propiedades que se utilizan para determinar el intervalo de renovación para el paquete de recursos de la base de datos. Consulta 215 Tabla 56. Propiedades del paquete de recursos de la base de datos enrole.databaseresourcebundle.refreshInterval Especifica los minutos a esperar antes de que se compruebe si hay cambios en DatabaseResourceBundle o se ha cargado de nuevo. Ejemplo (predeterminado): enrole.databaseresourcebundle.refreshInterval=5 Propiedades de limpieza de la base de datos Las propiedades de limpieza de la base de datos definen los parámetros para limpiar la información de sesión en la base de datos. La Tabla 57 define los parámetros para la hebra de limpieza del análisis de política para limpiar la información de sesión en la base de datos. Tabla 57. Propiedades de limpieza de la base de datos provisioning.policy.preview.cleanup.interval Especifica el intervalo en minutos en el que la hebra de limpieza explorará la base de datos. Ejemplo: provisioning.policy.preview.cleanup.interval=30 provisioning.policy.analysis.idle.timeout Representa el valor de tiempo de caducidad para una sesión de análisis de política. La hebra de limpieza limpia los datos en fases guardados de una sesión de análisis de política si la sesión finaliza en un intervalo mayor que el valor de tiempo de espera, como por ejemplo, 120 minutos. Ejemplo: provisioning.policy.analysis.idle.timeout=120 Propiedades de restauración de cuentas Las propiedades de restauración de cuentas pueden suprimir la necesidad de tener contraseña nueva cuando se restaura una cuenta. La Tabla 58 define las propiedades para la configuración de la restauración de cuentas. Tabla 58. Propiedades de restauración de cuentas account.restore.password.suppress 216 Consulta Tabla 58. Propiedades de restauración de cuentas (continuación) Inhabilita la solicitud de una contraseña nueva cuando se restauran cuentas. Esta propiedad se debe agregar manualmente al archivo enRole.properties si implementa esta función. Incluso cuando esta propiedad se establece en true, algunas cuentas seguirán necesitando una contraseña nueva durante la restauración. Para inhabilitar la solicitud de contraseña nueva durante la restauración de una cuenta, detenga el IBM Tivoli Identity Manager Server, agregue la propiedad (elimine el comentario), establézcala en true y reinicie el servidor. Ejemplo (comentado): # account.restore.password.suppress=true Propiedades de recuadro de selección para crear contraseñas Las propiedades de recuadro de selección para crear contraseñas definen las propiedades de recuadro de selección predeterminadas para crear una contraseña. La Tabla 59 define las propiedades de recuadro de selección predeterminadas para la creación de contraseñas. Tabla 59. Propiedades de recuadro de selección para crear contraseñas predeterminadas enrole.CreatePassword Especifica si una contraseña se crea de forma automática. Los valores válidos son: v true – Crea una contraseña. v false – No crea una contraseña. El usuario debe escribir la contraseña. Ejemplo (predeterminado): enrole.CreatePassword=true Propiedades de alimentación de identidades Las propiedades de alimentación de identidades definen una acción de alimentación de identidad predeterminada, como por ejemplo, suspender o no una cuenta. La Tabla 60 define las propiedades de alimentación de identidades predeterminadas. Tabla 60. Propiedades de alimentación de identidades predeterminadas enrole.suspend.accounts.identity.feed Especifica si todas las cuentas de usuario se suspenden cuando la persona se suspende durante una alimentación de identidades. Los valores válidos son: v true – Suspende todas las cuentas de un usuario suspendido. v false – No suspende todas la cuentas de un usuario suspendido. Ejemplo (predeterminado): enrole.suspend.accounts.identity.feed=true Consulta 217 Propiedades de actualización Las propiedades de actualización definen valores para la actualizaciones de un release dado de IBM Tivoli Identity Manager. La Tabla 61 define las propiedades de actualización del producto. Tabla 61. Propiedades de actualización predeterminadas minUpgradeVersion Especifica la versión mínima que la actualización soporta para un release dado de IBM Tivoli Identity Manager. Ejemplo (predeterminado): minUpgradeVersion=4.6 file.merge.list Especifica los archivos de propiedades que se fusionan durante la actualización de IBM Tivoli Identity Manager. Ejemplo (predeterminado): file.merge.list=enRole \ enRoleLDAPConnection \ enRoleDatabase \ enRoleLogging \ enRoleMail \ ui \ CustomLabels \ enRoleAuthentication \ adhocreporting \ enroleworkflow \ enroleAuditing \ crystal \ SelfServiceScreenText \ SelfServiceScreenText_en \ SelfServiceHelp \ SelfServiceUI \ SelfServiceHomePage Se debe realizar una copia de seguridad de estos archivos mediante backupPropertyFiles.sh o backupPropertyFiles.cmd. Propiedades de varios agentes de sincronización de contraseñas Las propiedades de varios agentes de sincronización de contraseñas se utilizan para configurar el IBM Tivoli Identity Manager Server para que dé soporte a varios agentes de sincronización de contraseñas. La Tabla 62 define las propiedades que se utilizan para configurar el soporte para varios agentes de sincronización de contraseñas. Tabla 62. Propiedades de varios agentes de sincronización de contraseñas enrole.passwordsynch.enabledonresource 218 Consulta Tabla 62. Propiedades de varios agentes de sincronización de contraseñas (continuación) Especifica si se debe habilitar o inhabilitar el soporte para varios agentes de sincronización de contraseñas. Los valores válidos son: v true – Habilita el soporte para varios agentes de sincronización de contraseñas. v false – Inhabilita el soporte para varios agentes de sincronización de contraseñas. Ejemplo (predeterminado): enrole.passwordsynch.enabledonresource=false enrole.passwordsynch.toleranceperiod Especifica el periodo de tiempo máximo, en segundos, entre una solicitud de cambio de contraseña enviada desde el IBM Tivoli Identity Manager Server al recurso de sincronización de contraseñas, y la recepción de una solicitud inversa de sincronización de contraseñas desde el plug-in instalado en el recurso de sincronización de contraseñas. Ejemplo (predeterminado): enrole.passwordsynch.toleranceperiod=60 enrole.PasswordSynchStoreMonitor.heartbeat Especifica el latido de supervisión de transacciones de sincronización de contraseñas, en horas. Ejemplo (predeterminado): enrole.PasswordSynchStoreMonitor.heartbeat=1 Consulta 219 220 Consulta Índice A ampliación JavaScript (continuación) ampliación JavaScript (continuación) objeto (continuación) objeto (continuación) accesibilidad 1 Error.getErrorCode 82 RoleSearch.searchByName 110 Account Error.getMessage 82 SeparationOfDutyRuleViolation 110 objeto, ampliación JavaScript 56 Error.setErrorCode 82 Service 111 AccountModelExtension, ampliaciones Error.setMessage 82 ServiceSearch 111 JavaScript 42 IdentityPolicy 83 ServiceSearch.searchByFilter 112 adhocreporting.properties 127 IdentityPolicy.getNextCount 83 ServiceSearch.searchByName 112 ampliación JavaScript IdentityPolicy.userIDExists 84 ServiceSearch.searchForClosestToPerson objeto PackagedApprovalDocument 84 ampliaciones Account 56 PackagedApprovalItem 86 JavaScript 40 AccountSearch 57 Participant 87 AccountModelExtension 42 AccountSearch.searchByOwner 57 Participant.implementation 88 AttributesExtension 40 AccountSearch.searchByUid 58 Participant.name 89 EmailContextExtension 40 AccountSearch.searchByUidAndService 58 Participant.type 89 EnroleExtension 40 Activity 58 ParticipantType 89 IdentityPolicyExtension 41 Activity.auditEvent 60 Person 91 LoopCountExtension 41 Activity.description 61 Person.getNewRoles 92 Modelo 41 Activity.id 61 Person.getRemovedRoles 92 OrganizationModelExtension 42 Activity.index 61 Person.getRoles 91 PersonModelExtension 42 Activity.name 61 Person.isInRole 93 PersonPlacementRulesExtension 43 Activity.participant 62 Person.removeRole 93 PostOfficeExtension 43 Activity.resultDetail 62 PersonSearch 93 ProvisioningPolicyExtension 43 Activity.resultSummary 62 PersonSearch.searchByFilter 94 registro 46 Activity.setResult 62 PostOffice 95 ReminderExtension 44 Activity.started 63 PostOffice.getAllEmailMessages 95 RoleModelExtension 42 Activity.state 63 PostOffice.getEmailAddress 96 ServiceExtension 44 Activity.subtype 64 PostOffice.getPersonByEmailAddress 96 ServiceModelExtension 43 Activity.type 64 PostOffice.getTopic 96 SubjectExtension 44 AttributeChangeOperation 64 Process 96 WorkflowExtension 45 AttributeChangeOperation.attr 65 Process.auditEvent 99 migración AttributeChangeOperation.op 65 Process.comment 99 constructor 52 AttributeChangeOperation.values 65 Process.description 99 conversión de script 51 ContainerSearch 65 Process.getActivity 99 ejemplo 49 ContainerSearch.searchByFilter 66 Process.getParent 100 FESI 48 Context 66 Process.getRootProcess 100 scriptframework.properties 47 Context.getAccountParameter 68 Process.getRootRequesterName 101 ampliaciones JavaScript Context.getActivityResult 68 Process.id 101 AttributesExtension 40 Context.getActivityResultById 69 Process.name 101 diferencias de funciones, FESI e IBM Context.getLoopCount 69 Process.parentId 101 JSEngine 48 Context.getLoopCountByID 69 Process.requesteeDN 102 EmailContextExtension 40 Context.getProcessType 70 Process.requesteeName 102 empaquetado 40 Context.getRequestee 70 Process.requestorName 102 EnroleExtension 40 Context.getService 70 Process.requestorType 103 fesiextensions.properties 46 Context.isAccountDataChanged 71 Process.resultDetail 103 IdentityPolicyExtension 41 DirectoryObject 71 Process.resultSummary 103 LoopCountExtension 41 DirectoryObject.dn 72 Process.setRequesteeData 103 migración DirectoryObject.getChanges 72 Process.setResult 104 FESI 48 DirectoryObject.getProperty 73 Process.setSubjectData 104 Modelo 41 DirectoryObject.getPropertyNames 74 Process.started 105 AccountModelExtension 42 DirectoryObject.name 74 Process.state 105 OrganizationModelExtension 42 DirectoryObject.removeProperty 74 Process.subject 105 PersonModelExtension 42 EmailContext 75 Process.type 106 RoleModelExtension 42 Enrole 78 ProcessData 106 ServiceModelExtension 43 Enrole.generatePassword 79 ProcessData.get 106 PersonPlacementRulesExtension 43 Enrole.getAttributeValue 79 ProcessData.set 107 PostOfficeExtension 43 Enrole.getAttributeValues 79 RecertificationWorkflow 107 ProvisioningPolicyExtension 43 Enrole.localize 80 Reminder 108 registro 46 Enrole.log 80 Role 109 ReminderExtension 44 Enrole.toGeneralizedTime 80 Role.getOwner 109 scriptframework.properties 46, 47 Enrole.toMilliseconds 81 RoleSearch 109 ServiceExtension 44 Error 81 221 113 ampliaciones JavaScript (continuación) SubjectExtension 44 visión general 38 WorkflowExtension 45 API Análisis de política 8 API de IBM Directory Integration 7 Autenticación 7 Autoregistro 5 Conciliación 6 Control de accesos 6 Correo 8 Flujo de trabajo 9 Grupo 6 Inicio de sesión único 9 JavaScript 8 Proveedor de servicios 9 Reglas de contraseña 8 Servicios de datos 5, 7 visión general 4 archivo enRole.properties 181 actualizar 218 alimentación de identidades 217 Configuración de servicios de correo electrónico 201 configuración de solicitud del cliente de aplicación 213 configuración específica de WebSphere 181 cuenta de restauración 216 enviando mensajes de información 192 estrategia de búsqueda y configuración de control LDAP 188 información de agrupación de conexiones LDAP 196 información de caché 191 información de cifrado 198 información de codificación de preguntas y respuestas de contraseña 200 información de conciliación 208 información de configuración del flujo de trabajo 202 Información de planificación 194 información del inquilino, predeterminado 186 información del servidor de aplicaciones 185 Información del servidor LDAP 186 Información XML y DTD 196 limpieza de base de datos 216 nombre de organización 186 nombre de producto 213 oficina de correos 214 paquete de recursos de base de datos 215 perfil de persona 190 programa de configuración del sistema 201 recuadro de selección de creación de contraseñas 217 regla de ciclo vital 212 secreto compartido oculto 212 sincronización de contraseñas 218 sincronización inversa de contraseñas 214 222 Consulta archivo enRole.properties (continuación) Valores de supervisión de la transacción de contraseñas 195 archivos de propiedades adhocreporting.properties 127 adicional, no configurable 125 crystal.properties 134 DataBaseFunctions.conf 136 enroleAuditing.properties 137 enRoleAuthentication.properties 139 enRoleDatabase.properties 141 enRoleLDAPConnection.properties 144 enRoleLogging.properties 148 enRoleMail.properties 159 enrolepolicies.properties 162 enroleworkflow.properties 165 fesiextensions.properties 166 helpmappings.properties 168 propiedades suplementarias 122 reportingLabels.properties 168 reporttabledeny.properties 168 scriptframework.properties 169 SelfServiceHelp.properties 171 SelfServiceHomePage.properties 172 SelfServiceScreenText.properties 172 SelfServiceUI.properties 172 ui.properties 175 AttributesExtension, ampliaciones JavaScript 40 C ConfigErrorMessages.properties, no configurable 125 ConfigLabels.properties, no configurable 125 ConfigMessages.properties, no configurable 125 Configuración de servicios de correo electrónico 201 configuración de solicitud del cliente de aplicación 213 configuración específica de WebSphere 181 constructor migración JavaScript, ejemplo 52 crystal.properties 134 CustomForms.properties, no configurable 125 CustomLabels.properties 135 D DataBaseFunctions.conf 136 Dsml2RootDSE.properties, no configurable 125 Dsml2Schema.properties, no configurable 125 E EmailContextExtension, ampliaciones JavaScript 40 enRole2ldif.properties, en desuso 125 enroleAuditing.properties 137 enRoleAuthentication.properties 139 enRoleDatabase.properties 141 enRoleEntityHiddenAttributes, no modificar 126 EnroleExtension, ampliaciones JavaScript 40 enRoleFonts.properties, no configurable 126 enRoleHelp.properties, no configurable 126 enRoleHiddenAttributes.properties, no configurable 126 enRoleHiddenSearchAttributes.properties, no configurable 126 enRoleLDAPConnection.properties 144 enRoleLogging.properties 148 enRoleMail.properties 159 enrolepolicies.properties 162 enroleStartup.properties, no configurable 126 enRoleUnchangedAttributes.properties, no configurable 126 enRoleValidateAttributes.properties, no configurable 126 enroleworkflow.properties 165 entitlementHiddenAttributes.properties, no configurable 126 enviando mensajes de información 192 estrategia de búsqueda y configuración de control LDAP 188 expresiones regulares 118 expressHiddenAttributes.properties, no configurable 126 F FESI fesi.jar, descarga 52 migración ejemplo 48 fesi.jar descarga 52 fesiextensions.properties 46, 166 flujos de trabajo ampliación de la aplicación métodos 3 registro 3 objetos JavaScript datos relevantes 45 funciones de JavaScript 116 H helpmappings.properties 168 HighContrastBigFontTheme.properties, no configurable 126 HighContrastTheme.properties, no configurable 126 I ibmSchemaSyntax.properties, no configurable 126 IdentityPolicyExtension, ampliaciones JavaScript 41 información de actualización 218 objeto (continuación) objeto (continuación) ampliación JavaScript (continuación) ampliación JavaScript (continuación) Activity.auditEvent 60 Person.removeRole 93 Activity.description 61 PersonSearch 93 Activity.id 61 PersonSearch.searchByFilter 94 Activity.index 61 PostOffice 95 Activity.name 61 PostOffice.getAllEmailMessages 95 Activity.participant 62 PostOffice.getEmailAddress 96 Activity.resultDetail 62 PostOffice.getPersonByEmailAddress 96 Activity.resultSummary 62 PostOffice.getTopic 96 Activity.setResult 62 Process 96 Activity.started 63 Process.auditEvent 99 Activity.state 63 Process.comment 99 Activity.subtype 64 Process.description 99 Activity.type 64 Process.getActivity 99 AttributeChangeOperation 64 Process.getParent 100 AttributeChangeOperation.attr 65 Process.getRootProcess 100 AttributeChangeOperation.op 65 Process.getRootRequesterName 101 AttributeChangeOperation.values 65 Process.id 101 ContainerSearch 65 Process.name 101 ContainerSearch.searchByFilter 66 Process.parentId 101 Context 66 Process.requesteeDN 102 Context.getAccountParameter 68 Process.requesteeName 102 Context.getActivityResult 68 Process.requestorName 102 Context.getActivityResultById 69 Process.requestorType 103 Context.getLoopCount 69 Process.resultDetail 103 Context.getLoopCountByID 69 Process.resultSummary 103 Context.getProcessType 70 Process.setRequesteeData 103 Context.getRequestee 70 Process.setResult 104 Context.getService 70 Process.setSubjectData 104 Context.isAccountDataChanged 71 Process.started 105 DirectoryObject 71 Process.state 105 DirectoryObject.dn 72 Process.subject 105 Labels.properties, no configurable 127 DirectoryObject.getChanges 72 Process.type 106 Log4j 148 DirectoryObject.getProperty 73 ProcessData 106 LoopCountExtension, ampliaciones DirectoryObject.getPropertyNames 74 ProcessData.get 106 JavaScript 41 DirectoryObject.name 74 ProcessData.set 107 DirectoryObject.removeProperty 74 RecertificationWorkflow 107 EmailContext 75 Reminder 108 Enrole 78 Role 109 Enrole.generatePassword 79 Role.getOwner 109 Messages.properties, no Enrole.getAttributeValue 79 RoleSearch 109 configurable 127 Enrole.getAttributeValues 79 RoleSearch.searchByName 110 métodos de ampliación de la Enrole.localize 80 SeparationOfDutyRuleViolation 110 aplicación 3 Enrole.log 80 Service 111 migración Enrole.toGeneralizedTime 80 ServiceSearch 111 JavaScript Enrole.toMilliseconds 81 ServiceSearch.searchByFilter 112 ejemplo de constructor 52 Error 81 ServiceSearch.searchByName 112 ejemplo de FESI 49 Error.getErrorCode 82 ServiceSearch.searchForClosestToPerson 113 ejemplo de script 51 Error.getMessage 82 objeto AccountSearch, ampliación FESI 48 Error.setErrorCode 82 JavaScript 57 Modelo, ampliaciones JavaScript 41 Error.setMessage 82 objeto AccountSearch.searchByOwner, IdentityPolicy 83 ampliación JavaScript 57 IdentityPolicy.getNextCount 83 objeto AccountSearch.searchByUid, IdentityPolicy.userIDExists 84 ampliación JavaScript 58 nombre de producto 213 Oerson.isInRole 93 objeto PackagedApprovalDocument 84 AccountSearch.searchByUidAndService, PackagedApprovalItem 86 ampliación JavaScript 58 Participant 87 objeto Activity, ampliación JavaScript 58 objeto Participant.implementation 88 objeto Activity.auditEvent, ampliación ampliación JavaScript Participant.name 89 JavaScript 60 Account 56 Participant.type 89 objeto Activity.description, ampliación AccountSearch 57 ParticipantType 89 JavaScript 61 AccountSearch.searchByOwner 57 Person 91 objeto Activity.id, ampliación AccountSearch.searchByUid 58 Person.getNewRoles 92 JavaScript 61 AccountSearch.searchByUidAndService 58 Person.getRemovedRoles 92 objeto Activity.index, ampliación Activity 58 Person.getRoles 91 JavaScript 61 información de agrupación de conexiones LDAP 196 información de alimentación de identidades 217 información de caché 191 información de cifrado 198 información de codificación de preguntas y respuestas de contraseña 200 información de conciliación 208 información de configuración del flujo de trabajo 202 información de la oficina de correos 214 información de limpieza de base de datos 216 Información de planificación 194 información de recuadro de selección de creación de contraseña 217 información de restauración de cuentas 216 información del inquilino, predeterminado 186 información del servidor de aplicaciones 185 Información del servidor LDAP 186 Información XML y DTD 196 iplanetSchemaSyntax.properties, no configurable 127 itiminstaller.properties, no configurable 127 L M N O Índice 223 objeto Activity.name, ampliación JavaScript 61 objeto Activity.participant, ampliación JavaScript 62 objeto Activity.resultDetail, ampliación JavaScript 62 objeto Activity.resultSummary, ampliación JavaScript 62 objeto Activity.setResult, ampliación JavaScript 62 objeto Activity.started, ampliación JavaScript 63 objeto Activity.state, ampliación JavaScript 63 objeto Activity.subtype, ampliación JavaScript 64 objeto Activity.type, ampliación JavaScript 64 objeto AttributeChangeOperation, ampliación JavaScript 64 objeto AttributeChangeOperation.attr, ampliación JavaScript 65 objeto AttributeChangeOperation.op, ampliación JavaScript 65 objeto AttributeChangeOperation.values, ampliación JavaScript 65 objeto ContainerSearch, ampliación JavaScript 65 objeto ContainerSearch.searchByFilter, ampliación JavaScript 66 objeto Context, ampliación JavaScript 66 objeto Context.getAccountParameter, ampliación JavaScript 68 objeto Context.getActivityResult, ampliación JavaScript 68 objeto Context.getActivityResultById, ampliación JavaScript 69 objeto Context.getLoopCount, ampliación JavaScript 69 objeto Context.getLoopCountByID, ampliación JavaScript 69 objeto Context.getProcessType, ampliación JavaScript 70 objeto Context.getRequestee, ampliación JavaScript 70 objeto Context.getService, ampliación JavaScript 70 objeto Context.isAccountDataChanged, ampliación JavaScript 71 objeto DirectoryObject, ampliación JavaScript 71 objeto DirectoryObject.dn, ampliación JavaScript 72 objeto DirectoryObject.getChanges, ampliación JavaScript 72 objeto DirectoryObject.getProperty, ampliación JavaScript 73 objeto DirectoryObject.getPropertyNames, ampliación JavaScript 74 objeto DirectoryObject.name, ampliación JavaScript 74 objeto DirectoryObject.removeProperty, ampliación JavaScript 74 objeto EmailContext, ampliación JavaScript 75 objeto Enrole, ampliación JavaScript 78 224 Consulta objeto Enrole.generatePassword, ampliación JavaScript 79 objeto Enrole.getAttributeValue, ampliación JavaScript 79 objeto Enrole.getAttributeValues, ampliación JavaScript 79 objeto Enrole.localize, ampliación JavaScript 80 objeto Enrole.log, ampliación JavaScript 80 objeto Enrole.toGeneralizedTime, ampliación JavaScript 80 objeto Enrole.toMilliseconds, ampliación JavaScript 81 objeto Error, ampliación JavaScript 81 objeto Error.getErrorCode, ampliación JavaScript 82 objeto Error.getMessage, ampliación JavaScript 82 objeto Error.setErrorCode, ampliación JavaScript 82 objeto Error.setMessage, ampliación JavaScript 82 objeto IdentityPolicy, ampliación JavaScript 83 objeto IdentityPolicy.getNextCount, ampliación JavaScript 83 objeto IdentityPolicy.userIDExists, ampliación JavaScript 84 objeto Participant, ampliación JavaScript 87 objeto Participant.implementation, ampliación JavaScript 88 objeto Participant.name, ampliación JavaScript 89 objeto Participant.type, ampliación JavaScript 89 objeto ParticipantType, ampliación JavaScript 89 objeto Person, ampliación JavaScript 91 objeto Person.getNewRoles, ampliación JavaScript 92 objeto Person.getRemovedRoles, ampliación JavaScript 92 objeto Person.getRoles, ampliación JavaScript 91 objeto Person.isInRole, ampliación JavaScript 93 objeto Person.removeRoles, ampliación JavaScript 93 objeto PersonSearch, ampliación JavaScript 93 objeto PersonSearch.searchByFilter, ampliación JavaScript 94 objeto PostOffice, ampliación JavaScript 95 objeto PostOffice.getAllEmailMessages, ampliación JavaScript 95 objeto PostOffice.getEmailAddress, ampliación JavaScript 96 objeto PostOffice.getPersonByEmailAddress, ampliación JavaScript 96 objeto PostOffice.getTopic, ampliación JavaScript 96 objeto Process, ampliación JavaScript 96 getRootProcess 100 objeto Process.auditEvent, ampliación JavaScript 99 objeto Process.comment, ampliación JavaScript 99 objeto Process.description, ampliación JavaScript 99 objeto Process.getActivity, ampliación JavaScript 99 objeto Process.getParent, ampliación JavaScript 100 objeto Process.getRootRequesterName, ampliación JavaScript 101 objeto Process.id, ampliación JavaScript 101 objeto Process.name, ampliación JavaScript 101 objeto Process.parentId, ampliación JavaScript 101 objeto Process.requesteeDN, ampliación JavaScript 102 objeto Process.requesteeName, ampliación JavaScript 102 objeto Process.requestorName, ampliación JavaScript 102 objeto Process.requestorType, ampliación JavaScript 103 objeto Process.resultDetail, ampliación JavaScript 103 objeto Process.resultSummary, ampliación JavaScript 103 objeto Process.setRequesteeData, ampliación JavaScript 103 objeto Process.setResult, ampliación JavaScript 104 objeto Process.setSubjectData, ampliación JavaScript 104 objeto Process.started, ampliación JavaScript 105 objeto Process.state, ampliación JavaScript 105 objeto Process.subject, ampliación JavaScript 105 objeto Process.type, ampliación JavaScript 106 objeto ProcessData, ampliación JavaScript 106 objeto ProcessData.get, ampliación JavaScript 106 objeto ProcessData.set, ampliación JavaScript 107 objeto Reminder, ampliación JavaScript 108 objeto Role, ampliación JavaScript 109 objeto Role.getOwner, ampliación JavaScript 109 objeto RoleSearch, ampliación JavaScript 109 objeto RoleSearch.searchByName, ampliación JavaScript 110 objeto Service, ampliación JavaScript 111 objeto ServiceSearch, ampliación JavaScript 111 objeto ServiceSearch.searchByFilter, ampliación JavaScript 112 objeto ServiceSearch.searchByName, ampliación JavaScript 112 objeto ServiceSearch.searchForClosestToPerson, ampliación JavaScript 113 objetos de datos relevantes de JavaScript 45 objetos JavaScript datos relevantes 45 política de selección de servicios 119 OrganizationModelExtension, ampliaciones JavaScript 42 P PackagedApprovalDocument objeto, ampliación JavaScript 84 PackagedApprovalItem objeto, ampliación JavaScript 86 paquete de recursos de base de datos 215 parámetros de titularidad 115 passwordrules.properties, no configurable 127 perfil de persona 190 personalización del intervalo de fechas 15 PersonModelExtension, ampliaciones JavaScript 42 PersonPlacementRulesExtension, ampliaciones JavaScript 43 platformcontext.properties, no configurable 127 política de selección de servicios objetos JavaScript 119 script 119 Política de suministro Grupo 6 políticas de suministro constante 115 expresiones regulares 118 JavaScript 116 parámetro casos de ejemplo 114 parámetros 115 tipos null (nulo) 115 PostOfficeExtension, ampliaciones JavaScript 43 programa de configuración del sistema 201 Properties.properties, no configurable 127 propiedades del sistema actualizar 218 alimentación de identidades 217 archivo enRole.properties 181 comprensión de los archivos de propiedades 122, 181 Configuración de servicios de correo electrónico 201 configuración de solicitud del cliente de aplicación 213 configuración específica de WebSphere 181 cuenta de restauración 216 enviando mensajes de información 192 estrategia de búsqueda y configuración de control LDAP 188 propiedades del sistema (continuación) propiedades suplementarias información de agrupación de (continuación) conexiones LDAP 196 adicional, no configurable información de caché 191 (continuación) información de cifrado 198 tenant.properties 127 información de codificación de tmsMessages.properties 127 preguntas y respuestas de TungstenTheme.properties 127 contraseña 200 crystal.properties 134 información de conciliación 208 CustomLabels.properties 135 información de configuración del flujo DataBaseFunctions.conf 136 de trabajo 202 enroleAuditing.properties 137 Información de planificación 194 enRoleAuthentication.properties 139 información del inquilino, enRoleDatabase.properties 141 predeterminado 186 enRoleLDAPConnection.properties 144 información del servidor de enRoleLogging.properties 148 aplicaciones 185 enRoleMail.properties 159 Información del servidor LDAP 186 enrolepolicies.properties 162 Información XML y DTD 196 enroleworkflow.properties 165 limpieza de base de datos 216 fesiextensions.properties 166 nombre de organización 186 helpmappings.properties 168 nombre de producto 213 reportingLabels.properties 168 oficina de correos 214 reporttabledeny.properties 168 paquete de recursos de base de scriptframework.properties 169 datos 215 SelfServiceHelp.properties 171 perfil de persona 190 SelfServiceHomePage.properties 172 programa de configuración del SelfServiceScreenText.properties 172 sistema 201 SelfServiceUI.properties 172 recuadro de selección de creación de ui.properties 175 contraseñas 217 ProvisioningPolicyExtension, regla de ciclo vital 212 ampliaciones JavaScript 43 secreto compartido oculto 212 sincronización de contraseñas 218 sincronización inversa de contraseñas 214 RecertificationWorkflow objeto, Valores de supervisión de la ampliación JavaScript 107 transacción de contraseñas 195 registro, ampliaciones JavaScript 46 propiedades suplementarias 122 registro de ampliaciones de la adhocreporting.properties 127 aplicación 3 adicional, no configurable 125 regla de ciclo vital 212 ConfigErrorMessages.properties 125 ReminderExtension, ampliaciones ConfigLabels.properties 125 JavaScript 44 ConfigMessages.properties 125 reportingLabels.properties 168 CustomForms.properties 125 reporttabledeny.properties 168 Dsml2RootDSE.properties 125 RoleModelExtension, ampliaciones Dsml2Schema.properties 125 JavaScript 42 enRole2ldif.properties 125 enRoleEntityHiddenAttributes 126 enRoleFonts.properties 126 enRoleHelp.properties 126 script enRoleHiddenAttributes.properties 126 enRoleHiddenSearchAttributes.properties política 126 de selección de servicios 119 scriptframework.properties 46, 169 enroleStartup.properties 126 JavaScript enRoleUnchangedAttributes.properties 126 configurar 47 enRoleValidateAttributes.properties 126 entitlementHiddenAttributes.propertiessecreto 126 compartido oculto 212 SelfServiceHelp.properties 171 expressHiddenAttributes.properties 126 172 HighContrastBigFontTheme.properties SelfServiceHomePage.properties 126 HighContrastTheme.properties 126 SelfServiceScreenText.properties 172 SelfServiceUI.properties 172 ibmSchemaSyntax.properties 126 iplanetSchemaSyntax.properties 127 SeparationOfDutyRuleViolation objeto, ampliación JavaScript 110 itiminstaller.properties 127 ServiceExtension, ampliaciones Labels.properties 127 JavaScript 44 Messages.properties 127 ServiceModelExtension, ampliaciones passwordrules.properties 127 JavaScript 43 platformcontext.properties 127 sincronización inversa de Properties.properties 127 contraseñas 214 subform.properties 127 R S Índice 225 subform.properties, no configurable SubjectExtension, ampliaciones JavaScript 44 127 T tenant.properties, no configurable 127 tipo de control Subformulario 120 escribir 122 nombres de parámetros 121 parámetros contextuales 121 tipo de control Subformulario 120 escribir 122 226 Consulta tipo de control Subformulario (continuación) nombres de parámetros 121 parámetros contextuales 121 tipos null (nulo) 115 tmsMessages.properties, no configurable 127 TungstenTheme.properties, no configurable 127 U ui.properties 175 V Valores de supervisión de la transacción de contraseñas 195 W WorkflowExtension, ampliaciones JavaScript 45