Saltar al contenido

Auditoría completa en Jitterbit App Builder

Descripción general

La función de Auditoría Completa en App Builder está activada por defecto para las fuentes de datos y tablas recién creadas. La Auditoría Completa es una función de auditoría añadida para complementar la capacidad existente de Auditoría ligera. La Auditoría Completa registra cambios a nivel empresarial en tus datos y te permite ver esos cambios. Cuando la Auditoría Completa está habilitada, se crea una tabla de registro de auditoría especial llamada App BuilderAuditLog en tu fuente de datos. Los cambios se capturan en la tabla de registro de auditoría para cualquier tabla con la Auditoría Completa habilitada.

Por defecto, App Builder no limpia ni purga automáticamente ningún registro almacenado en la tabla de Auditoría Completa. Si deseas cambiar este comportamiento, consulta la función de Configuración de auditoría, que permite a un usuario Administrador configurar un período de tiempo para retener datos, después del cual App Builder debe purgar los registros de auditoría más allá del marco de tiempo definido.

Importante

El botón de Auditoría para ver los registros de auditoría solo se puede acceder desde los siguientes tipos de paneles:

  • Formulario (botón de Auditoría en el marco del panel)
  • Cuadrícula (ícono de Auditoría cerca de los íconos de editar/eliminar)

Las Reglas CRUD actualmente no capturan cuál era el valor previamente en la tabla de Auditoría. Si la Regla CRUD se ejecuta a través de la Capa Empresarial, la Auditoría la capturará.

App Builder puede generar un error al Población de Línea Base, si encuentra campos que exceden Nvarchar(700) o una columna binaria. Como solución alternativa, puedes eliminar manualmente el(los) campo(s) en exceso o binarios de la Auditoría Completa. Una versión posterior abordará este comportamiento.

Características

Cambios a nivel empresarial

La Auditoría Completa captura cambios a nivel empresarial para las tablas habilitadas. Es decir, la Auditoría Completa registrará cualquier evento de Inserción, Actualización o Eliminación que pase a través de la Capa Empresarial de App Builder. Esto incluye:

  • Ediciones desde la Capa de Aplicación
  • Reglas de Negocio CRUD

Las modificaciones que no son compatibles:

  • Reglas Directas CRUD
  • Migraciones
  • Manipulación directa de la base de datos
  • Procedimientos Almacenados

Resolución de listas

Full Audit intentará registrar los valores de búsqueda cuando se realice una edición desde la Capa de UI utilizando un tipo de control de Lista. Por ejemplo, si tenemos una página de Pedido que incluye un control de Lista para seleccionar un Producto, tanto los valores de las columnas Clave como Título (por ejemplo, ProductID y ProductName) se capturarán en el Registro de Auditoría.

Resolución de claves foráneas

Similar a la resolución de listas, las tablas auditadas que contienen claves foráneas intentarán resolver sus valores. Las Reglas de Negocio CRUD no tienen controles de Lista asociados (no pasan por la Capa de UI), por lo que esta técnica permite que Full Audit continúe registrando los valores de título resueltos. Supongamos que tenemos dos tablas con las siguientes columnas:

Tabla de pedidos

  • OrderID
  • ProductID (clave foránea a la tabla de Producto)

Tabla de productos

  • ProductID
  • Name (uso de la columna Título)

Full Audit reconocerá la clave foránea en la tabla de Pedidos al registrar ediciones en Order.ProductID, e incluirá el valor de la columna Título "Name" en el registro.

Promoción de entornos

Habilitar Full Audit requiere que la Fuente de Datos (y las aplicaciones relacionadas) estén configuradas en el entorno de Desarrollo y promovidas hacia arriba. Actualmente, App Builder no admite la configuración de Auditoría en entornos superiores (por ejemplo, en QA o Producción, pero no en Desarrollo).

Aunque la Tabla de Auditoría en sí se creará en entornos superiores, ninguno de los datos del Registro de Auditoría será transferido.

Población de la línea base

App Builder permite a un diseñador poblar una línea base de todas las tablas habilitadas para Full Audit en el Registro de Auditoría. Esto debe hacerse manualmente en cada entorno. La población de la línea base se puede ejecutar múltiples veces; solo se poblarán los registros que no tengan un registro de auditoría previo.

App Builder incluye auditoría completa

La mayoría de las tablas dentro de App Builder tienen habilitada la Auditoría Completa. Esto permite a los desarrolladores ver registros de auditoría para cosas como páginas, tablas, columnas, controles, servidores de notificación, etc.

Para configurar la auditoría completa en una aplicación de App Builder

La siguiente sección describe cómo configurar la Auditoría Completa. La Auditoría Completa está activada por defecto para las fuentes de datos y tablas recién creadas.

Para habilitar la auditoría completa para una fuente de datos

  1. Navega a App Workbench > haz clic en el botón Data Sources
  2. Selecciona la Data Source que deseas configurar
  3. Haz clic en el botón Enable Audit
  4. Haz clic en Proceed

Para configurar las opciones de auditoría completa para una fuente de datos

Para configurar las opciones de Auditoría Completa para tu Fuente de Datos:

  1. Navega a App Workbench > haz clic en el mosaico Data Sources
  2. Selecciona la Data Source que deseas configurar
  3. Haz clic en el botón Audit Config
  4. Realiza los cambios necesarios y haz clic en Save

Habilitar la auditoría completa para una tabla

La Auditoría Completa está habilitada en las tablas por defecto para las fuentes de datos que la tienen activada. Se proporcionan los pasos a continuación si es necesario. Después de habilitar la Auditoría Completa en una fuente de datos, todas las tablas tendrán la Auditoría Completa habilitada por defecto. App Builder inserta una columna AppBuilderAuditRefId en todas las tablas para acomodar los datos de auditoría.

Si es necesario, puedes deshabilitar la Auditoría Completa para tablas individuales que no deberían ser auditadas. Para deshabilitar la Auditoría Completa en una tabla, haz clic manualmente en el botón Disable Full Audit a nivel de tabla. Además, es posible que necesites eliminar la columna AppBuilderAuditRefID para cualquier tabla que no tenga una clave primaria UUID de una sola parte. Es una buena práctica revisar y limpiar las reglas de migración para evitar la creación y eliminación de la columna AppBuilderAuditRefID.

Clave primaria UUID de una sola parte

Para una tabla con una clave primaria UUID de una sola parte, habilitar la Auditoría Completa es simple:

  1. Navega a App Workbench
  2. Haz clic en el mosaico Tables
  3. Localiza la Tabla en la que deseas habilitar la Auditoría Completa y haz clic en el ícono de lápiz para editar
  4. Desde el panel de la Tabla, haz clic en More > Edge Case > Enable Full Audit

Si deseas desactivar la Auditoría Completa en una tabla, sigue las instrucciones anteriores hasta el Paso 3, haz clic en Edge Case y luego haz clic en el botón Desactivar Auditoría Completa.

Otras configuraciones de clave primaria

Las tablas que no tienen una clave primaria UUID de una sola parte requieren un poco más de trabajo para habilitar la Auditoría Completa. Debido a que la Auditoría Completa requiere un UUID único por registro de tabla, necesitaremos agregar y poblar una nueva columna. Esta nueva columna utilizará el tipo de uso de columna Audit.

  1. Navega a App Workbench
  2. Localiza la tabla en la que deseas habilitar la Auditoría Completa en Tables
  3. Haz clic en el ícono de lápiz de edición de la tabla
  4. Haz clic en + Column en el panel de Columnas para agregar una nueva columna con las siguientes propiedades:

    1. Type: UUID.
    2. Allow Nulls: True
    3. Autogenerate: True
    4. Name: AuditID (este nombre puede ser lo que desees)
  5. Crea una nueva Regla de Migración para poblar la columna para tus registros existentes

    1. Purpose: Migration
    2. Action: Update
    3. Selecciona de y apunta a tu tabla anterior
    4. Usa la función MvSQL NewUUID() como el valor para tu columna AuditID
  6. Ejecuta la Regla de Migración

  7. Navega de vuelta a los detalles de la columna y establece lo siguiente:

    1. Allow Nulls: False
    2. Tipo de columna Usage: Audit
  8. Navega a la tabla y haz clic en More > Edge Case > Enable Full Audit, Proceed. App Builder proporciona un mensaje de éxito cuando la tarea está completa.

Habilitar auditoría completa en una página

Para que los usuarios puedan ver los registros de Auditoría Completa, el panel de la página necesita habilitar el Audit Link:

  1. Navega a la página en la que deseas habilitar la visualización de Auditoría Completa
  2. Ve a Action Drawer > Live Designer
  3. Selecciona el panel del Diseño del Panel de Página
  4. Desde la región de Edición en Vivo a la derecha, haz clic en la pestaña Built-In
  5. Marca para habilitar Show Audit
  6. Regresa a la vista de la Aplicación, actualiza el navegador web y confirma que ves los resultados esperados

Seguridad

Para acceder al registro de Auditoría Completa, el usuario debe:

  • Pertenecer a al menos uno de los siguientes roles:

    • Constructor de Aplicaciones - Rol de Administradores
    • Constructor de Aplicaciones - Rol de Auditoría
  • Tener acceso de lectura al Objeto de Datos vinculado en el panel de la página

  • Tener acceso de lectura a la fila misma

Población de la línea base

Full Audit admite la población de una línea base para todos los registros en tablas auditadas. Esto escribirá registros de auditoría con Populate como nombre de operación para todos los registros existentes en la tabla auditada. Cualquier registro de auditoría que ya exista para un registro no será duplicado (por lo que es seguro ejecutar esto múltiples veces si es necesario).

  1. Navegar a Action Drawer > IDE > Configuraciones Adicionales
  2. Hacer clic en el botón Poblar Registros de Auditoría
  3. Localizar la Fuente de Datos de tu aplicación
  4. Hacer clic en el botón Poblar Todo en la Fuente de Datos o Poblar en tablas individuales
  5. Hacer clic en Proceder, esto iniciará una tarea en segundo plano que se ejecutará