Seguridad
En ThingWorx se proporciona un modelo de seguridad muy granular. Hay dos conjuntos de permisos, uno para la fase de diseño y otro para el tiempo de ejecución. Los permisos de fase de diseño sirven para gestionar quién tiene permitido modificar el modelo (crear, leer, actualizar y borrar entidades), mientras que los permisos de tiempo de ejecución determinan quién puede acceder a datos, ejecutar servicios y activar eventos en una cosa (incluye tablas de datos, flujos y usuarios). Los controles de seguridad y los permisos se encuentran en la sección Seguridad y los menús de Composer.
Para cada permiso, se puede permitir explícitamente a un usuario o grupo realizar alguna acción. Por ejemplo, editar una cosa o denegar explícitamente a un grupo la posibilidad de realizar algo, como no permitir a un grupo de usuarios editar una cosa. Se pueden aplicar permisos en el nivel de grupo y en el nivel de usuario. Una denegación explícita de un permiso sustituye siempre una concesión de permiso. Se debe tener en cuenta que las verificaciones de seguridad están definidas por defecto para no permitir una operación. Si no se ha realizado una concesión específica a un usuario, se denegará la operación.
Los permisos de fase de diseño son para operaciones CRUD (creación, lectura, escritura y borrado) estándar en cualquier entidad. De este modo, se controla la definición del modelo y quién puede realizar cambios en el modelo. Estos permisos se pueden aplicar a entidades individuales (leer, actualizar o borrar una cosa específica, definición de cosa, definición de datos, etc.) o se pueden aplicar ampliamente a una recopilación completa de entidades (crear, leer, actualizar o borrar cosas, definiciones de cosa, definiciones de datos, etc.). Si se aplican permisos a la recopilación, se pueden sustituir, añadir o reducir los permisos en el nivel de entidad individual.
Los permisos de tiempo de ejecución se aplican a todos los aspectos de entidad, como la lectura de propiedad, escritura de propiedad, ejecución de eventos y ejecución de servicios. Las sustituciones del permiso de tiempo de ejecución permiten la reducción de permisos sobre aspectos específicos, como propiedades, servicios o eventos.
Se pueden definir permisos de tiempo de ejecución en una cosa, una plantilla de cosa o un nivel de recopilación. Una recopilación es un grupo de cosas o plantillas de cosa, y los permisos de una recopilación los heredan todos sus elementos. También se pueden definir permisos de tiempo de ejecución y de fase de diseño en el nivel de plantilla de cosa individual y todas las cosas derivadas de la plantilla de cosa heredarán esta configuración. Todos los permisos heredados se pueden sustituir en el nivel de cosa individual.
Las entidades abstractas del modelo no tienen permisos de tiempo de ejecución. En estas entidades se incluyen las definiciones de cosa, las definiciones de datos y los grupos.
* 
Si los usuarios/grupos correspondientes no existen antes de importar desde ThingworxStorage en el servidor de destino, las recopilaciones no se escriben según lo previsto. Para garantizar que los permisos se importan correctamente, se deben crear los usuarios y grupos en ThingWorx. Cree una exportación de los usuarios y grupos, impórtela y luego importe el resto del modelo.
* 
Los permisos de nivel de recopilación (cosas, plantillas de cosa, registros, etc.) se exportan o importan solo cuando se exporta a ThingworxStorage o se importa desde ThingworxStorage. Si se importa o exporta desde un fichero, los permisos de nivel de recopilación solo se aplican en el nivel de entidad.