Visibilità nelle organizzazioni
La visibilità è una forma di controllo di accesso. Se un'entità è visibile ai membri di un'unità organizzativa, tali membri hanno accesso in lettura all'entità. Il modello di protezione granulare sottostante determina il tipo di interazione specifica che un utente appartenente a quell'unità organizzativa può stabilire con un asset specifico. Se a un utente del sistema non è concessa la visibilità, quell'asset non esiste nel dominio dell'utente. L'utente non può visualizzare o elencare l'asset, né interrogare il relativo namespace.
In ThingWorx è possibile definire le regole di visibilità per rendere oggetti specifici visibili per una sola organizzazione o per consentire la visibilità di più organizzazioni allo stesso asset. Un'organizzazione è costituita da unità organizzative.
Visibilità di default
Per default, a un utente non amministrativo è concessa solo la visibilità alle entità da lui stesso create.
Concedere visibilità
Per concedere i permessi di visibilità alle entità per gli utenti non amministrativi, creare un'organizzazione o un'unità organizzativa che includa l'utente o gli utenti. Una volta creata, è necessario concedere all'organizzazione o all'unità organizzativa i permessi di visibilità.
Questa operazione può essere eseguita ai livelli seguenti.
Livello di raccolta che applica le impostazioni di visibilità a tutti i membri della raccolta.
Livello di entità singolo (ad es. Distributore automatico VM101).
Livello di istanza (applicabile solo ai modelli di oggetto). Le impostazioni di visibilità a livello di istanza rimangono inalterate per qualsiasi oggetto che derivi dal modello di oggetto specifico.
È possibile aggiungere la visibilità tramite l'interfaccia utente o i servizi API REST (ad eccezione della raccolta ThingPackages, come descritto nella sezione successiva).
Quando la visibilità di un asset viene concessa a livelli inferiori nella gerarchia dell'organizzazione, viene concessa automaticamente ai livelli superiori. Ad esempio, se a un operatore di linea viene concessa visibilità per la propria linea, a un supervisore per tutte le linee nella gerarchia dell'organizzazione viene concessa automaticamente visibilità degli asset per i quali è concessa visibilità all'operatore subordinato.
Il modello di rollup presenta un'eccezione che prevede che la visibilità di un asset sia concessa a un'intera organizzazione. Quando si aggiunge un'intera organizzazione, la visibilità dell'entità viene assegnata all'organizzazione e a tutte le relative unità secondarie.
Concessione della visibilità a un'unità organizzativa
Nell'esempio seguente viene creata una nuova organizzazione con unità organizzative e utenti associati. La visibilità viene quindi applicata all'unità organizzativa.
1. Creare una nuova organizzazione. In questo esempio è denominata Example Org. Fare clic su Salva.
2. Fare clic sulla vista Organizzazione. Il nome del livello radice di default è Unit 1. Aggiungere utenti a questa unità, poiché non è possibile aggiungerli all'esterno di un'unità organizzativa.
3. Rinominare Unit 1. In questo esempio è denominata RootLevelDefault.
4. Creare un'unità organizzativa figlio di RootLevelDefault facendo clic sull'icona del segno più. In questo esempio è denominata SubLevel. Fare clic su Salva.
5. Fare clic su Permessi e assegnare visibilità selezionando RootLevelDefault.
* 
Se si assegna visibilità al nome dell'organizzazione, in questo esempio Example Org, l'intera organizzazione otterrà i permessi di visibilità (in modo analogo al permesso a livello di raccolta). L'immagine seguente mostra entrambe le opzioni. Nella prima riga è indicato che l'intera organizzazione dispone del permesso di visibilità. Nella seconda che l'unità organizzativa dispone dei permessi di visibilità.
Concedere visibilità alla raccolta ThingPackages
È possibile concedere visibilità alla raccolta ThingPackages solo tramite l'API REST. Non è disponibile alcuna opzione di interfaccia utente.
Utilizzare il servizio AddCollectionVisibilityPermissions della risorsa CollectionFunctions. I parametri di input identificano l'utente/gruppo/ruolo per il quale si desidera concedere la visibilità.
Ad esempio, per concedere la visibilità a tutti coloro che fanno parte dell'organizzazione, si dovrebbero utilizzare i parametri di input principal = Everyone, principalType = Organization e collectionName = ThingPackages.
Per default, solo gli utenti amministratori possono creare i servizi SQL Query e SQL Command per un oggetto che implementa un modello di oggetto del database. Per consentire agli utenti non amministratori di eseguire questa funzione, è necessario concedere permessi aggiuntivi alla raccolta ThingPackages. Per concedere questi permessi, attenersi alla procedura descritta di seguito.
1. In Composer passare a Sistema > Risorse.
2. Selezionare la risorsa CollectionFunctions.
3. Selezionare Servizi.
4. Selezionare il servizio AddCollectionRunTimePermission.
5. Eseguire il servizio con i parametri seguenti:
collectionName - ThingPackages
type - ServiceInvoke
resource - * o un elemento in particolare
principal - Name of User or Group
principalType - User or Group
Allow - True
Configurazione della visibilità per un asset
Prima di configurare le organizzazioni, è necessario definire utenti e gruppi.
1. Nel Navigatore aprire l'oggetto o l'entità.
2. Fare clic su Permessi.
3. In Visibilità selezionare l'organizzazione appropriata.
4. Fare clic su Salva.
* 
Per eliminare un'unità organizzativa da un'organizzazione, fare clic sull'icona di eliminazione accanto all'unità.
Per eliminare il diritto di visibilità, selezionare l'organizzazione, fare clic sulla casella di controllo, quindi su Rimuovi.
È possibile accedere ai set di permessi della fase di esecuzione e della fase di progettazione anche in alto nella pagina, dove vengono controllati i permessi di visibilità.
Configurazione della visibilità dell'istanza
La visibilità dell'istanza è valida solo per i modelli di oggetto e la visibilità impostata a questo livello viene ereditata da tutte le entità che utilizzano il modello di oggetto specifico.
1. Nel Navigatore aprire la sezione Modelli di oggetto.
2. Individuare e selezionare il modello di interesse.
3. Fare clic su Permessi nella barra dei menu.
4. Sotto Visibilità fare clic su Cerca organizzazioni nella casella di riepilogo Organizzazioni.
5. Fare clic sulla selezione avanzata e selezionare l'organizzazione appropriata.
6. Fare clic su Salva.