Visibilidad en las organizaciones
La visibilidad es una forma de control de acceso. Si una entidad está visible para los miembros de una unidad organizativa, estos miembros tienen permiso de lectura para la entidad. El modelo de seguridad granular subyacente determina qué interacción específica pueden tener los usuarios que son miembros de dicha unidad organizativa con un activo específico. Si a un usuario del sistema no se le ha concedido visibilidad, ese activo no existe dentro del dominio de dicho usuario. El usuario no puede ver el activo, incluirlo en una lista ni interrogar su espacio de nombres.
En ThingWorx, es posible definir las reglas de visibilidad para realizar acciones específicas solo visibles para una sola organización o para permitir que varias organizaciones tengan visibilidad al mismo activo. Una organización se compone de unidades de organización.
Visibilidad por defecto
Por defecto, a un usuario que no es administrador solo se le concede visibilidad a entidades que ha creado él mismo.
Concesión de visibilidad
Para conceder permisos de visibilidad sobre entidades a usuarios que no son administradores, se debe crear una organización o unidad organizativa que contenga el o los usuarios. Una vez creada la organización, se deben conceder permisos de visibilidad a la organización o la unidad organizativa.
Esto se puede realizar en los siguientes niveles:
El nivel de recopilación que aplica la configuración de visibilidad a todos los miembros de la recopilación.
El nivel de entidad individual (por ejemplo, la máquina expendedora VM101).
El nivel de instancia (solo se aplica a plantillas de cosa). La configuración de visibilidad de instancia permanece intacta para cualquier cosa derivada de dicha plantilla de cosa.
Es posible añadir visibilidad a través de la interfaz de usuario o con los servicios de API de REST (excepto la recopilación de ThingPackages, tal como se describe en la siguiente sección).
Cuando la visibilidad a un activo se concede a los niveles inferiores de la jerarquía de la organización, se conceden automáticamente los niveles superiores. Por ejemplo, si a un operador de línea se le concede visibilidad para su línea, a un supervisor de todas las líneas de la jerarquía de la organización se le concede automáticamente visibilidad para los activos para los que se concede visibilidad al operador subordinado.
Hay una excepción al modelo acumulativo: conceder visibilidad para un activo a toda una organización. Cuando se añade una organización completa, se asigna a la organización y a todas sus subunidades visibilidad a esa entidad.
Concesión de visibilidad a una unidad organizativa
En el siguiente ejemplo, se crea una nueva organización con unidades organizativas y usuarios asociados. A continuación, se aplica visibilidad a la unidad organizativa.
1. Cree una nueva organización. En este ejemplo, se denomina Example Org. Pulse en Guardar.
2. Pulse en la vista Organización. El nombre del nivel raíz por defecto es Unit 1. Añada usuarios a esta unidad, ya que no se pueden añadir fuera de una unidad de organización.
3. Cambie el nombre de Unit 1. En este ejemplo, se denomina RootLevelDefault.
4. Pulse en el icono de signo más para crear una unidad de organización hija de RootLevelDefault. En este ejemplo, se denomina SubLevel. Pulse en Guardar.
5. Pulse en Permisos y asigne visibilidad seleccionando RootLevelDefault.
* 
Si se asigna visibilidad al nombre de la organización, Example Org en este ejemplo, toda la organización obtendrá permisos de visibilidad (similares al permiso de nivel de recopilación). En la siguiente imagen se muestran ambas opciones. En la primera fila se muestra que toda la organización tiene permiso de visibilidad. En la segunda fila se muestra que la unidad organizativa tiene permisos de visibilidad.
Concesión de visibilidad a la recopilación ThingPackages
Se puede conceder visibilidad a la recopilación ThingPackages mediante la API de REST. No existe la opción de interfaz de usuario.
Utilice el servicio AddCollectionVisibilityPermissions del recurso CollectionFunctions. Los parámetros de entrada identifican el principal al que el usuario desea conceder visibilidad.
Por ejemplo, para conceder visibilidad a la organización Everyone, se utilizan los siguientes parámetros de entrada: principal = Everyone, principalType = Organization y collectionName = ThingPackages.
Por defecto, solo los usuarios administradores pueden crear servicios de consulta SQL y comando SQL para una cosa que implemente una plantilla de cosa de base de datos. Se deben conceder permisos adicionales sobre la recopilación de ThingPackages para permitir que los usuarios que no son administradores realicen esta función. Para conceder estos permisos, siga estos pasos:
1. En Composer, vaya a Sistema > Recursos.
2. Seleccione el recurso CollectionFunctions.
3. Seleccione Servicios.
4. Seleccione el servicio AddCollectionRunTimePermission.
5. Ejecute el servicio con los siguientes parámetros:
collectionName - ThingPackages
type - ServiceInvoke
resource - * or something specific
principal - Name of User or Group
principalType - User or Group
Allow - True
Configuración de la visibilidad de un activo
Los usuarios y grupos deben definirse antes de que las organizaciones se puedan configurar.
1. En el Explorador, abra la cosa o entidad.
2. Pulse en Permisos.
3. En Visibilidad, seleccione la organización que corresponda.
4. Pulse en Guardar.
* 
Para borrar una unidad de organización de una organización, pulse en el icono de borrado junto a la unidad.
Para borrar la visibilidad, seleccione la organización, pulse en la casilla y, a continuación, pulse en Quitar.
Los conjuntos de permisos de tiempo de ejecución y fase de diseño también están accesibles en la parte superior de la página donde se controlan los permisos de visibilidad.
Configuración de visibilidad de instancias
La visibilidad de instancias se aplica solo a plantillas de cosa y la visibilidad definida en este nivel la heredan las entidades que utilizan la plantilla de cosa.
1. En el Explorador, abra la sección Plantillas de cosa.
2. Localice y seleccione la plantilla de interés.
3. Pulse en Permisos de la barra de menús.
4. En Visibilidad, pulse en Search Organizations en el cuadro de lista.
5. Pulse en la varita mágica y seleccione la organización adecuada.
6. Pulse en Guardar.