Saltar al contenido

Auditoría Completa

Descripción General

La función Auditoría completa en Vinyl está activada de forma predeterminada para tablas y fuentes de datos recién creadas. Auditoría completa es una función de auditoría agregada para complementar la Auditoría Lite existente capacidad. La Auditoría completa registra los cambios a nivel empresarial en sus datos y le permite ver esos cambios. Cuando la Auditoría completa está habilitada, se crea una tabla de registro de auditoría especial denominada VinylAuditLog en su fuente de datos. Los cambios se capturan en la tabla de registro de auditoría de cualquier tabla que tenga habilitada la Auditoría completa.

De forma predeterminada, Vinyl no limpia ni purga automáticamente ningún registro almacenado en la tabla Auditoría completa. Si desea cambiar este comportamiento, consulte Configuración de auditoría, que permite a un usuario administrador configurar un período de tiempo para conservar los datos, después del cual Vinyl debe purgar los registros de auditoría más allá del período de tiempo definido.

Importante

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

  • Formulario (botón de auditoría en el marco del panel)
  • Cuadrícula (icono de auditoría cerca de los iconos de edición/eliminación)

Las reglas CRUD no capturan actualmente cuál era el valor anteriormente en la tabla de Auditoría. Si la regla CRUD atraviesa la capa empresarial, Auditoría la capturará.

Vinyl puede generar un error al completar la línea base, si encuentra campos que exceden Nvarchar(700) o una columna binaria. Como solución alternativa, puede eliminar manualmente los campos 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 los cambios a nivel empresarial para las tablas habilitadas. Es decir, Full Audit registrará cualquier evento de inserción, actualización o eliminación que pase por la capa empresarial de Vinyl. Esto incluye:

  • Ediciones desde la capa de aplicación
  • Reglas comerciales CRUD

Modificaciones que no son compatibles:

  • Reglas directas CRUD
  • Migraciones
  • Manipulación directa de bases de datos.
  • Procedimientos almacenados

Resolución de Lista

La auditoría completa intentará registrar los valores de búsqueda cuando se realice una edición desde la capa de la interfaz de usuario 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, los valores de la columna Clave y Título (por ejemplo, ID de Producto y Nombre de Producto) se capturarán en el Registro de Auditoría.

Resolución de Clave Externa

De manera similar a la resolución de listas, las tablas auditadas que contienen claves externas intentarán resolver sus valores. Las reglas comerciales CRUD no tienen controles de lista asociados (no se ejecutan a través de la capa UI) y, por lo tanto, 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 externa a la tabla de productos)

Tabla de Productos

  • ProductID
  • Name (Uso de la columna de título)

Full Audit reconocerá la clave externa en la tabla Pedido al registrar ediciones en Order.ProductID e incluirá el valor "Nombre" de la columna Título en el registro.

Promoción del Medio Ambiente

Habilitar la auditoría completa requiere que la fuente de datos (y las aplicaciones relacionadas) se configuren en el ambiente de desarrollo y se promocionen hacia arriba. Actualmente, Vinyl no admite la configuración de auditoría en arriba en la cadena (por ejemplo, en control de calidad o producción, pero no en desarrollo).

Aunque la propia tabla de auditoría se creará en ambientes arriba en la cadena, ninguno de los datos del registro de auditoría se transferirá.

Población Basal

Vinyl permite al diseñador completar una línea base de todas las tablas habilitadas para Auditoría completa en el Registro de auditoría. Esto debe hacerse manualmente en cada ambiente. El llenado de referencia se puede ejecutar varias veces; solo se completarán los registros que no tengan un registro de auditoría previo.

El Vinyl Incluye Auditoría Completa.

La mayoría de las tablas dentro de Vinyl tienen habilitada la Auditoría completa. Esto permite a los desarrolladores ver registros de auditoría de cosas como páginas, tablas, columnas, controles, servidores de notificaciones, etc.

Para Configurar la Auditoría Completa en una Aplicación Vinyl

La siguiente sección describe cómo configurar la auditoría completa. La Auditoría completa está activada de forma predeterminada para tablas y orígenes de datos recién creados.

Para Habilitar la Auditoría Completa para una Fuente de Datos

  1. Vaya a App Workbench > haga clic en el botón Fuentes de datos
  2. Seleccione la Fuente de datos que desea configurar
  3. Haga clic en el botón Habilitar auditoría
  4. Haga clic en Continuar

Para Configurar Opciones de Auditoría Completa para una Fuente de Datos

Para configurar las opciones de Auditoría completa para su fuente de datos:

  1. Vaya a App Workbench > haga clic en el ficha Fuentes de datos
  2. Seleccione la Fuente de datos que desea configurar
  3. Haga clic en el botón Auditar configuración
  4. Realice los cambios necesarios y haga clic en Guardar

Habilitar Auditoría Completa para una Tabla

La auditoría completa está habilitada en las tablas de forma predeterminada para las fuentes de datos que la tienen habilitada. Los pasos se proporcionan 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 de forma predeterminada. El Vinyl inserta un VinylAuditRefId columna a todas las tablas para acomodar los datos de auditoría.

Si es necesario, puede desactivar la auditoría completa para tablas individuales que no deben auditarse. Para deshabilitar la auditoría completa en una tabla, haga clic manualmente en el botón Desactivar auditoría completa en el nivel de la tabla. Además, es posible que deba eliminar el VinylAuditRefID columna para cualquier tabla que no tenga una clave principal UUID de una sola parte. Es una buena práctica revisar y limpiar también las reglas de migración para evitar la creación y eliminación del VinylAuditRefID columna.

Clave Principal UUID de una Sola Parte

Para una tabla con una clave principal UUID de una sola parte, habilitar la auditoría completa es simple:

  1. Vaya a App Workbench
  2. Haga clic en el ficha Tablas
  3. Ubique la tabla en la que desea habilitar la auditoría completa y haga clic en el ícono de edición de lápiz.
  4. En el panel Tabla, haga clic en Más > Edge Case > Habilitar auditoría completa

Si desea desactivar la auditoría completa en una tabla, siga las instrucciones anteriores hasta el paso 3, haga clic en Edge Case y luego haga clic en el botón Desactivar auditoría completa.

Otras Configuraciones de Clave Principal

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

  1. Vaya a App Workbench
  2. Localice la tabla en la que desea habilitar la auditoría completa desde Tablas
  3. Haga clic en el ícono de edición del lápiz de la tabla.
  4. Haga clic en + Columna en el panel Columnas para agregar una nueva columna con las siguientes propiedades:

    1. Tipo: UUID.
    2. Permitir nulos: True
    3. Autogenerar: True
    4. Nombre: AuditID (este nombre puede ser el que quieras)
  5. Cree una nueva Regla de migración para completar la columna de sus registros existentes.

    1. Propósito: Migration
    2. Acción: Update
    3. Seleccione y oriente su tabla de arriba
    4. Utilice la función MvSQL NewUUID() como valor de su columna AuditID
  6. Ejecutar la regla de migración

  7. Vuelva a los detalles de la columna y configure lo siguiente:

    1. Permitir nulos: False
    2. Columna Uso Tipo: Audit
  8. Navegue hasta la tabla y haga clic en Más > Edge Case > Habilitar auditoría completa, Continuar. El Vinyl proporciona un mensaje de éxito cuando se completa la tarea.

Habilitar Auditoría Completa en una Página

Para que los usuarios puedan ver los registros de auditoría completos, el panel de la página debe habilitar el Enlace de auditoría:

  1. Navegue hasta la página en la que desea habilitar la visualización de auditoría completa.
  2. Vaya al Cajón de acciones > Live Designer
  3. Seleccione el panel en Diseño de panel de página.
  4. Desde la región Live Edit a la derecha, haga clic en la pestaña Integrado
  5. Marque para habilitar Mostrar auditoría
  6. Regrese a la vista de la aplicación, actualice el navegador web y confirme que ve los resultados esperados.

Seguridad

Para acceder al registro de auditoría completa, el usuario debe:

  • Pertenecer al menos a uno de los siguientes roles:

    • Vinyl - rol de administradores
    • Vinyl - 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 propia fila.

Poblando la Línea de Base

La auditoría completa permite completar una línea de base para todos los registros en las 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 se duplicará (por lo que es seguro ejecutarlo varias veces si es necesario).

  1. Vaya a Cajón de acciones > IDE > Configuraciones adicionales
  2. Haga clic en el botón Rellenar registros de auditoría
  3. Ubique la fuente de datos de su aplicación
  4. Haga clic en el botón Rellenar todo en la fuente de datos o Rellenar en tablas individuales.
  5. Haga clic en Continuar; esto iniciará una tarea en segundo plano que se ejecutará.