Saltar al contenido

Aplicación de aprovisionamiento de usuarios en Jitterbit App Builder

Introducción

Esta página muestra cómo crear una aplicación de aprovisionamiento de usuarios que los usuarios finales pueden utilizar para aprovisionar acceso a la aplicación de manera semi-automática, sin necesidad de acceso al IDE. Este es un enfoque alternativo para gestionar el acceso de los usuarios cuando un proveedor de identidad (como Okta o Azure) no está disponible.

El proceso implica crear proveedores de seguridad, configurar reinos, preparar el modelo de datos, construir una secuencia de reglas de negocio para manejar la lógica y crear una interfaz de usuario simple para que los usuarios finales inicien el proceso.

Estas instrucciones utilizan el ejemplo de proporcionar acceso a los empleados de una empresa. Las instrucciones se dividen en cinco pasos:

Preparación

Para comenzar, crea una aplicación dedicada para aprovisionar usuarios. La que se utiliza en este tutorial se llama simplemente Aplicación de Aprovisionamiento de Usuarios y comienza con las siguientes tablas:

Tabla Columnas
Empleado EmployeeID (ID único, PK), FullName (Cadena), Email (Cadena), EmployeeNo (Cadena)
Departamento DepartmentID (ID único, PK), Name (Cadena)
Parámetro ParameterID (ID único, PK)

Se agregarán columnas adicionales a estas tablas durante los pasos a continuación.

Paso 1: Configuración inicial

Primero, necesitas un proveedor de seguridad para manejar el aprovisionamiento y un lugar para almacenar los detalles de su configuración.

Crear un proveedor de seguridad

Para crear un proveedor de seguridad, sigue estos pasos:

  1. Selecciona IDE > Proveedores de Seguridad.

  2. En Autenticación de Usuario, haz clic en + Autenticación de Usuario.

  3. Configura el proveedor con estos ajustes:

    • Nombre: User Provisioning

      Nota

      No debe confundirse con la aplicación de aprovisionamiento en sí, que se llama User Provisioning App.

    • Tipo: User Provisioning

    • Habilitado: Marcado.

    • Aprovisionamiento de Usuario: Marcado.

  4. Haz clic en Guardar.

  5. Copia y guarda la clave Identificador del nuevo proveedor para el siguiente paso.

Parametrizar la configuración

Para almacenar el ID del proveedor y una contraseña predeterminada en la tabla Parameter de tu aplicación, sigue estos pasos:

  1. Ejecuta tu aplicación de aprovisionamiento de usuarios, luego ve a la pestaña Tablas del App Workbench.

  2. En Tablas, encuentra la tabla Parameter, luego haz clic en su ícono Abrir registro.

  3. Agrega las siguientes dos columnas:

    • MyProviderID (Tipo: ID Único)

    • DefaultPassword (Tipo: Cadena)

  4. Ve a la pestaña Páginas del App Workbench.

  5. En Páginas, encuentra la página Parameter, luego haz clic en su ícono .

  6. Agrega nuevos controles (tipo de control Texto) a la página para las columnas MyProviderID y DefaultPassword.

  7. Ejecuta la aplicación y selecciona Configuración > Parámetros. Se abre el popup de Parámetros.

  8. Haz clic en Editar.

  9. Pega el identificador del proveedor de seguridad (copiado anteriormente) en el campo MyProviderID.

  10. Ingresa una contraseña predeterminada segura en el campo DefaultPassword. Esta es la contraseña que se asigna a los nuevos usuarios.

  11. Haz clic en Guardar, luego cierra el popup de Parameter.

Paso 2: Configurar el control de acceso

Con el proveedor creado, ahora puedes configurar los grupos de usuarios y los dominios que rigen el acceso. Para hacer esto, sigue estos pasos:

  1. Selecciona IDE > Gestión de Usuarios.

  2. Selecciona la pestaña Grupos.

  3. Haz clic en + Grupo. Se abre el popup de Grupo.

  4. Establece los siguientes valores:

    • Nombre: Demo General User

    • Descripción: Permisos de usuario general para la aplicación de demostración.

  5. Haz clic en Guardar, luego cierra el popup de Grupo.

  6. En Grupos, haz clic en Gestionar Privilegios para el nuevo grupo.

  7. En Privilegios, haz clic en Crear. Se abre el popup de Privilegio.

  8. Establece los siguientes valores:

    • Tipo: Selecciona Aplicación.

    • Aplicación: Abre el menú y selecciona la aplicación a la que accederán los usuarios finales.

    Nota

    La aplicación que debes seleccionar aquí es aquella a la que los usuarios finales iniciarán sesión. Esta puede o no ser la aplicación de aprovisionamiento en sí. En este tutorial, se construyó una aplicación de aprovisionamiento dedicada para gestionar el acceso a una o más aplicaciones, por lo tanto, debes seleccionar la aplicación objetivo aquí, no la aplicación de aprovisionamiento.

  9. Haz clic en Guardar, luego cierra el panel de Privilegios/Roles.

  10. En Roles, otorga los roles apropiados para los usuarios generales.

  11. Selecciona la pestaña Reinos.

  12. Haz clic en + Reino.

  13. Ingresa Demo Realm como el nombre, luego haz clic en el ícono .

  14. En la pestaña Aplicaciones, haz clic en Seleccionar para la aplicación a la que accederán los usuarios finales.

  15. Selecciona la pestaña Grupos, luego haz clic en Seleccionar para el grupo Demo General User que acabas de crear.

  16. Selecciona la pestaña Proveedores, luego haz clic en Seleccionar para el proveedor de seguridad User Provisioning creado anteriormente.

Paso 3: Preparar el modelo de datos

Ahora debes actualizar tus tablas Department y Employee para almacenar información de seguridad y estado de aprovisionamiento.

Sigue estos pasos:

  1. Con tu aplicación en funcionamiento, ve a la pestaña Fuentes de Datos del App Workbench.

  2. Haz clic en + Fuente.

  3. Selecciona Vincular a fuente existente, luego haz clic en Siguiente.

  4. Busca y selecciona App Builder (Sealed) (Default), luego haz clic en Vincular 1 Fuente y Listo. Esto te da acceso a los objetos de datos públicos necesarios para el aprovisionamiento.

  5. Ve a la pestaña Tablas del App Workbench.

  6. En Tablas, encuentra la tabla Department, luego haz clic en su ícono de Abrir registro.

  7. Agrega una nueva columna llamada MyGroupID (Tipo: ID Único).

  8. Ve a la pestaña Páginas del App Workbench, luego abre tu página de Departamento para editar.

  9. Agrega el control MyGroupID a tu página. Establece su Tipo de Control en Lista, luego haz clic en Siguiente.

  10. En la siguiente página, establece estos valores, luego haz clic en Siguiente:

    • Fuente: Realm_Group

    • Clave (Columna): GroupId (PK)

    • Título (Columna): Name

  11. Haz clic en Finalizar.

  12. Ve a la pestaña Páginas del App Workbench, luego abre tu página de Departamento para editar.

  13. Selecciona la pestaña Métodos de Actualización.

  14. Asegúrate de que la configuración de Método de Edición sea Estándar.

  15. Ejecuta la aplicación, navega a la página de Departamentos y asigna el grupo Demo General User a uno de tus departamentos.

Actualiza la tabla de Empleados

Sigue estos pasos:

  1. Ve a la pestaña Tablas del App Workbench.

  2. Bajo Tablas, encuentra la tabla Empleado, luego haz clic en su ícono de Abrir registro.

  3. Agrega las siguientes columnas:

    • MyUserID (Tipo: ID Único): Almacena el ID de App Builder del usuario después de la creación.

    • ProvisionedOn (Tipo: FechaHora): Una marca de tiempo de cuándo ocurrió la provisión.

    • ProvisionedBy (Tipo: Cadena, longitud: 150): El nombre del usuario que realizó la provisión.

Paso 4: Construir la lógica de provisión

El núcleo de la aplicación es un evento a nivel de tabla en la tabla Empleado que orquesta una secuencia de reglas. Estas reglas se ejecutan una tras otra utilizando manejadores de éxito.

Regla 1: Crear el usuario

Esta regla crea el registro del usuario, pero solo si no existe uno ya. Sigue estos pasos:

  1. Ve a la pestaña Tablas del App Workbench.

  2. Bajo Tablas, encuentra la tabla Empleado, luego haz clic en su ícono de Abrir registro.

  3. Haz clic en Eventos. Se abre el popup de Eventos de Almacenamiento de Datos (Empleado).

  4. Haz clic en + Evento de Tabla.

  5. Bajo Información del Evento, establece el Nombre como Provisionar Usuario, luego haz clic en Guardar.

  6. En Acciones, haz clic en + Regla y Registro.

  7. En la página de Constructor de Reglas, establece los siguientes valores:

    • Nombre: Realm_User_Create (Insertar Empleado)

    • Propósito: XP CRUD

    • Acción: Insertar

    • Fuente de Datos: Selecciona la aplicación de aprovisionamiento de usuarios que has creado. En este tutorial, es Aplicación de Aprovisionamiento de Usuarios.

    • Destino de Datos: Vinilo (Sellado)

    • Opciones: Selecciona Capa de Lógica.

    • Destino: Realm_User_Create

  8. Haz clic en Crear.

  9. Con la pestaña Tablas seleccionada, haz clic en + Tabla.

  10. En la pestaña Fuente de Datos Actual, agrega la tabla Empleado.

  11. Selecciona la pestaña Dónde.

  12. Haz clic en + Cláusula Where.

  13. En Expresión Izquierda, ingresa E.MyUserID.

  14. Abre el menú Operador, luego selecciona ES NULO.

  15. Haz clic en Guardar, luego cierra el popup de Dónde.

  16. Selecciona la pestaña Tablas, luego selecciona EmployeeID y cualquier columna adicional que la regla necesite para su acción (por ejemplo, el nombre y la dirección de correo electrónico del usuario aprovisionado).

  17. Selecciona la pestaña Columnas, y establece los campos de la siguiente manera:

    Columna o Expresión Alias Destino PK
    E.EmployeeID UserId (PK)
    E.FullName FullName
    E.Email EmailAddress
    E.FullName DisplayName DisplayName
    E.EmployeeNo UserName UserName
  18. (Opcional, pero recomendado) Selecciona la pestaña Resultados y haz clic en Validar.

  19. Ve a la pestaña Tablas del App Workbench.

  20. En Tablas, encuentra la tabla Empleado, luego haz clic en su ícono de Abrir registro.

  21. Haz clic en Eventos. Se abre el popup de Eventos de Almacenamiento de Datos (Empleado).

  22. Haz clic en el ícono de Abrir registro para el evento Provisionar Usuario.

  23. En Acciones, haz clic en el ícono de Abrir registro para la regla Realm_User_Create (Insertar Empleado).

  24. Bajo Bindings, haz clic en + Binding.

  25. Establece el siguiente enlace:

    Columna de Origen Columna de Regla
    EmployeeID EmployeeID
  26. Haz clic en el ícono , luego cierra el popup de Action/Bindings/SQL.

Regla 2: Actualizar el registro del empleado

Después de que se crea el usuario de App Builder mediante la Regla 1, esta regla escribe el ID del nuevo usuario de vuelta en el campo MyUserID en la tabla Employee. Esto vincula el registro del empleado a su cuenta de App Builder para que las reglas subsiguientes puedan hacer referencia a su ID.

  1. En la página Event/Validations/Actions, bajo Actions, haz clic en + Rule & Register.

  2. Establece los siguientes valores:

    • Name: Employee (Update MyUserID to EmployeeID)

    • Purpose: CRUD

    • Action: Update

    • Target Layer: Data Layer

    • Target: Employee

  3. Haz clic en Create.

  4. Selecciona la pestaña Columns.

  5. Haz clic en + Column.

  6. En el cuadro Column or Expression, ingresa E.EmployeeID, luego establece estos valores restantes:

    • Alias: MyUserID

    • Target: MyUserID

    • TargetType: Target

  7. Haz clic en Save, luego cierra el popup de Add Column.

  8. (Opcional, pero recomendado) Selecciona la pestaña Results y haz clic en Validate.

  9. Haz clic en < Event para regresar a la página de Provision User (Event/Validations/Actions).

  10. Bajo Actions, haz clic en para desregistrar la regla que se acaba de agregar y registrar (Employee (Update MyUserID to EmployeeID)), luego haz clic en Proceed.

  11. Bajo Actions, haz clic en el ícono Open record para la acción restante Realm_User_Create (Insert Employee). Se abre el popup de Action/Bindings/SQL.

  12. Haz clic en Success. Se abre el popup de Success Handlers.

  13. Haz clic en Create. Se abre el popup de Action.

  14. Establece los siguientes valores:

    • Type: Rule

    • Rule: Selecciona Employee (Update MyUserID to EmployeeID)

  15. Haz clic en Guardar.

  16. En Vínculos, haz clic en + Vínculo.

  17. Establece el siguiente vínculo:

    Columna de Origen Columna de Regla
    EmployeeID EmployeeID
  18. Cierra los popups para regresar a la página de Evento/Validaciones/Acciones para Provisionar Usuario.

    Consejo

    El número 1 junto al ícono indica la presencia de un manejador de éxito para esta acción.

Regla 3: Establecer la contraseña del usuario

Esta regla establece la contraseña inicial del nuevo usuario utilizando el valor predeterminado almacenado en la tabla Parameter.

  1. Ve a la pestaña Reglas del App Workbench.

  2. Haz clic en + Regla.

  3. Establece los valores de la siguiente manera:

    • Nombre: User_SetPassword (Actualizar Contraseña Predeterminada)

    • Propósito: Selecciona XPCRUD

    • Acción: Actualizar

    • Fuente de Datos de Origen: Selecciona la aplicación de aprovisionamiento de usuarios que has creado. En este tutorial, es Aplicación de Aprovisionamiento de Usuarios.

    • Fuente de Datos de Destino: Vinyl (Sellado)

    • Capa de Destino: Capa de Lógica

    • Destino: User_SetPassword

  4. Haz clic en Crear.

  5. Selecciona la pestaña Tablas.

  6. En la pestaña Fuente de Datos Actual, haz clic en + Tabla, luego agrega las tablas Employee y Parameter.

  7. En la tabla Employee, selecciona las columnas EmployeeID y MyUserID.

  8. En la tabla Parameter, selecciona la columna DefaultPassword.

  9. Selecciona la pestaña Columnas y establece los campos de la siguiente manera:

    Columna o Expresión Alias Destino PK
    E.MyUserID UserID (PK)
    P.DefaultPassword Password
  10. (Opcional) Haz clic en el ícono Abrir registro para la columna E.MyUserID. En el popup de Columna, confirma que el Tipo de Destino es Vincular.

  11. (Opcional) Haz clic en el ícono Abrir registro para la columna P.DefaultPassword. En el popup de Columna, confirma que el Tipo de Destino es Destino.

  12. Selecciona la pestaña Where, luego haz clic en + Where Clause.

  13. En Left Expression, ingresa E.MyUserID.

  14. Abre el menú Operator, luego selecciona IS NOT NULL.

  15. Haz clic en Save, luego cierra el popup de Where.

  16. Ve a la pestaña Rules del App Workbench.

  17. En App Data Sources, selecciona All Events.

  18. En All Events, haz clic en Provision User en la columna Event.

  19. Para la entrada de Provision User, haz clic en Rule Event Detail.

  20. En Actions, haz clic en el ícono Success handlers para la regla Realm_User_Create (Insert Employee). Se abre el popup de Success Handlers.

  21. Haz clic en Create. Se abre el popup de Action.

  22. Establece los siguientes valores:

    • Type: Rule

    • Rule: Selecciona User_SetPassword (Update Default Password)

  23. Haz clic en Save.

  24. En Bindings, haz clic en + Binding.

  25. Establece el siguiente binding:

    Source Column Rule Column
    EmployeeID EmployeeID
  26. Cierra los popups para regresar a la página de Event/Validations/Actions para Provision User.

  27. Actualiza la página y observa que el número de success handlers para la regla Realm_User_Create (Insert Employee) ahora es 2.

Rule 4: Grant group access

Esta regla otorga al nuevo usuario acceso al grupo App Builder asociado con su departamento, utilizando el valor MyGroupID establecido en la tabla Department.

  1. Ve a la pestaña Rules del App Workbench.

  2. Haz clic en + Rule.

  3. Establece los valores de la siguiente manera:

    • Name: Realm_UserGroup (Cram Department)

    • Purpose: Selecciona XPCRUD

    • Action: Cram

    • Source Data Source: Selecciona la aplicación de aprovisionamiento de usuarios que has creado. En este tutorial, es User Provisioning App.

    • Target Data Source: Vinyl (Sealed)

    • Target Layer: Logic Layer

    • Target: Realm_UserGroup

  4. Haz clic en Create.

  5. Selecciona la pestaña Tables.

  6. En la pestaña Current Data Source, haz clic en + Table, luego agrega las tablas Employee y Department.

    Consejo

    App Builder crea automáticamente una relación de clave foránea entre las columnas DepartmentID de las dos tablas.

  7. En la tabla Employee, selecciona las columnas EmployeeID y MyUserID.

  8. En la tabla Department, selecciona la columna MyGroupID.

  9. Selecciona la pestaña Where, luego haz clic en + Where Clause.

  10. En Left Expression, ingresa D.MyGroupID.

  11. Abre el menú Operator, luego selecciona IS NOT NULL.

  12. Haz clic en Save, luego cierra el popup de Where.

  13. Haz clic en + Where Clause.

  14. En Left Expression, ingresa E.MyUserID.

  15. Abre el menú Operator, luego selecciona IS NOT NULL.

  16. Haz clic en Save, luego cierra el popup de Where.

  17. Selecciona la pestaña Columns, y establece los campos de la siguiente manera (por ejemplo):

    Column or Expression Alias Target PK
    E.EmployeeID
    E.MyUserID UserID (PK)
    D.MyGroupID GroupID (PK)
  18. Selecciona More > Edge Case. Se abre el popup de Edge Case Settings.

  19. Habilita la opción Select Distinct, luego cierra el popup.

  20. Ve a la pestaña Rules del App Workbench.

  21. En App Data Sources, selecciona All Events.

  22. En All Events, haz clic en Provision User en la columna Event.

  23. Para la entrada Provision User, haz clic en Rule Event Detail.

  24. En Actions, haz clic en el ícono Open record para la regla Realm_User_Create (Insert Employee).

  25. Haz clic en Success. Se abre el popup de Success Handlers.

  26. Haz clic en Create. Se abre el popup de Action.

  27. Establece los siguientes valores:

    • Type: Rule

    • Rule: Selecciona Realm_UserGroup (Cram Department)

  28. Haz clic en Save.

  29. En Bindings, haz clic en + Binding.

  30. Establece el siguiente binding:

    Source Column Rule Column
    EmployeeID EmployeeID
  31. Cierra los popups para regresar a la página de Evento/Validaciones/Acciones para Provisionar Usuario.

Regla 5: Registrar la acción de aprovisionamiento

Esta regla registra quién activó el aprovisionamiento y cuándo, escribiendo la marca de tiempo actual y el nombre del usuario conectado en los campos ProvisionedOn y ProvisionedBy en la tabla Employee.

  1. Ve a la pestaña Reglas del App Workbench.

  2. Haz clic en + Regla.

  3. Establece los siguientes valores:

    • Nombre: Employee (Actualizar ProvisionedOn/By)

    • Propósito: CRUD

    • Acción: Actualizar

    • Capa de Destino: Capa de Datos

    • Destino: Employee

  4. Haz clic en Crear.

  5. Selecciona la pestaña Columnas.

  6. Haz clic en + Columna.

  7. En el cuadro Columna o Expresión, ingresa now(), luego establece estos valores restantes:

    • Destino: ProvisionedOn

    • Tipo de Destino: Destino

  8. Haz clic en Guardar, luego cierra el popup Agregar Columna.

  9. Haz clic en + Columna.

  10. En el cuadro Columna o Expresión, ingresa who(), luego establece estos valores restantes:

    • Destino: ProvisionedBy

    • Tipo de Destino: Destino

  11. Haz clic en Guardar, luego cierra el popup Agregar Columna.

  12. (Opcional, pero recomendado) Selecciona la pestaña Resultados, luego haz clic en Validar.

  13. Ve a la pestaña Reglas del App Workbench.

  14. Bajo Fuentes de Datos de la Aplicación, selecciona Todos los Eventos.

  15. Bajo Todos los Eventos, haz clic en Provisionar Usuario en la columna Evento.

  16. Para la entrada Provisionar Usuario, haz clic en Detalle del Evento de Regla.

  17. Bajo Acciones, haz clic en el ícono Controladores de Éxito para la regla Realm_User_Create (Insertar Empleado). Se abre el popup Controladores de Éxito.

  18. Haz clic en Crear. Se abre el popup Acción.

  19. Establece los siguientes valores:

    • Tipo: Regla

    • Regla: Selecciona Employee (Actualizar ProvisionedOn/By)

  20. Haz clic en Guardar.

  21. Bajo Vínculos, haz clic en + Vínculo.

  22. Establece el siguiente vínculo:

    Columna de Origen Columna de Regla
    EmployeeID EmployeeID
  23. Cierra los popups para regresar a la página de Evento/Validaciones/Acciones para Provisionar Usuario.

Paso 5: Crear la interfaz de usuario

  1. Navega a Páginas y abre tu página de Empleado para editar.

  2. Agrega un nuevo control de Botón con la etiqueta Provisionar Usuario.

  3. En las propiedades del botón, navega a la pestaña de Eventos y selecciona el evento Provisionar Usuario.

  4. Para asegurar que la interfaz de usuario se actualice correctamente, en la pestaña de Comportamiento, establece el Ámbito de Actualización en Fila.

  5. Para ocultar el botón para los usuarios ya provisionados, ve a la pestaña de Visibilidad y agrega una condición: ProvisionadoEn NO ES NULO.

Próximos pasos

La lógica central de aprovisionamiento ahora está completa. Puedes mejorar este proceso aún más al: