Subsistema de auditoría
En el subsistema de auditoría se proporciona una capacidad de auditoría integrada para los administradores del sistema, administradores de aplicaciones y auditores de una solución de IoT de una organización. Por defecto, el subsistema de auditoría está desactivado cuando se inicia la plataforma. Se debe activar.
El subsistema de auditoría está pensado para proporcionar la información que se necesita para responder a las siguientes preguntas:
¿Se cumplen los requisitos de conformidad?
¿Qué ha hecho un empleado no autorizado en el sistema?
¿Quién realizó los cambios, cuáles y cuándo?
* 
Es importante recordar que el registro de auditoría no está pensado para ser otro registro de depuración. En el registro de auditoría se proporciona información sobre quién realizó los cambios, cuándo y cualquier otra información que se necesite capturar por motivos de conformidad.
La versión inicial del subsistema de auditoría formaba parte de ThingWorx Platform v.8.2.0. Esta versión se conoce como implementación de tabla de datos. A partir de ThingWorx Platform, v.9.0.0, también está disponible otra implementación, denominada implementación de persistencia directa, para el subsistema de auditoría. La implementación de la persistencia directa es una implementación completamente nueva en la que se proporciona una herramienta de auditoría más sólida y eficaz. Para la compatibilidad con versiones anteriores, la implementación de tabla de datos es la implementación por defecto que se utiliza al activar el subsistema de auditoría. Se puede cambiar a la implementación de persistencia directa al configurar el subsistema de auditoría.
* 
PTC recomienda encarecidamente utilizar la implementación de persistencia directa porque la implementación de tabla de datos quedará obsoleta en una versión futura de ThingWorx Platform. Además, el servicio QueryAuditHistory quedará obsoleto y se reemplazará por el servicio QueryAuditHistoryWithQueryCriteria.
Si antes se utilizaba la implementación de tabla de datos, los datos se conservan al realizar una actualización. Después de la actualización, se recomienda archivar los datos de auditoría en línea antes de cambiar a la implementación de persistencia directa.
En las siguientes secciones se proporcionan detalles sobre las actividades que se auditan, así como las funciones del subsistema de auditoría para las dos implementaciones. Pulse en el título de una sección para mostrar su contenido. Para ocultar el contenido, vuelva a pulsar en el título.
Funciones del subsistema de auditoría, implementación de tabla de datos 
La implementación de tabla de datos soporta las siguientes capacidades de auditoría:
Búsqueda de entradas de auditoría
Archivado de entradas de auditoría en línea para el almacenamiento fuera de línea
Exportación de datos de auditoría en línea y fuera de línea, utilizando el idioma seleccionado para la exportación.
Depuración de datos de auditoría en línea y limpieza de datos de auditoría archivados (fuera de línea)
Cuando se activa el subsistema de auditoría y se selecciona la opción Inicio automático, el subsistema se inicia cuando se inicia ThingWorx Platform y se detiene cuando se detiene la plataforma.
A partir de ThingWorx Platform v.8.5, el subsistema hace una auditoría del cambio de contexto de seguridad de un usuario a otro, así como del contexto de elevación de seguridad a superusuario. Para obtener más información, consulte Auditoría del cambio del contexto de seguridad .
* 
Para las organizaciones que deben recopilar y conservar grandes cantidades de datos de auditoría, se recomienda encarecidamente la implementación de persistencia directa para obtener el máximo rendimiento y funciones adicionales.
Por defecto, el subsistema está desactivado para una nueva instalación o una actualización. Además, la implementación de tabla de datos está activada y la implementación de persistencia directa está desactivada.
Si el usuario es administrador del sistema y ha activado el subsistema de auditoría, puede cambiar la configuración del subsistema de auditoría para cambiar de la implementación de tabla de datos a la implementación de persistencia directa. Consulte Configuración del subsistema de auditoría.
Subsistema de auditoría en ThingWorx Platform, persistencia directa 
En la implementación de persistencia directa se proporcionan todas las funciones de auditoría de la implementación de tabla de datos y más. Con la adición de esta implementación en ThingWorx Platform v.9.0.0, el subsistema de auditoría presenta cambios significativos que proporcionan las siguientes mejoras en el rendimiento y la escalabilidad:
La persistencia de los datos de auditoría utiliza el proveedor de persistencia de ThingWorx Platform. Esta implementación se puede utilizar con bases de datos de PostgreSQL o MSSQL que se utilizan como proveedores de persistencia para instancias de ThingWorx Platform.
* 
No es posible cambiar la configuración del proveedor de persistencia de la plataforma a través de la página de configuración del subsistema de auditoría.
La realización de consultas es más eficaz.
La realización de consultas se puede configurar para adaptarse a las necesidades y los casos de uso de las diferentes organizaciones. Los servicios de consulta aceptan tokens de localización para el parámetro de categoría de una consulta.
El uso de una base de datos en la implementación de persistencia directa mejora la capacidad de consulta. Además del filtrado y la clasificación, que están disponibles en la implementación de tabla de datos, se pueden especificar propiedades de paginación al utilizar los servicios QueryAuditHistory y QueryAuditDataWithQueryCriteria con la implementación de persistencia directa.
* 
Los servicios QueryAuditHistory y QueryAuditHistoryWithQueryCriteria no realizan ninguna verificación de visibilidad. Todo está visible para los usuarios que tienen permisos para ejecutar este servicio. Se puede ejecutar un servicio de consulta directamente desde la página Servicios del subsistema de auditoría. También se puede ejecutar una consulta indirectamente mediante el registro de auditoría, que está disponible a través de Supervisión en la interfaz de usuario de ThingWorx Composer. Los usuarios con acceso adecuado pueden ejecutar el servicio manualmente desde ThingWorx Composer. Los desarrolladores de pueden utilizar las API de REST de ThingWorx para ejecutar el servicio mediante programación.
Hay otro servicio QueryAuditHistory disponible en el nivel de cosa. Este servicio restringe los datos consultados a únicamente la cosa y usuario actuales. Si el usuario que ejecuta este servicio está en el grupo Auditors, el usuario puede ver las acciones de todos los demás usuarios, pero solo para esa cosa.
* 
El grupo de usuarios Auditors está disponible a partir de ThingWorx Platform v.9.0.0.
Además del servicio ExportAuditData, la implementación de persistencia directa proporciona el servicio ExportOnlineAuditData. Para obtener más información sobre este servicio, consulte el tema Exportación de datos de auditoría en línea.
La implementación de persistencia directa también proporciona una opción de almacenamiento menos costosa que la implementación de tabla de datos con el servicio ArchiveAuditHistoryDirectPersistence[DATETIME[). Este servicio copia las entradas de auditoría de la base de datos de ThingWorx en un fichero del almacén de ficheros configurado para los datos de auditoría, en la carpeta AuditArchiveDirectPersistence.
El subsistema de auditoría puede soportar clientes con necesidades de datos de auditoría grandes y pequeñas. Se proporciona orientación sobre cómo configurar el subsistema, en función de las necesidades específicas de retención de datos. Consulte el tema Configuración del subsistema de auditoría.
Se proporciona una categoría para realizar el seguimiento de la ejecución de los servicios del subsistema de auditoría, denominada AUDIT.
El subsistema tiene mensajes de auditoría adicionales para las categorías. Para obtener más información acerca de los mensajes de auditoría para la implementación de persistencia directa, consulte el tema Mensajes de auditoría de ThingWorx.
Si el conjunto de categorías de auditoría que se proporciona en el subsistema no cumple todos los requisitos de la organización, los desarrolladores pueden crear categorías de auditoría y mensajes personalizados. Consulte Categorías de auditoría personalizadas .
SOLO BETA: La implementación de persistencia directa también mejora la usabilidad del subsistema de auditoría al proporcionar una nueva interfaz de usuario en ThingWorx Composer para consultar los datos de auditoría. Disponible como una ficha en la sección Supervisión de Composer, en esta nueva interfaz de usuario se proporcionan opciones de filtrado para las consultas, así como opciones de paginación para los resultados de la consulta.
Los registros de auditoría pueden contener datos confidenciales. Para garantizar la integridad de los datos de auditoría, asegúrese de limitar el acceso mediante las funciones de permisos de ThingWorx. Para obtener más información, consulte Seguridad de las actividades de auditoría.
¿Qué actividades se auditan? 
Ambas implementaciones supervisan los eventos que generan en ThingWorx Platform los distintos componentes y extensiones. Las actividades, como la transferencia de ficheros mediante el subsistema de ficheros de la plataforma, pueden generar eventos. Es posible que el usuario desee suscribirse a estos eventos y utilizarlos para activar otras acciones.
La auditoría existe para los siguientes tipos de eventos integrados en ThingWorx:
Eventos relacionados con cosas: FileTransfer y RemoteSession
* 
A partir de ThingWorx Platform v.9.0.0, el evento ThingStart está desactivado por defecto. Para activarlo, edite el fichero de configuración platform-settings.json. Si se activa, el evento se audita.
Eventos de supervisión de seguridad: LoginSucceeded, LoginFailed, ApplicationKeySucceeded y ApplicationKeyFailed. Además, se audita la conmutación de contexto de seguridad.
* 
Los eventos ApplicationKeySucceeded y ApplicationKeyFailed solo se activan para las conexiones HTTP/HTTPS de REST.
Eventos del subsistema: se auditan las actualizaciones de la configuración de un subsistema. Además, las llamadas a servicios de auditoría como, por ejemplo, archivar, exportar, limpiar y depurar, se auditan en la categoría AUDIT.
* 
Las acciones de inicio, detención y reinicio en los subsistemas no se auditan.
Normalmente, una operación en una entidad de ThingWorx activa los siguientes eventos:
Los eventos relacionados con cosas se activan mediante operaciones que se pueden realizar en cosas, como la transferencia de ficheros mediante el subsistema de transferencia de ficheros y la tunelización (evento RemoteSession).
Los eventos de supervisión de seguridad son para los usuarios que acceden a ThingWorx.
Personalización de la funcionalidad de auditoría 
La función de auditoría personalizada tiene los siguientes componentes:
Categoría de auditoría personalizada
Mensaje de auditoría personalizado
Evento de auditoría personalizado
Hay dos maneras de crear una categoría de auditoría personalizada y un token de mensaje de auditoría personalizado:
Crear una nueva extensión back-end de Java para la plataforma mediante ThingWorx Java SDK. Consulte Creación de categorías de auditoría personalizadas mediante una extensión. La extensión debe incluir una tabla de localización para que, al importar la extensión en ThingWorx Platform, se importe la tabla de localización con el token de categoría de auditoría y el token de mensaje de auditoría añadidos.
En el caso de una categoría de auditoría personalizada, modificar la tabla de localización de ThingWorx mediante ThingWorx Composer. Consulte Categorías de auditoría personalizadas .
Los eventos de auditoría personalizados se deben definir en el código para la extensión porque son necesarios dos aspectos. Estos aspectos no se exponen en la interfaz de usuario de Composer, lo que significa que no se puede añadir un evento personalizado desde Composer. Estos aspectos indican a la plataforma que el evento se debe auditar. En la siguiente figura se realzan estos dos aspectos:
¿Fue esto útil?