Seguridad de las actividades de auditoría
Las actividades de ThingWorx Platform tienen lugar en el contexto de un usuario, en particular el contexto de seguridad de un usuario. Un usuario puede ser una persona que invoca un servicio en una cosa o puede ser una instancia de ThingWorx Connection Server que acceda a la plataforma para enviar mensajes de entrada desde dispositivos periféricos. Ambos usuarios operan en un contexto de seguridad definido que consta de permisos asignados al usuario. Hay permisos para el tiempo de diseño y el tiempo de ejecución.
* 
Para obtener información sobre la auditoría de un conmutador en el contexto de seguridad, consulte Auditoría del cambio del contexto de seguridad .
Permisos de ThingWorx
La seguridad de las entidades de ThingWorx implica la definición de los siguientes permisos:
Permisos de la fase de diseño: permiten controlar qué grupos de usuarios y usuarios pueden crear, leer, actualizar y borrar entidades.
Permisos de tiempo de ejecución: permiten controlar qué grupos de usuarios y usuarios pueden acceder a datos, ejecutar servicios y activar eventos en una cosa, incluidas las tablas de datos, los flujos y los usuarios. Los permisos de tiempo de ejecución se pueden definir en una cosa, una plantilla de cosa o un nivel de recopilación de entidades. Las entidades abstractas, las definiciones de cosa, las definiciones de datos y los grupos de usuarios del modelo no tienen permisos de tiempo de ejecución.
Permisos de visibilidad: permiten definir qué organización y unidades organizativas tienen acceso para ver una entidad. Si los miembros de una organización o de una unidad organizativa no tienen acceso de visibilidad, no pueden ver la entidad en la lista de entidades ni en los resultados de la búsqueda. Tampoco se les puede asignar permisos de lectura, escritura, suscripción ni otros, dentro de los derechos de visibilidad.
Casos de uso y permisos necesarios
Entre los casos de uso, lo que los usuarios necesitan ver y los permisos que requieren, se incluyen los siguientes:
Los usuarios que deban ver todas las entradas de auditoría, del mismo modo que un administrador, se deben añadir al grupo de usuarios creado siguiendo los pasos que se indican en la siguiente sección, Permisos para que los usuarios que no son administradores ejecuten servicios de auditoría.
Los usuarios que deban ver todas las entradas de auditoría asociadas a una cosa concreta se deben añadir al grupo de usuarios Auditores y se les debe conceder permisos en tiempo de ejecución para el servicio QueryAuditHistory de la cosa, así como los permisos de visibilidad y tiempo de ejecución de la cosa.
Los usuarios que deban ver solo las entradas de auditoría dentro del contexto de usuario deben tener permisos de tiempo de ejecución para el servicio QueryAuditHistory de la cosa, así como permisos de tiempo de ejecución y visibilidad para la cosa.
Para ThingWorx Platform v.9.0.0, se ha añadido un grupo de usuarios denominado "Auditores" para asignar permisos a los usuarios no administrativos. Para obtener más información, consulte la siguiente sección.
Permisos para grupos de usuarios administradores y auditores
Por defecto, los usuarios del grupo de administradores tienen permisos completos para todo en ThingWorx, incluido el subsistema de auditoría, sus servicios y los datos. Por defecto, los usuarios del grupo de auditores pueden ver las entradas de auditoría que otros usuarios creen al ejecutar el servicio QueryAuditHistiory en una cosa. Para los usuarios y grupos de usuarios que no son administradores, los administradores deben conceder la capacidad de invocar los servicios que proporciona el subsistema de auditoría mediante sustituciones de servicio. Para obtener detalles sobre cómo utilizar las sustituciones de servicio, consulte Sustituciones de servicio.
Por defecto, los usuarios del grupo de administradores tienen permisos para las siguientes entidades relacionadas con el subsistema de auditoría:
Subsistema de auditoría, que es un objeto del sistema que expone los siguientes servicios en ambas implementaciones:
Ejecución de servicios: QueryAuditHistory se ejecuta en el subsistema de auditoría.
Ejecución de servicios: ArchiveAuditHistory
Ejecución de servicios: ExportAuditData
Ejecución de servicios: CleanupOfflineAudit
Ejecución de servicios: GetAuditEntryCount
Ejecución de servicios: PurgeAuditData
Ejecución de servicios: ExportOnlineAuditData
Ejecución de servicios: ArchiveAuditHistoryDirectPersistence
Ejecución de servicios: QueryAuditHistoryWithQueryCriteria
Ejecución de servicios: QueryAuditHistory se ejecuta en una cosa.
AuditArchiveFileRepository, que es el almacén de ficheros del subsistema de auditoría que se utiliza para los archivos de auditoría. El almacén, que se crea al iniciarse el subsistema, tiene un directorio para la implementación activa en ese momento. Si se cambia de una implementación a otra, se conservan los datos de auditoría de la implementación activa previamente y se crea un nuevo directorio para la implementación activa en este momento. La estructura del almacén tiene un aspecto similar al siguiente en una instalación en la que ambas implementaciones han estado activas:
En función de la implementación activa, uno de los dos programadores para archivar los datos de auditoría:
AuditArchiveScheduler, que es una cosa Scheduler que controla el archivado automatizado de entradas de auditoría para la implementación de tabla de datos.
AuditArchiveSchedulerDirectPersistence, que es una cosa Scheduler que controla el archivado automatizado de entradas de auditoría para la implementación de persistencia directa.
AuditPurgeScheduler, que es una cosa Scheduler que controla la depuración automática de entradas de auditoría en línea.
AuditArchiveCleanupScheduler, que programa la limpieza de los ficheros de datos de auditoría archivados fuera de línea.
AuditArchiveCleanupNotificationScheduler, que envía notificaciones de recordatorio de la limpieza.
Permisos necesarios para usuarios que no son administradores
En la siguiente tabla se muestran los permisos que se pueden conceder a los usuarios que no son administradores en un grupo de usuarios para que puedan acceder a estas entidades del subsistema de auditoría.
* 
Asegúrese de no conceder a los usuarios que no son administradores el permiso para editar objetos en tiempo de diseño. Los administradores no deben editar objetos del sistema en tiempo de diseño. Si se editan en tiempo de diseño, se corre el riesgo de perder los cambios realizados durante una actualización.
Permisos necesarios para auditar entidades de un grupo de usuarios que no son administradores
Entidad
Permisos para un grupo de usuarios que no son administradores
Subsistema de auditoría
Para permitir que usuarios y grupos de usuarios que no son administradores invoquen los servicios QueryAuditHistory, QueryAuditHistoryWithQueryCriteria, ArchiveAuditHistory, ExportAuditData, ExportOnlineAuditData, CleanupOfflineAudit, PurgeAuditData, GetAuditEntryCount y ArchiveAuditHistoryDirectPersistence:
Subsistema de auditoría: Tiempo de diseño > Leer.
Subsistema de auditoría: Tiempo de ejecución > Sustituciones de propiedades, servicios o eventos. Defina una sustitución de servicio para cada servicio que desee que los usuarios del grupo puedan invocar y añada un valor de Ejecución de servicios para cada servicio.
AuditArchiveFileRepository
Los permisos para AuditArchiveFileRepository del subsistema de auditoría no se deben conceder a los usuarios o grupos de usuarios que no son administradores.
AuditArchiveScheduler (implementación de tabla de datos)
Los usuarios del grupo de administradores deben tener acceso a esta cosa del programador. La cosa del programador tiene una propiedad, denominada lastArchivedTime, que se actualiza después de cada ejecución correcta de una operación de archivo. Aunque sea posible, esta propiedad nunca debe actualizarla un usuario, sea o no sea administrador. Por este motivo (y otros que pueda tener la organización), se recomienda que no se conceda a los usuarios que no son administradores acceso al programador.
AuditArchiveSchedulerDirectPersistence
Los usuarios del grupo de administradores deben tener acceso a esta cosa del programador. La cosa del programador tiene una propiedad, denominada lastArchivedTimeDirectPersistence, que se actualiza después de cada ejecución correcta de una operación de archivo. Aunque sea posible, esta propiedad nunca debe actualizarla un usuario, sea o no sea administrador. Por este motivo (y otros que pueda tener la organización), se recomienda que no se conceda a los usuarios que no son administradores acceso al programador.
AuditPurgeScheduler
Solo los usuarios del grupo de administradores deben tener acceso a esta cosa de programador. Se recomienda que no se conceda a los usuarios que no son administradores acceso a este programador.
AuditArchiveCleanupScheduler
Solo los usuarios del grupo de administradores deben tener acceso a esta cosa de programador. Se recomienda que no se conceda a los usuarios que no son administradores acceso a este programador.
AuditArchiveCleanupNotificationScheduler
Para que los usuarios que no son administradores ejecuten la notificación del servicio de limpieza:
AuditArchiveCleanupNotificationScheduler: Tiempo de diseño > Leer
AuditArchiveCleanupNotificationScheduler: Tiempo de ejecución > Sustituciones de propiedades, servicios o eventos. Defina una sustitución de servicio para este servicio (Ejecución de servicios).
En general, para permitir que los usuarios que no son administradores en un grupo de usuarios invoquen servicios del subsistema de auditoría, se debe crear un grupo de usuarios y se le deben conceder los siguientes permisos:
Subsistema de auditoría: permisos de visibilidad
Subsistema de auditoría: permisos de tiempo de diseño (permitir lectura)
Permisos de tiempo de ejecución del subsistema de auditoría: se debe definir una sustitución de servicio para cada servicio que desee que los usuarios del grupo puedan invocar y permitir la ejecución de servicios.
En la siguiente tabla se enumeran los permisos que se deben conceder a las entidades para permitir que un servicio se invoque en ellas en el subsistema de auditoría:
Permisos para que los usuarios que no son administradores ejecuten servicios de auditoría
Servicio
Tipo de entidad
Nombre de entidad
Visibilidad
Tiempo de diseño
Tiempo de ejecución
QueryAuditHistory
Subsistema
AuditSubsystem
Leer
Servicio. QueryAuditHistory: ejecución de servicios
Definición de datos
AuditHistory
Leer
QueryAuditHistoryWithQueryCriteria
Subsistema
AuditSubsystem
Leer
Servicio. QueryAuditHistoryWithQueryCriteria: ejecución de servicios
Definición de datos
AuditHistory
Leer
ArchiveAuditHistory
Subsistema
AuditSubsystem
Leer
Servicio ArchiveAuditHistory: ejecución de servicios
Cosa
AuditArchiveScheduler
Ninguno
Propiedad LastArchiveTime: lectura y escritura de propiedad
ArchiveAuditHistoryDirectPersistence
Subsistema
Subsistema de auditoría
Leer
Servicio ArchiveAuditHistory-DirectPersistence: ejecución de servicios
Cosa
AuditArchiveSchedulerDirectPersistence
Ninguno
Propiedad LastArchiveTimeDirectPersistence: lectura y escritura de propiedad
ExportAuditData
Subsistema
AuditSubsystem
Leer
Servicio ExportAuditData: ejecución de servicios
Cosa
AuditArchiveScheduler
Ninguno
Propiedad LastArchivedTime: lectura y escritura de propiedad
Cosa
<Almacén de ficheros creado por el usuario>
Ninguno
Todos los servicios: ejecución de servicios
ExportOnlineAuditData
Subsistema
AuditSubsystem
Leer
Servicio ExportOnlineAuditData: ejecución de servicios
Cosa
<Almacén de ficheros creado por el usuario>
Ninguno
Todos los servicios: ejecución de servicios
CleanupOfflineAudit
Subsistema
AuditSubsystem
Leer
Servicio CleanupOfflineAudit: ejecución de servicios
Cosa
AuditArchiveCleanupScheduler
Ninguno
Propiedad DaysToArchive: lectura y escritura de propiedad
Cosa
AuditArchiveCleanupNotificationScheduler
Ninguno
Lectura y escritura de propiedad
Cosa
<Almacén de ficheros creado por el usuario>
Ninguno
Todos los servicios: ejecución de servicios
PurgeAuditData
Subsistema
AuditSubsystem
Leer
Servicio PurgeAuditData: ejecución de servicios
Cosa
AuditPurgeScheduler
Ninguno
Lectura y escritura de propiedad
GetAuditEntryCount
Subsistema
AuditSubsystem
Leer
Servicio GetAuditEntryCount: ejecución de servicios
¿Fue esto útil?